diff --git a/README.TXT b/README.TXT
index 77e824b..dd9887d 100644
--- a/README.TXT
+++ b/README.TXT
@@ -1,23 +1,34 @@
 This repository contains projects that wrap APP4MC features into REST based services.
 
-- org.eclipse.app4mc.converter.cloud
+- org.eclipse.app4mc.cloud.migration
   Provides the APP4MC Model Migration as a service.
   The project is based on OSGi enRoute Maven archetypes and uses JAX-RS Whiteboard.
   It is recommended to use bndtools for best development experience.
   You can build the standalone product by executing "mvn clean verify" in the root directory.
   - Pre-Requisite: The Maven build needs to consume the APP4MC Migration JARs from a Maven repository. As right now APP4MC does not publish to Maven Central, you need to build
     APP4MC Migration to install into the local repository via "mvn clean install" before running the cloud service build.
-  The build result is located in org.eclipse.app4mc.converter.cloud/converter-app/target/converter-app.jar
+  The build result is located in org.eclipse.app4mc.cloud.migration/migration-app/target/migration-app.jar
   
-- org.eclipse.app4mc.validation.cloud
+- org.eclipse.app4mc.cloud.validation
   Provides the APP4MC Validation as a service.
-  The project is based on PDE and uses the HTTP Whiteboard because of implicit dependencies to the Eclipse Runtime and Extension Points.
+  The project is based on OSGi enRoute Maven archetypes and uses JAX-RS Whiteboard.
+  It is recommended to use bndtools for best development experience.
   You can build the standalone product by executing "mvn clean verify" in the root directory.
-  The build result is located in org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.product/target/products
-  The server port can be changed in the eclipse.ini file.
+  - Pre-Requisite: The Maven build needs to consume the APP4MC Model and Validation JARs from a Maven repository. As right now APP4MC does not publish to Maven Central, you need to build
+    APP4MC Platform to install into the local repository via "mvn clean install" before running the cloud service build.
+  The build result is located in org.eclipse.app4mc.cloud.validation/validation-app/target/validation-app.jar
   
+- org.eclipse.app4mc.cloud.amlt2systemc
+  Provides the APP4MC AMLT2SystemC transformation as a service.
+  The project is based on OSGi enRoute Maven archetypes and uses JAX-RS Whiteboard.
+  It is recommended to use bndtools for best development experience.
+  You can build the standalone product by executing "mvn clean verify" in the root directory.
+  - Pre-Requisite: The Maven build needs to consume the APP4MC Model, Transformation and Amlt2SystemC JARs from a Maven repository. As right now APP4MC does not publish to Maven Central, you need to build
+    APP4MC Platform, APP4MC Transformation and APP4MC Amlt2SystemC to install into the local repository via "mvn clean install" before running the cloud service build.
+  The build result is located in org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/target/amlt2systemc-app.jar
+
 - manager
   Spring Boot application to manage a complete workflow to process an Amalthea model.
   It is recommended to use Spring Toolsuite for best development experience.
   The server can be started from the Toolsuite in the Boot Dashboard or by executing "mvn spring-boot:run" on the command line.
-  The server port can be changed in manager/src/main/resources/application.properties.
\ No newline at end of file
+  The server port can be changed in manager/app4mc-cloud-manager-app/src/main/resources/application.properties.
\ No newline at end of file
diff --git a/TODO.txt b/TODO.txt
index 1748d54..7880579 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -3,27 +3,3 @@
 1. Persistence of service configuration
 The configuration of services in the manager admin panel should be persisted in a database.
 Additionally the docker configuration needs to be extended to have a volume for the database that lives longer than a container.
-
-2. Service selection
-Currently the service selection in the manager form is implemented as checkboxes. This way it is not possible to define an
-execution order. This should be changed to a combobox design. So all available services are available in a combobox. After
-selecting a service in a combobox, another combobox should appear containing all configured services. This way a user can
-select the service to execute and the order in which the services should be executed.
-
-3. Configuration resource
-There should be a configuration resource for each service that provides information about the possible parameters of the service.
-For example it could be possible to specify a version to migrate to in the converter service, and the validation service
-needs a configuration which validation profiles should be used. Based on this information the corresponding form parameters
-should be added in the manager form on selecting a service.
-
-4. Asynchronous service execution
-Currently the services are executed synchronously when the manager form is submitted. This should be changed to asynchronous
-execution to avoid timeouts for long running operations, e.g. for big model files. The update of the UI with the progress
-massages should be updated frequently, maybe using AJAX and/or websockets.
-
-5. Configuration via YAML
-Additionally to the manager workflow form UI it should be possible to trigger the workflow processing directly by providing
-an additional YAML configuration file. This allows the integration of the cloud service workflow in a CI/CD environment.
-
-6. Proxy configuration
-Add an administration UI to be able to configure a proxy server
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index c153d97..25be0cd 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,19 +1,26 @@
 version: "3.8"
 services:
-  converter:
+  migration:
     build:
-      context: ./org.eclipse.app4mc.converter.cloud
-    container_name: app4mc_cloud_converter
+      context: ./org.eclipse.app4mc.cloud.migration
+    container_name: app4mc_cloud_migration
     ports:
       - "8080:8080"
     
   validation:
     build:
-      context: ./org.eclipse.app4mc.validation.cloud
+      context: ./org.eclipse.app4mc.cloud.validation
     container_name: app4mc_cloud_validation
     ports:
       - "8181:8181"
     
+  transformation:
+    build:
+      context: ./org.eclipse.app4mc.cloud.amlt2systemc
+    container_name: app4mc_cloud_amlt2systemc
+    ports:
+      - "8282:8282"
+    
   manager:
     build:
       context: ./manager
diff --git a/manager/app4mc-cloud-manager-app/src/main/java/org/eclipse/app4mc/cloud/manager/WorkflowController.java b/manager/app4mc-cloud-manager-app/src/main/java/org/eclipse/app4mc/cloud/manager/WorkflowController.java
index 8143b30..3c1c622 100644
--- a/manager/app4mc-cloud-manager-app/src/main/java/org/eclipse/app4mc/cloud/manager/WorkflowController.java
+++ b/manager/app4mc-cloud-manager-app/src/main/java/org/eclipse/app4mc/cloud/manager/WorkflowController.java
@@ -209,9 +209,16 @@
 			selectService("app4mc_sim", ws);
 			selectService("inchron_btf_visualization", ws);
 			
+			// enable "APP4MC.sim Validations"
+			ServiceConfiguration configuration = ws.getConfiguration("validation");
+			ServiceConfigurationParameter parameter = configuration.getParameter("profiles");
+			if (parameter != null) {
+				parameter.setValue("APP4MC.sim Validations");
+			}
+			
 			// add default configuration to avoid timeout in simulation
-			ServiceConfiguration configuration = ws.getConfiguration("app4mc_sim");
-			ServiceConfigurationParameter parameter = configuration.getParameter("timeout");
+			configuration = ws.getConfiguration("app4mc_sim");
+			parameter = configuration.getParameter("timeout");
 			parameter.setValue("-1");
 		} else if ("rtc".equals(selected)) {
 			selectService("migration", ws);
diff --git a/manager/app4mc-cloud-manager-app/src/main/java/org/eclipse/app4mc/cloud/manager/administration/ApplicationConfig.java b/manager/app4mc-cloud-manager-app/src/main/java/org/eclipse/app4mc/cloud/manager/administration/ApplicationConfig.java
index fa2a403..432d7ee 100644
--- a/manager/app4mc-cloud-manager-app/src/main/java/org/eclipse/app4mc/cloud/manager/administration/ApplicationConfig.java
+++ b/manager/app4mc-cloud-manager-app/src/main/java/org/eclipse/app4mc/cloud/manager/administration/ApplicationConfig.java
@@ -73,7 +73,7 @@
 		}
 		
 		if (definitions.isEmpty()) {
-			definitions.add(new CloudServiceDefinition("migration", "Migration", "http://localhost:8080/app4mc/converter/", "Model Migration Service"));
+			definitions.add(new CloudServiceDefinition("migration", "Migration", "http://localhost:8080/app4mc/migration/", "Model Migration Service"));
 			definitions.add(new CloudServiceDefinition("validation", "Validation", "http://localhost:8181/app4mc/validation/", "Model Validation Service"));
 		}
         
diff --git a/manager/app4mc-cloud-manager-app/src/main/resources/services.txt b/manager/app4mc-cloud-manager-app/src/main/resources/services.txt
index 75505f1..ae70dde 100644
--- a/manager/app4mc-cloud-manager-app/src/main/resources/services.txt
+++ b/manager/app4mc-cloud-manager-app/src/main/resources/services.txt
@@ -1,12 +1,9 @@
-migration;Migration;http://localhost:8080/app4mc/converter/
+migration;Migration;http://localhost:8080/app4mc/migration/
 validation;Validation;http://localhost:8181/app4mc/validation/
 rtc_analysis;RTC Analysis;http://localhost:8081/app4mc/analysis/
-rtc_interpreter;RTC Evaluation;http://localhost:8082/app4mc/interpreter/rtc/;Converts the results of a RTC Analysis into an input for the Chart Visualizer;false
-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;false
-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;false
-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;false
-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;false
-chart_visualizer;Chart Visualizer;http://localhost:8083/app4mc/visualization/barchart/;Visualization of interpreter results;false
+rtc_interpreter;RTC Evaluation;http://localhost:8082/app4mc/interpreter/rtc/
+label_interpreter;Label Evaluation;http://localhost:8084/app4mc/interpreter/labels/
+chart_visualizer;Chart Visualizer;http://localhost:8083/app4mc/visualization/
 amlt2inchron;Amalthea -> INCHRON;https://am2inc.dev1.inchron.de/projects;Transforms an Amalthea model to an INCHRON model;false
 amlt2systemc;Amalthea -> SystemC;http://localhost:8282/app4mc/amlt2systemc/
 app4mc_sim;APP4MC.Sim;http://139.30.201.29:2323/app4mc/simulation/;Executes simulation and generates a BTF traces;false
diff --git a/manager/app4mc-cloud-manager-app/src/main/resources/services_mirror.txt b/manager/app4mc-cloud-manager-app/src/main/resources/services_mirror.txt
new file mode 100644
index 0000000..13cecb3
--- /dev/null
+++ b/manager/app4mc-cloud-manager-app/src/main/resources/services_mirror.txt
@@ -0,0 +1,11 @@
+migration;Migration;https://cloud.panorama-research.org/app4mc/migration/
+validation;Validation;https://cloud.panorama-research.org/app4mc/validation/
+rtc_analysis;RTC Analysis;https://cloud.panorama-research.org/app4mc/analysis/
+rtc_interpreter;RTC Evaluation;https://cloud.panorama-research.org/app4mc/interpreter/rtc/
+model_analysis;Model Analysis;https://cloud.panorama-research.org/app4mc/interpreter/labels/
+optimization;Model Optimization;https://cloud.panorama-research.org/app4mc/optimization/waters2019/;Design Space Exploration Service for optimizing Software to Hardware Deployments
+chart_visualizer;Chart Visualizer;https://cloud.panorama-research.org/app4mc/visualization/
+amlt2inchron;Amalthea -> INCHRON;https://am2inc.dev1.inchron.de/projects;Transforms an Amalthea model to an INCHRON model;false
+amlt2systemc;Amalthea -> SystemC;https://cloud.panorama-research.org/app4mc/amlt2systemc/
+app4mc_sim;APP4MC.Sim;http://139.30.201.29:2323/app4mc/simulation/;Executes simulation and generates a BTF traces;false
+inchron_btf_visualization;INCHRON BTF Trace Visualization;https://trace.dev1.inchron.de/traces/;Visualization of trace data provided by INCHRON;false
diff --git a/manager/app4mc-cloud-manager-app/src/main/resources/services_online.txt b/manager/app4mc-cloud-manager-app/src/main/resources/services_online.txt
index d2f7d5a..6efb4ae 100644
--- a/manager/app4mc-cloud-manager-app/src/main/resources/services_online.txt
+++ b/manager/app4mc-cloud-manager-app/src/main/resources/services_online.txt
@@ -1,12 +1,9 @@
-migration;Migration;https://app4mc.eclipseprojects.io/app4mc/converter/
+migration;Migration;https://app4mc.eclipseprojects.io/app4mc/migration/
 validation;Validation;https://app4mc.eclipseprojects.io/app4mc/validation/
 rtc_analysis;RTC Analysis;https://app4mc.eclipseprojects.io/app4mc/analysis/
-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;false
-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;false
-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;false
-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;false
-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;false
-chart_visualizer;Chart Visualizer;https://app4mc.eclipseprojects.io/app4mc/visualization/barchart/;Visualization of interpreter results;false
+rtc_interpreter;RTC Evaluation;https://app4mc.eclipseprojects.io/app4mc/interpreter/rtc/
+label_interpreter;Label Evaluation;https://app4mc.eclipseprojects.io/app4mc/interpreter/labels/
+chart_visualizer;Chart Visualizer;https://app4mc.eclipseprojects.io/app4mc/visualization/
 amlt2inchron;Amalthea -> INCHRON;https://am2inc.dev1.inchron.de/projects;Transforms an Amalthea model to an INCHRON model;false
 amlt2systemc;Amalthea -> SystemC;https://app4mc.eclipseprojects.io/app4mc/amlt2systemc/
 app4mc_sim;APP4MC.Sim;http://139.30.201.29:2323/app4mc/simulation/;Executes simulation and generates a BTF traces;false
diff --git a/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_label_interpreter_mixed.json b/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_label_interpreter_mixed.json
index cec729a..cfecd45 100644
--- a/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_label_interpreter_mixed.json
+++ b/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_label_interpreter_mixed.json
@@ -4,22 +4,10 @@
     "migration" : { },
     "validation" : {
       "profiles" : "Amalthea Standard Validations",
-	  "label_core_chart" : {
-	    "label_core_interpreter" : { },
-		"chart_visualizer" : { }
-	  },
-	  "label_memory_chart" : {
-	    "label_memory_interpreter" : { },
-		"chart_visualizer" : { }
-	  },
-	  "label_task_chart" : {
-	    "label_task_interpreter" : { },
-		"chart_visualizer" : { }
-	  },
-	  "label_size_chart" : {
-	    "label_size_interpreter" : { },
-		"chart_visualizer" : { }
-	  }
+      "label_interpreter" : {
+        "label-metrics" : "Label-Per-Core,Label-Per-Task,Label-Per-Memory,Label-Per-Size",
+        "chart_visualizer" : { }
+      }
 	}
   }
 }
\ No newline at end of file
diff --git a/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_label_interpreter_tree.json b/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_label_interpreter_tree.json
index d48d4c7..48f1695 100644
--- a/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_label_interpreter_tree.json
+++ b/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_label_interpreter_tree.json
@@ -3,16 +3,8 @@
   "services" : {
     "migration" : {
       "validation" : {
-        "label_core_interpreter" : {
-          "chart_visualizer" : { }
-        },
-        "label_memory_interpreter" : {
-          "chart_visualizer" : { }
-        },
-        "label_task_interpreter" : {
-          "chart_visualizer" : { }
-        },
-        "label_size_interpreter" : {
+        "label_interpreter" : {
+          "label-metrics" : "Label-Per-Core,Label-Per-Task,Label-Per-Memory,Label-Per-Size",
           "chart_visualizer" : { }
         }
       }
diff --git a/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_services_mixed.json b/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_services_mixed.json
index 955d7fe..65d8d21 100644
--- a/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_services_mixed.json
+++ b/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_services_mixed.json
@@ -3,23 +3,11 @@
   "services" : {
     "migration" : { },
     "validation" : {
-      "profiles" : "Amalthea Standard Validations",
-	  "label_core_chart" : {
-	    "label_core_interpreter" : { },
-		"chart_visualizer" : { }
-	  },
-	  "label_memory_chart" : {
-	    "label_memory_interpreter" : { },
-		"chart_visualizer" : { }
-	  },
-	  "label_task_chart" : {
-	    "label_task_interpreter" : { },
-		"chart_visualizer" : { }
-	  },
-	  "label_size_chart" : {
-	    "label_size_interpreter" : { },
-		"chart_visualizer" : { }
-	  },
+      "profiles" : "Amalthea Standard Validations,APP4MC.sim Validations",
+      "label_interpreter" : {
+        "label-metrics" : "Label-Per-Core,Label-Per-Task,Label-Per-Memory,Label-Per-Size",
+        "chart_visualizer" : { }
+      },
 	  "rtc_analysis_chart" : {
         "rtc_analysis" : {
           "analysis-ignore-overutilization" : "true",
diff --git a/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_services_tree.json b/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_services_tree.json
index 558f89e..674ef96 100644
--- a/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_services_tree.json
+++ b/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/all_services_tree.json
@@ -3,6 +3,11 @@
   "services" : {
     "migration" : {
       "validation" : {
+        "profiles" : "APP4MC.sim Validations",
+        "label_interpreter" : {
+          "label-metrics" : "Label-Per-Core,Label-Per-Task,Label-Per-Memory,Label-Per-Size",
+          "chart_visualizer" : { }
+        },
         "label_core_interpreter" : {
           "chart_visualizer" : { }
         },
diff --git a/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/systemc_simulation_sequential.json b/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/systemc_simulation_sequential.json
index 95d3094..50fd81a 100644
--- a/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/systemc_simulation_sequential.json
+++ b/manager/app4mc-cloud-manager-app/src/main/resources/static/example_configurations/systemc_simulation_sequential.json
@@ -1,12 +1,14 @@
 {
-  "name" : "Sequential Workflow",
+  "name" : "SystemC Simulation - Sequential Workflow",
   "services" : {
     "migration" : { },
-    "validation" : { },
-    "label_core_interpreter" : {
-      "timeout" : "360000",
-	  "deleteResult" : "true"
-	},
-	"chart_visualizer" : { }
+    "validation" : {
+      "profiles" : "APP4MC.sim Validations"
+    },
+    "amlt2systemc" : { },
+    "app4mc_sim" : {
+      "timeout" : "-1"
+    },
+    "inchron_btf_visualization" : { }
   }
 }
\ No newline at end of file
diff --git a/manager/app4mc-cloud-manager-app/src/main/resources/static/examples/FMTV2019.amxmi b/manager/app4mc-cloud-manager-app/src/main/resources/static/examples/FMTV2019.amxmi
new file mode 100644
index 0000000..6cd46e5
--- /dev/null
+++ b/manager/app4mc-cloud-manager-app/src/main/resources/static/examples/FMTV2019.amxmi
@@ -0,0 +1,936 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<am:Amalthea xmlns:am="http://app4mc.eclipse.org/amalthea/1.1.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
+  <swModel>
+    <tasks name="OS_Overhead" stimuli="periodic_100ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="CallSequence" ordered="true">
+          <items xsi:type="am:RunnableCall" runnable="OS_Ops_Function?type=Runnable" />
+        </items>
+      </activityGraph>
+    </tasks>
+    <tasks name="Lidar_Grabber" stimuli="periodic_33ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="CallSequence" ordered="true">
+          <items xsi:type="am:RunnableCall" runnable="Lidar_Function?type=Runnable" />
+        </items>
+      </activityGraph>
+    </tasks>
+    <tasks name="DASM" stimuli="periodic_5ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="CallSequence" ordered="true">
+          <items xsi:type="am:RunnableCall" runnable="DASM_Function?type=Runnable" />
+        </items>
+      </activityGraph>
+    </tasks>
+    <tasks name="CANbus_polling" stimuli="periodic_10ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="CallSequence" ordered="true">
+          <items xsi:type="am:RunnableCall" runnable="CAN_Function?type=Runnable" />
+        </items>
+      </activityGraph>
+    </tasks>
+    <tasks name="EKF" stimuli="periodic_15ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="CallSequence" ordered="true">
+          <items xsi:type="am:RunnableCall" runnable="EKF_Function?type=Runnable" />
+        </items>
+      </activityGraph>
+    </tasks>
+    <tasks name="Planner" stimuli="periodic_15ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="CallSequence" ordered="true">
+          <items xsi:type="am:RunnableCall" runnable="Planner_Function?type=Runnable" />
+        </items>
+      </activityGraph>
+    </tasks>
+    <tasks name="PRE_SFM_gpu_POST" stimuli="periodic_33ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="CallSequence" ordered="true">
+          <items xsi:type="am:RunnableCall" runnable="SFM_Preprocessing?type=Runnable" />
+          <items xsi:type="am:InterProcessTrigger" stimulus="SFM_stim?type=InterProcessStimulus" />
+          <items xsi:type="am:WaitEvent" waitingBehaviour="active">
+            <eventMask events="SFM?type=OsEvent" />
+          </items>
+          <items xsi:type="am:ClearEvent">
+            <eventMask events="SFM?type=OsEvent" />
+          </items>
+          <items xsi:type="am:RunnableCall" runnable="SFM_Postprocessing?type=Runnable" />
+        </items>
+      </activityGraph>
+    </tasks>
+    <tasks name="PRE_Localization_gpu_POST" stimuli="periodic_400ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="CallSequence" ordered="true">
+          <items xsi:type="am:RunnableCall" runnable="Localization_Preprocessing?type=Runnable" />
+          <items xsi:type="am:InterProcessTrigger" stimulus="Localization_stim?type=InterProcessStimulus" />
+          <items xsi:type="am:WaitEvent" waitingBehaviour="active">
+            <eventMask events="Localization_GPU?type=OsEvent" />
+          </items>
+          <items xsi:type="am:ClearEvent">
+            <eventMask events="Localization_GPU?type=OsEvent" />
+          </items>
+          <items xsi:type="am:RunnableCall" runnable="Localization_Postprocessing?type=Runnable" />
+        </items>
+      </activityGraph>
+    </tasks>
+    <tasks name="PRE_Lane_detection_gpu_POST" stimuli="periodic_66ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="CallSequence" ordered="true">
+          <items xsi:type="am:RunnableCall" runnable="Lane_Detection_Preprocessing?type=Runnable" />
+          <items xsi:type="am:InterProcessTrigger" stimulus="Lane_detection_stim?type=InterProcessStimulus" />
+          <items xsi:type="am:WaitEvent" waitingBehaviour="active">
+            <eventMask events="Lane_detect_GPU?type=OsEvent" />
+          </items>
+          <items xsi:type="am:ClearEvent">
+            <eventMask events="Lane_detect_GPU?type=OsEvent" />
+          </items>
+          <items xsi:type="am:RunnableCall" runnable="Lane_Detection_Postprocessing?type=Runnable" />
+        </items>
+      </activityGraph>
+    </tasks>
+    <tasks name="PRE_Detection_gpu_POST" stimuli="periodic_200ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="CallSequence" ordered="true">
+          <items xsi:type="am:RunnableCall" runnable="Detection_Preprocessing?type=Runnable" />
+          <items xsi:type="am:InterProcessTrigger" stimulus="detection_stim?type=InterProcessStimulus" />
+          <items xsi:type="am:WaitEvent" waitingBehaviour="active">
+            <eventMask events="Detect?type=OsEvent" />
+          </items>
+          <items xsi:type="am:ClearEvent">
+            <eventMask events="Detect?type=OsEvent" />
+          </items>
+          <items xsi:type="am:RunnableCall" runnable="Detection_Postprocessing?type=Runnable" />
+        </items>
+      </activityGraph>
+    </tasks>
+    <tasks name="SFM" stimuli="SFM_stim?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="CallSequence" ordered="true">
+          <items xsi:type="am:RunnableCall" runnable="SFM_host_to_device?type=Runnable" />
+          <items xsi:type="am:RunnableCall" runnable="SFM_Function?type=Runnable" />
+          <items xsi:type="am:RunnableCall" runnable="SFM_device_to_host?type=Runnable" />
+          <items xsi:type="am:SetEvent" process="PRE_SFM_gpu_POST?type=Task">
+            <eventMask events="SFM?type=OsEvent" />
+          </items>
+        </items>
+      </activityGraph>
+    </tasks>
+    <tasks name="Localization" stimuli="Localization_stim?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="CallSequence" ordered="true">
+          <items xsi:type="am:RunnableCall" runnable="Localization_host_to_device?type=Runnable" />
+          <items xsi:type="am:RunnableCall" runnable="Localization_Function?type=Runnable" />
+          <items xsi:type="am:RunnableCall" runnable="Localization_device_to_host?type=Runnable" />
+          <items xsi:type="am:SetEvent" process="PRE_Localization_gpu_POST?type=Task">
+            <eventMask events="Localization_GPU?type=OsEvent" />
+          </items>
+        </items>
+      </activityGraph>
+    </tasks>
+    <tasks name="Lane_detection" stimuli="Lane_detection_stim?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="CallSequence" ordered="true">
+          <items xsi:type="am:RunnableCall" runnable="Lane_Detection_host_to_device?type=Runnable" />
+          <items xsi:type="am:RunnableCall" runnable="Lane_Detection_Function?type=Runnable" />
+          <items xsi:type="am:RunnableCall" runnable="Lane_Detection_device_to_host?type=Runnable" />
+          <items xsi:type="am:SetEvent" process="PRE_Lane_detection_gpu_POST?type=Task">
+            <eventMask events="Lane_detect_GPU?type=OsEvent" />
+          </items>
+        </items>
+      </activityGraph>
+    </tasks>
+    <tasks name="Detection" stimuli="detection_stim?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="CallSequence" ordered="true">
+          <items xsi:type="am:RunnableCall" runnable="Detection_host_to_device?type=Runnable" />
+          <items xsi:type="am:RunnableCall" runnable="Detection_Function?type=Runnable" />
+          <items xsi:type="am:RunnableCall" runnable="Detection_device_to_host?type=Runnable" />
+          <items xsi:type="am:SetEvent" process="PRE_Detection_gpu_POST?type=Task">
+            <eventMask events="Detect?type=OsEvent" />
+          </items>
+        </items>
+      </activityGraph>
+    </tasks>
+    <runnables name="OS_Ops_Function" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="100000000" upperBound="100000000" average="1.0E8" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="100000000" upperBound="100000000" average="1.0E8" />
+          </extended>
+        </items>
+      </activityGraph>
+    </runnables>
+    <runnables name="Lidar_Function" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Cloud_map_host?type=Label" access="read" />
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="19588000" upperBound="21736000" average="2.034807E7" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="20320000" upperBound="27320000" average="2.352E7" />
+          </extended>
+        </items>
+        <items xsi:type="am:LabelAccess" data="Cloud_map_host?type=Label" access="write" />
+        <items xsi:type="am:LabelAccess" data="Occupancy_grid_host?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="CAN_Function" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="799744" upperBound="1199744" average="999744.0" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="799360" upperBound="1199360" average="999360.0" />
+          </extended>
+        </items>
+        <items xsi:type="am:LabelAccess" data="Vehicle_status_host?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="EKF_Function" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Vehicle_status_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="x_car_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="y_car_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="yaw_car_host?type=Label" access="read" />
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="8179736" upperBound="8858959" average="8398959.0" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="7959340" upperBound="9519340" average="8799340.0" />
+          </extended>
+        </items>
+        <items xsi:type="am:LabelAccess" data="x_car_host?type=Label" access="write" />
+        <items xsi:type="am:LabelAccess" data="y_car_host?type=Label" access="write" />
+        <items xsi:type="am:LabelAccess" data="yaw_car_host?type=Label" access="write" />
+        <items xsi:type="am:LabelAccess" data="vel_car?type=Label" access="write" />
+        <items xsi:type="am:LabelAccess" data="yaw_rate?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="Planner_Function" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Lane_boundaries_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="Occupancy_grid_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="Vehicle_status_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="Matrix_SFM_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="Bounding_box_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="x_car_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="y_car_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="yaw_car_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="vel_car?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="yaw_rate?type=Label" access="read" />
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="19073529" upperBound="24873529" average="2.0273529E7" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="19243822" upperBound="26483822" average="2.2743822E7" />
+          </extended>
+        </items>
+        <items xsi:type="am:LabelAccess" data="speed_objective?type=Label" access="write" />
+        <items xsi:type="am:LabelAccess" data="steer_objective?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="DASM_Function" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="speed_objective?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="steer_objective?type=Label" access="read" />
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="2099996" upperBound="2599996" average="2399996.0" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="2599990" upperBound="3719990" average="3219990.0" />
+          </extended>
+        </items>
+        <items xsi:type="am:LabelAccess" data="speed_objective?type=Label" access="write" />
+        <items xsi:type="am:LabelAccess" data="steer_objective?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="Detection_Preprocessing" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Image_host?type=Label" access="read" />
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="4755924" upperBound="6354526" average="5853824.0" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6378560" upperBound="7379120" average="6921260.0" />
+          </extended>
+        </items>
+        <items xsi:type="am:LabelAccess" data="Image_host?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="Detection_Postprocessing" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Bounding_box_host?type=Label" access="read" />
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="1246000" upperBound="1816000" average="1416000.0" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="1640000" upperBound="2040000" average="1840000.0" />
+          </extended>
+        </items>
+        <items xsi:type="am:LabelAccess" data="Bounding_box_host?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="Localization_Function" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="553415742" upperBound="589615742" average="5.62615742E8" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="733039355" upperBound="774839355" average="7.54439355E8" />
+          </extended>
+          <extended key="GPU_def?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="175500000" upperBound="186000000" average="1.8E8" />
+          </extended>
+        </items>
+      </activityGraph>
+    </runnables>
+    <runnables name="Lane_Detection_Function" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="76875648" upperBound="84475648" average="8.0075648E7" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="95689120" upperBound="102089120" average="9.868912E7" />
+          </extended>
+          <extended key="GPU_def?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="36750000" upperBound="41000000" average="3.975E7" />
+          </extended>
+        </items>
+      </activityGraph>
+    </runnables>
+    <runnables name="Lane_Detection_Preprocessing" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Image_lane_lines_host?type=Label" access="read" />
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6151472" upperBound="7051367" average="6551424.0" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6573410" upperBound="7951921" average="7178560.0" />
+          </extended>
+        </items>
+        <items xsi:type="am:LabelAccess" data="Image_lane_lines_host?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="Lane_Detection_Postprocessing" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Lane_boundaries_host?type=Label" access="read" />
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="5999632" upperBound="8199496" average="7399142.0" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6999284" upperBound="8513680" average="7561630.0" />
+          </extended>
+        </items>
+        <items xsi:type="am:LabelAccess" data="Lane_boundaries_host?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="SFM_Function" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:Ticks">
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="48274300" upperBound="59003000" average="5.377531E7" />
+          </extended>
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="44363022" upperBound="55623380" average="4.953413E7" />
+          </extended>
+          <extended key="GPU_def?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="10575000" upperBound="11850000" average="1.08E7" />
+          </extended>
+        </items>
+      </activityGraph>
+    </runnables>
+    <runnables name="SFM_Preprocessing" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Image_SFM_host?type=Label" access="read" />
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="5151424" upperBound="6355142" average="5751424.0" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="5878560" upperBound="7459318" average="6977531.0" />
+          </extended>
+        </items>
+        <items xsi:type="am:LabelAccess" data="Image_SFM_host?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="SFM_Postprocessing" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Matrix_SFM_host?type=Label" access="read" />
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="5669568" upperBound="7064516" average="6363125.0" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6773920" upperBound="8347392" average="7213436.0" />
+          </extended>
+        </items>
+        <items xsi:type="am:LabelAccess" data="Image_SFM_host?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="Localization_Preprocessing" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Cloud_map_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="Vehicle_status_host?type=Label" access="read" />
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6031488" upperBound="16431488" average="9231488.0" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6278720" upperBound="17878720" average="1.107872E7" />
+          </extended>
+        </items>
+        <items xsi:type="am:LabelAccess" data="Cloud_map_host?type=Label" access="write" />
+        <items xsi:type="am:LabelAccess" data="Vehicle_status_host?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="Localization_Postprocessing" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="x_car_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="y_car_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="yaw_car_host?type=Label" access="read" />
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6199994" upperBound="12599994" average="8399994.0" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="8399985" upperBound="17399985" average="1.0599985E7" />
+          </extended>
+        </items>
+        <items xsi:type="am:LabelAccess" data="x_car_host?type=Label" access="write" />
+        <items xsi:type="am:LabelAccess" data="y_car_host?type=Label" access="write" />
+        <items xsi:type="am:LabelAccess" data="yaw_car_host?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="Detection_host_to_device" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Image_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="Image_device?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="Detection_device_to_host" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Bounding_box_device?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="Bounding_box_host?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="Lane_Detection_host_to_device" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Image_lane_lines_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="Image_lane_lines_device?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="Lane_Detection_device_to_host" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Lane_boundaries_device?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="Lane_boundaries_host?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="SFM_host_to_device" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="IMU_data_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="Image_SFM_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="Image_SFM_device?type=Label" access="write" />
+        <items xsi:type="am:LabelAccess" data="IMU_data_device?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="SFM_device_to_host" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Matrix_SFM_device?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="Matrix_SFM_host?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="Localization_host_to_device" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="Cloud_map_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="Vehicle_status_host?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="Cloud_map_device?type=Label" access="write" />
+        <items xsi:type="am:LabelAccess" data="Vehicle_status_device?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="Localization_device_to_host" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:LabelAccess" data="x_car_device?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="y_car_device?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="yaw_car_device?type=Label" access="read" />
+        <items xsi:type="am:LabelAccess" data="x_car_host?type=Label" access="write" />
+        <items xsi:type="am:LabelAccess" data="y_car_host?type=Label" access="write" />
+        <items xsi:type="am:LabelAccess" data="yaw_car_host?type=Label" access="write" />
+      </activityGraph>
+    </runnables>
+    <runnables name="Detection_Function" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:Ticks">
+          <extended key="GPU_def?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="162000000" upperBound="174000000" average="1.65E8" />
+          </extended>
+        </items>
+      </activityGraph>
+    </runnables>
+    <runnables name="AsyncOffloadingCosts" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:Ticks">
+          <extended key="Denver?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueConstant" value="5000" />
+          </extended>
+          <extended key="A57?type=ProcessingUnitDefinition">
+            <value xsi:type="am:DiscreteValueConstant" value="5000" />
+          </extended>
+        </items>
+      </activityGraph>
+    </runnables>
+    <labels name="Cloud_map_host" constant="false" bVolatile="false">
+      <size value="1500" unit="kB" />
+    </labels>
+    <labels name="Occupancy_grid_host" constant="false" bVolatile="false">
+      <size value="500" unit="kB" />
+    </labels>
+    <labels name="Cloud_map_device" constant="false" bVolatile="false">
+      <size value="1500" unit="kB" />
+    </labels>
+    <labels name="Vehicle_status_host" constant="false" bVolatile="false">
+      <size value="1" unit="kB" />
+    </labels>
+    <labels name="Vehicle_status_device" constant="false" bVolatile="false">
+      <size value="1" unit="kB" />
+    </labels>
+    <labels name="x_car_host" constant="false" bVolatile="false">
+      <size value="1" unit="kB" />
+    </labels>
+    <labels name="y_car_host" constant="false" bVolatile="false">
+      <size value="1" unit="kB" />
+    </labels>
+    <labels name="yaw_car_host" constant="false" bVolatile="false">
+      <size value="1" unit="kB" />
+    </labels>
+    <labels name="x_car_device" constant="false" bVolatile="false">
+      <size value="1" unit="kB" />
+    </labels>
+    <labels name="y_car_device" constant="false" bVolatile="false">
+      <size value="1" unit="kB" />
+    </labels>
+    <labels name="yaw_car_device" constant="false" bVolatile="false">
+      <size value="1" unit="kB" />
+    </labels>
+    <labels name="vel_car" constant="false" bVolatile="false">
+      <size value="1" unit="kB" />
+    </labels>
+    <labels name="yaw_rate" constant="false" bVolatile="false">
+      <size value="1" unit="kB" />
+    </labels>
+    <labels name="steer_objective" constant="false" bVolatile="false">
+      <size value="1" unit="kB" />
+    </labels>
+    <labels name="speed_objective" constant="false" bVolatile="false">
+      <size value="1" unit="kB" />
+    </labels>
+    <labels name="NN_weights" constant="false" bVolatile="false">
+      <size value="142" unit="MB" />
+    </labels>
+    <labels name="Matrix_SFM_host" constant="true" bVolatile="false">
+      <size value="24" unit="kB" />
+    </labels>
+    <labels name="Matrix_SFM_device" constant="true" bVolatile="false">
+      <size value="24" unit="kB" />
+    </labels>
+    <labels name="Image_lane_lines_host" constant="false" bVolatile="false">
+      <size value="2" unit="MB" />
+    </labels>
+    <labels name="Image_lane_lines_device" constant="false" bVolatile="false">
+      <size value="2" unit="MB" />
+    </labels>
+    <labels name="Bounding_box_host" constant="false" bVolatile="false">
+      <size value="750" unit="kB" />
+    </labels>
+    <labels name="Bounding_box_device" constant="false" bVolatile="false">
+      <size value="750" unit="kB" />
+    </labels>
+    <labels name="Image_host" constant="true" bVolatile="false">
+      <size value="2" unit="MB" />
+    </labels>
+    <labels name="Image_device" constant="true" bVolatile="false">
+      <size value="2" unit="MB" />
+    </labels>
+    <labels name="Image_SFM_host" constant="true" bVolatile="false">
+      <size value="2" unit="MB" />
+    </labels>
+    <labels name="Image_SFM_device" constant="true" bVolatile="false">
+      <size value="2" unit="MB" />
+    </labels>
+    <labels name="IMU_data_host" constant="false" bVolatile="false">
+      <size value="256" unit="B" />
+    </labels>
+    <labels name="IMU_data_device" constant="true" bVolatile="false">
+      <size value="256" unit="B" />
+    </labels>
+    <labels name="Lane_boundaries_host" constant="false" bVolatile="false">
+      <size value="256" unit="B" />
+    </labels>
+    <labels name="Lane_boundaries_device" constant="false" bVolatile="false">
+      <size value="256" unit="B" />
+    </labels>
+    <events name="Lane_detect_GPU" communicationOverheadInBit="0" />
+    <events name="Detect" communicationOverheadInBit="0" />
+    <events name="SFM" communicationOverheadInBit="0" />
+    <events name="Localization_GPU" communicationOverheadInBit="0" />
+  </swModel>
+  <hwModel>
+    <definitions xsi:type="am:ProcessingUnitDefinition" name="A57" puType="CPU" />
+    <definitions xsi:type="am:ProcessingUnitDefinition" name="Denver" puType="CPU" />
+    <definitions xsi:type="am:ProcessingUnitDefinition" name="GPU_def" puType="GPU" features="CudaCores/CudaCoreXSM_128?type=HwFeature SMs/SM_2?type=HwFeature" />
+    <definitions xsi:type="am:MemoryDefinition" name="LPDDR4" memoryType="DRAM">
+      <size value="8" unit="GB" />
+      <accessLatency xsi:type="am:DiscreteValueConstant" value="0" />
+    </definitions>
+    <definitions xsi:type="am:ConnectionHandlerDefinition" name="Interconnect" policy="RoundRobin" maxBurstSize="4" maxConcurrentTransfers="1" />
+    <definitions xsi:type="am:CacheDefinition" name="CPU_L2" cacheType="unified" writeStrategy="writeback" nWays="4" coherency="false" exclusive="false" hitRate="0.0">
+      <size value="2" unit="MB" />
+      <lineSize value="64" unit="B" />
+    </definitions>
+    <definitions xsi:type="am:CacheDefinition" name="GPU_L2" cacheType="data" writeStrategy="writeback" nWays="4" coherency="false" exclusive="false" hitRate="0.0">
+      <size value="512" unit="kB" />
+      <lineSize value="64" unit="B" />
+    </definitions>
+    <featureCategories name="CudaCores" description="" featureType="performance">
+      <features name="CudaCoreXSM_128" value="128.0" />
+    </featureCategories>
+    <featureCategories name="SMs" featureType="performance">
+      <features name="SM_2" value="2.0" />
+    </featureCategories>
+    <structures name="JetsonTX2" structureType="System">
+      <structures name="GPU island" structureType="Cluster">
+        <modules xsi:type="am:ProcessingUnit" name="GP10B" frequencyDomain="GPU_Domain?type=FrequencyDomain" definition="GPU_def?type=ProcessingUnitDefinition">
+          <ports name="P1" bitWidth="128" priority="0" portType="initiator" portInterface="custom" />
+          <accessElements name="GPUtoDRAM" destination="SYSTEM_DRAM?type=Memory">
+            <readLatency xsi:type="am:DiscreteValueConstant" value="5" />
+            <writeLatency xsi:type="am:DiscreteValueConstant" value="5" />
+            <dataRate value="20" unit="GBPerSecond" />
+          </accessElements>
+        </modules>
+        <modules xsi:type="am:Cache" name="L2_GP10B" frequencyDomain="GPU_Domain?type=FrequencyDomain" definition="GPU_L2?type=CacheDefinition" />
+      </structures>
+      <structures name="ARM island" structureType="Cluster">
+        <modules xsi:type="am:ProcessingUnit" name="Core2" frequencyDomain="A57_Domain?type=FrequencyDomain" definition="A57?type=ProcessingUnitDefinition">
+          <ports name="P1" bitWidth="64" priority="0" portType="initiator" portInterface="custom" />
+          <accessElements name="C2toDRAM" destination="SYSTEM_DRAM?type=Memory">
+            <readLatency xsi:type="am:DiscreteValueConstant" value="40" />
+            <writeLatency xsi:type="am:DiscreteValueConstant" value="40" />
+          </accessElements>
+        </modules>
+        <modules xsi:type="am:ProcessingUnit" name="Core3" frequencyDomain="A57_Domain?type=FrequencyDomain" definition="A57?type=ProcessingUnitDefinition">
+          <ports name="P1" bitWidth="64" priority="0" portType="initiator" portInterface="custom" />
+          <accessElements name="C3toDRAM" destination="SYSTEM_DRAM?type=Memory">
+            <readLatency xsi:type="am:DiscreteValueConstant" value="40" />
+            <writeLatency xsi:type="am:DiscreteValueConstant" value="40" />
+          </accessElements>
+        </modules>
+        <modules xsi:type="am:ProcessingUnit" name="Core4" frequencyDomain="A57_Domain?type=FrequencyDomain" definition="A57?type=ProcessingUnitDefinition">
+          <ports name="P1" bitWidth="64" priority="0" portType="initiator" portInterface="custom" />
+          <accessElements name="C4toDRAM" destination="SYSTEM_DRAM?type=Memory">
+            <readLatency xsi:type="am:DiscreteValueConstant" value="40" />
+            <writeLatency xsi:type="am:DiscreteValueConstant" value="40" />
+          </accessElements>
+        </modules>
+        <modules xsi:type="am:ProcessingUnit" name="Core5" frequencyDomain="A57_Domain?type=FrequencyDomain" definition="A57?type=ProcessingUnitDefinition">
+          <ports name="P1" bitWidth="64" priority="0" portType="initiator" portInterface="custom" />
+          <accessElements name="C5toDRAM" destination="SYSTEM_DRAM?type=Memory">
+            <readLatency xsi:type="am:DiscreteValueConstant" value="40" />
+            <writeLatency xsi:type="am:DiscreteValueConstant" value="40" />
+          </accessElements>
+        </modules>
+        <modules xsi:type="am:Cache" name="L2_A57" frequencyDomain="A57_Domain?type=FrequencyDomain" definition="CPU_L2?type=CacheDefinition" />
+      </structures>
+      <structures name="Denver island" structureType="Cluster">
+        <modules xsi:type="am:ProcessingUnit" name="Core0" frequencyDomain="Denver_Domain?type=FrequencyDomain" definition="Denver?type=ProcessingUnitDefinition">
+          <ports name="P1" bitWidth="64" priority="0" portType="initiator" portInterface="custom" />
+          <accessElements name="C0toDRAM" destination="SYSTEM_DRAM?type=Memory">
+            <readLatency xsi:type="am:DiscreteValueConstant" value="16" />
+            <writeLatency xsi:type="am:DiscreteValueConstant" value="16" />
+          </accessElements>
+        </modules>
+        <modules xsi:type="am:ProcessingUnit" name="Core1" frequencyDomain="Denver_Domain?type=FrequencyDomain" definition="Denver?type=ProcessingUnitDefinition">
+          <ports name="P1" bitWidth="64" priority="0" portType="initiator" portInterface="custom" />
+          <accessElements name="C1toDRAM" destination="SYSTEM_DRAM?type=Memory">
+            <readLatency xsi:type="am:DiscreteValueConstant" value="16" />
+            <writeLatency xsi:type="am:DiscreteValueConstant" value="16" />
+          </accessElements>
+        </modules>
+        <modules xsi:type="am:Cache" name="L2_Denver" frequencyDomain="Denver_Domain?type=FrequencyDomain" definition="CPU_L2?type=CacheDefinition" />
+      </structures>
+      <modules xsi:type="am:Memory" name="SYSTEM_DRAM" frequencyDomain="DRAM_eff_Freq?type=FrequencyDomain" definition="LPDDR4?type=MemoryDefinition">
+        <ports name="Mem_P1" bitWidth="128" priority="0" portType="responder" portInterface="AXI" />
+      </modules>
+      <modules xsi:type="am:ConnectionHandler" name="Intercon" frequencyDomain="DRAM_eff_Freq?type=FrequencyDomain" definition="Interconnect?type=ConnectionHandlerDefinition">
+        <ports name="Inter_P1" bitWidth="128" priority="0" portType="responder" portInterface="AXI" />
+        <ports name="Inter_P2" bitWidth="128" priority="0" portType="responder" portInterface="AXI" />
+        <ports name="Inter_P3" bitWidth="128" priority="0" portType="responder" portInterface="AXI" />
+        <ports name="Inter_P4" bitWidth="128" priority="0" portType="initiator" portInterface="AXI" />
+      </modules>
+    </structures>
+    <domains xsi:type="am:FrequencyDomain" name="A57_Domain" clockGating="false">
+      <defaultValue value="2.0" unit="GHz" />
+    </domains>
+    <domains xsi:type="am:FrequencyDomain" name="Denver_Domain" clockGating="false">
+      <defaultValue value="2.0" unit="GHz" />
+    </domains>
+    <domains xsi:type="am:FrequencyDomain" name="GPU_Domain" clockGating="false">
+      <defaultValue value="1.5" unit="GHz" />
+    </domains>
+    <domains xsi:type="am:FrequencyDomain" name="DRAM_eff_Freq" clockGating="false">
+      <defaultValue value="1.5" unit="GHz" />
+    </domains>
+  </hwModel>
+  <osModel>
+    <operatingSystems name="Sched_Cluster_A57">
+      <taskSchedulers name="Scheduler_A57">
+        <schedulingAlgorithm xsi:type="am:FixedPriorityPreemptive" />
+      </taskSchedulers>
+    </operatingSystems>
+    <operatingSystems name="GPU_Cluster">
+      <taskSchedulers name="GPU_Sched">
+        <schedulingAlgorithm xsi:type="am:UserSpecificSchedulingAlgorithm">
+          <parameterExtensions key="minimumTimeslice" value="1000 µs" />
+          <parameterExtensions key="maximumTimeslice" value="50000 µs" />
+        </schedulingAlgorithm>
+      </taskSchedulers>
+    </operatingSystems>
+    <operatingSystems name="Scheduling_Cluster_Denver">
+      <taskSchedulers name="Scheduler_Denver">
+        <schedulingAlgorithm xsi:type="am:FixedPriorityPreemptive" />
+      </taskSchedulers>
+    </operatingSystems>
+  </osModel>
+  <stimuliModel>
+    <stimuli xsi:type="am:InterProcessStimulus" name="SFM_stim" />
+    <stimuli xsi:type="am:InterProcessStimulus" name="Localization_stim" />
+    <stimuli xsi:type="am:InterProcessStimulus" name="detection_stim" />
+    <stimuli xsi:type="am:InterProcessStimulus" name="Lane_detection_stim" />
+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_5ms">
+      <recurrence value="5" unit="ms" />
+    </stimuli>
+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_10ms">
+      <recurrence value="10" unit="ms" />
+    </stimuli>
+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_12ms">
+      <recurrence value="12" unit="ms" />
+    </stimuli>
+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_15ms">
+      <recurrence value="15" unit="ms" />
+    </stimuli>
+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_33ms">
+      <recurrence value="33" unit="ms" />
+    </stimuli>
+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_66ms">
+      <recurrence value="66" unit="ms" />
+    </stimuli>
+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_100ms">
+      <recurrence value="100" unit="ms" />
+    </stimuli>
+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_200ms">
+      <recurrence value="200" unit="ms" />
+    </stimuli>
+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_400ms">
+      <recurrence value="400" unit="ms" />
+    </stimuli>
+  </stimuliModel>
+  <eventModel>
+    <events xsi:type="am:ProcessEvent" name="Lidar_Grabber" description="" eventType="start" entity="Lidar_Grabber?type=Task" />
+    <events xsi:type="am:ProcessEvent" name="Localization_CPU" description="" eventType="start" entity="PRE_Localization_gpu_POST?type=Task" />
+    <events xsi:type="am:ProcessEvent" name="EKF" description="" eventType="start" entity="EKF?type=Task" />
+    <events xsi:type="am:ProcessEvent" name="Planner" eventType="start" entity="Planner?type=Task" />
+    <events xsi:type="am:ProcessEvent" name="DASM" description="" eventType="start" entity="DASM?type=Task" />
+    <events xsi:type="am:ProcessEvent" name="CAN" eventType="start" entity="CANbus_polling?type=Task" />
+    <events xsi:type="am:ProcessEvent" name="Detection_CPU" description="" eventType="start" entity="PRE_Detection_gpu_POST?type=Task" />
+    <events xsi:type="am:ProcessEvent" name="SFM_CPU" description="" eventType="start" entity="PRE_SFM_gpu_POST?type=Task" />
+    <events xsi:type="am:ProcessEvent" name="Lane_Detection_CPU" eventType="start" entity="PRE_Lane_detection_gpu_POST?type=Task" />
+  </eventModel>
+  <constraintsModel>
+    <eventChains name="EC_LidarGrabber_to_DASM" stimulus="Lidar_Grabber?type=ProcessEvent" response="DASM?type=ProcessEvent" itemType="sequence" minItemsCompleted="1">
+      <items xsi:type="am:EventChainContainer">
+        <eventChain name="lidarGrabber_to_localization_sub" stimulus="Lidar_Grabber?type=ProcessEvent" response="Localization_CPU?type=ProcessEvent" minItemsCompleted="1" />
+      </items>
+      <items xsi:type="am:EventChainContainer">
+        <eventChain name="localization_to_EKF_sub" stimulus="Localization_CPU?type=ProcessEvent" response="EKF?type=ProcessEvent" minItemsCompleted="1" />
+      </items>
+      <items xsi:type="am:EventChainContainer">
+        <eventChain name="EKF_to_planner_sub" stimulus="EKF?type=ProcessEvent" response="Planner?type=ProcessEvent" minItemsCompleted="1" />
+      </items>
+      <items xsi:type="am:EventChainContainer">
+        <eventChain name="planner_to_DASM_sub" stimulus="Planner?type=ProcessEvent" response="DASM?type=ProcessEvent" minItemsCompleted="1" />
+      </items>
+    </eventChains>
+    <eventChains name="EC_CAN_DASM" stimulus="CAN?type=ProcessEvent" response="DASM?type=ProcessEvent" itemType="sequence" minItemsCompleted="1">
+      <items xsi:type="am:EventChainContainer">
+        <eventChain name="CAN_to_localization_sub" stimulus="CAN?type=ProcessEvent" response="Localization_CPU?type=ProcessEvent" minItemsCompleted="1" />
+      </items>
+      <items xsi:type="am:EventChainContainer">
+        <eventChain name="localization_to_EKF_sub" stimulus="Localization_CPU?type=ProcessEvent" response="EKF?type=ProcessEvent" minItemsCompleted="1" />
+      </items>
+      <items xsi:type="am:EventChainContainer">
+        <eventChain name="EKF_to_planner_sub" stimulus="EKF?type=ProcessEvent" response="Planner?type=ProcessEvent" minItemsCompleted="1" />
+      </items>
+      <items xsi:type="am:EventChainContainer">
+        <eventChain name="planner_to_DASM_sub" stimulus="Planner?type=ProcessEvent" response="DASM?type=ProcessEvent" minItemsCompleted="1" />
+      </items>
+    </eventChains>
+    <eventChains name="EC_SFM_DASM" stimulus="SFM_CPU?type=ProcessEvent" response="DASM?type=ProcessEvent" itemType="sequence" minItemsCompleted="1">
+      <items xsi:type="am:EventChainContainer">
+        <eventChain name="SFM_to_planner_sub" stimulus="SFM_CPU?type=ProcessEvent" response="Planner?type=ProcessEvent" minItemsCompleted="1" />
+      </items>
+      <items xsi:type="am:EventChainContainer">
+        <eventChain name="planner_to_DASM_sub" stimulus="Planner?type=ProcessEvent" response="DASM?type=ProcessEvent" minItemsCompleted="1" />
+      </items>
+    </eventChains>
+    <eventChains name="EC_LaneDetection_DASM" stimulus="Lane_Detection_CPU?type=ProcessEvent" response="DASM?type=ProcessEvent" itemType="sequence" minItemsCompleted="1">
+      <items xsi:type="am:EventChainContainer">
+        <eventChain name="LaneDetection_to_planner_sub" stimulus="Lane_Detection_CPU?type=ProcessEvent" response="Planner?type=ProcessEvent" minItemsCompleted="1" />
+      </items>
+      <items xsi:type="am:EventChainContainer">
+        <eventChain name="planner_to_DASM_sub" stimulus="Planner?type=ProcessEvent" response="DASM?type=ProcessEvent" minItemsCompleted="1" />
+      </items>
+    </eventChains>
+    <eventChains name="EC_Detection_DASM" stimulus="Detection_CPU?type=ProcessEvent" response="DASM?type=ProcessEvent" itemType="sequence" minItemsCompleted="1">
+      <items xsi:type="am:EventChainContainer">
+        <eventChain name="Detection_to_planner_sub" stimulus="Detection_CPU?type=ProcessEvent" response="Planner?type=ProcessEvent" minItemsCompleted="1" />
+      </items>
+      <items xsi:type="am:EventChainContainer">
+        <eventChain name="planner_to_DASM_sub" stimulus="Planner?type=ProcessEvent" response="DASM?type=ProcessEvent" minItemsCompleted="1" />
+      </items>
+    </eventChains>
+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_DASM" process="DASM?type=Task">
+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">
+        <limitValue value="5" unit="ms" />
+      </limit>
+    </requirements>
+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_CAN" process="CANbus_polling?type=Task">
+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">
+        <limitValue value="10" unit="ms" />
+      </limit>
+    </requirements>
+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_Planner" process="Planner?type=Task">
+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">
+        <limitValue value="12" unit="ms" />
+      </limit>
+    </requirements>
+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_EKF" process="EKF?type=Task">
+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">
+        <limitValue value="15" unit="ms" />
+      </limit>
+    </requirements>
+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_LIDAR" process="Lidar_Grabber?type=Task">
+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">
+        <limitValue value="33" unit="ms" />
+      </limit>
+    </requirements>
+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_SFM" process="PRE_SFM_gpu_POST?type=Task">
+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">
+        <limitValue value="33" unit="ms" />
+      </limit>
+    </requirements>
+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_Detection" process="PRE_Detection_gpu_POST?type=Task">
+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">
+        <limitValue value="200" unit="ms" />
+      </limit>
+    </requirements>
+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_Lane_Detection" process="PRE_Lane_detection_gpu_POST?type=Task">
+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">
+        <limitValue value="66" unit="ms" />
+      </limit>
+    </requirements>
+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_Localization" process="PRE_Localization_gpu_POST?type=Task">
+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">
+        <limitValue value="400" unit="ms" />
+      </limit>
+    </requirements>
+  </constraintsModel>
+  <mappingModel addressMappingType="address">
+    <schedulerAllocation scheduler="GPU_Sched?type=TaskScheduler" responsibility="GP10B?type=ProcessingUnit" executingPU="GP10B?type=ProcessingUnit" />
+    <schedulerAllocation scheduler="Scheduler_Denver?type=TaskScheduler" responsibility="Core0?type=ProcessingUnit Core1?type=ProcessingUnit" executingPU="Core0?type=ProcessingUnit" />
+    <schedulerAllocation scheduler="Scheduler_A57?type=TaskScheduler" responsibility="Core2?type=ProcessingUnit Core3?type=ProcessingUnit Core4?type=ProcessingUnit Core5?type=ProcessingUnit" executingPU="Core0?type=ProcessingUnit" />
+    <taskAllocation task="CANbus_polling?type=Task" scheduler="Scheduler_A57?type=TaskScheduler" affinity="Core2?type=ProcessingUnit">
+      <schedulingParameters priority="1" />
+    </taskAllocation>
+    <taskAllocation task="OS_Overhead?type=Task" scheduler="Scheduler_A57?type=TaskScheduler" affinity="Core3?type=ProcessingUnit">
+      <schedulingParameters priority="1" />
+    </taskAllocation>
+    <taskAllocation task="DASM?type=Task" scheduler="Scheduler_A57?type=TaskScheduler" affinity="Core4?type=ProcessingUnit">
+      <schedulingParameters priority="1" />
+    </taskAllocation>
+    <taskAllocation task="Lidar_Grabber?type=Task" scheduler="Scheduler_Denver?type=TaskScheduler" affinity="Core0?type=ProcessingUnit">
+      <schedulingParameters priority="1" />
+    </taskAllocation>
+    <taskAllocation task="Planner?type=Task" scheduler="Scheduler_A57?type=TaskScheduler" affinity="Core5?type=ProcessingUnit">
+      <schedulingParameters priority="1" />
+    </taskAllocation>
+    <taskAllocation task="EKF?type=Task" scheduler="Scheduler_A57?type=TaskScheduler" affinity="Core2?type=ProcessingUnit">
+      <schedulingParameters priority="1" />
+    </taskAllocation>
+    <taskAllocation task="PRE_Detection_gpu_POST?type=Task" scheduler="Scheduler_A57?type=TaskScheduler" affinity="Core5?type=ProcessingUnit">
+      <schedulingParameters priority="1" />
+    </taskAllocation>
+    <taskAllocation task="PRE_Lane_detection_gpu_POST?type=Task" scheduler="Scheduler_A57?type=TaskScheduler" affinity="Core5?type=ProcessingUnit">
+      <schedulingParameters priority="1" />
+    </taskAllocation>
+    <taskAllocation task="PRE_SFM_gpu_POST?type=Task" scheduler="Scheduler_Denver?type=TaskScheduler" affinity="Core0?type=ProcessingUnit">
+      <schedulingParameters priority="1" />
+    </taskAllocation>
+    <taskAllocation task="PRE_Localization_gpu_POST?type=Task" scheduler="Scheduler_Denver?type=TaskScheduler" affinity="Core1?type=ProcessingUnit">
+      <schedulingParameters priority="1" />
+    </taskAllocation>
+    <taskAllocation task="Lane_detection?type=Task" scheduler="GPU_Sched?type=TaskScheduler" affinity="GP10B?type=ProcessingUnit">
+      <parameterExtensions key="TimeSlice_Lane_detection" value="50000us" />
+    </taskAllocation>
+    <taskAllocation task="Detection?type=Task" scheduler="GPU_Sched?type=TaskScheduler" affinity="GP10B?type=ProcessingUnit">
+      <parameterExtensions key="TimeSlice_Detection" value="50000us" />
+    </taskAllocation>
+    <taskAllocation task="SFM?type=Task" scheduler="GPU_Sched?type=TaskScheduler" affinity="GP10B?type=ProcessingUnit">
+      <parameterExtensions key="TimeSlice_SFM" value="7200us" />
+    </taskAllocation>
+    <taskAllocation task="Localization?type=Task" scheduler="GPU_Sched?type=TaskScheduler" affinity="GP10B?type=ProcessingUnit">
+      <parameterExtensions key="TimeSlice_Localization" value="50000us" />
+    </taskAllocation>
+    <memoryMapping abstractElement="Bounding_box_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Bounding_box_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Cloud_map_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Cloud_map_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Image_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Image_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Image_lane_lines_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Image_lane_lines_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Image_SFM_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Image_SFM_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="IMU_data_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="IMU_data_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Lane_boundaries_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Lane_boundaries_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Matrix_SFM_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Matrix_SFM_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="NN_weights?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Occupancy_grid_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="speed_objective?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="steer_objective?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Vehicle_status_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="Vehicle_status_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="vel_car?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="x_car_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="x_car_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="y_car_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="y_car_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="yaw_car_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="yaw_car_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+    <memoryMapping abstractElement="yaw_rate?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />
+  </mappingModel>
+</am:Amalthea>
diff --git a/manager/app4mc-cloud-manager-app/src/main/resources/static/examples/WATERS-2017_FMTV-Model.amxmi b/manager/app4mc-cloud-manager-app/src/main/resources/static/examples/WATERS-2017_FMTV-Model.amxmi
index 3a6bc9e..17b5287 100644
--- a/manager/app4mc-cloud-manager-app/src/main/resources/static/examples/WATERS-2017_FMTV-Model.amxmi
+++ b/manager/app4mc-cloud-manager-app/src/main/resources/static/examples/WATERS-2017_FMTV-Model.amxmi
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<am:Amalthea xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:am="http://app4mc.eclipse.org/amalthea/1.0.0">
+<am:Amalthea xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:am="http://app4mc.eclipse.org/amalthea/1.1.0">
   <customProperties key="origin">
     <value xsi:type="am:StringObject" value="https://waters2017.inria.fr/challenge/"/>
   </customProperties>
@@ -1525,7 +1525,6 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-
         <items xsi:type="am:LabelAccess" data="Label_944?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_3281?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -1784,8 +1783,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_sporadic_700us_800us_0?type=Runnable" 
-name="Runnable_sporadic_700us_800us_0" activations="sporadic_700us_800us?type=SporadicActivation" callback="false" service="false">
+    <runnables xmi:id="Runnable_sporadic_700us_800us_0?type=Runnable" name="Runnable_sporadic_700us_800us_0" activations="sporadic_700us_800us?type=SporadicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_5564?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -2153,8 +2151,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="12545" upperBound="23334" average="15488.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_87?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_87?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -2268,8 +2265,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_57?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_57?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -2279,8 +2275,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_23?type=Label" 
-access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_23?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_3563?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
@@ -3166,8 +3161,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_12?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_12?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -4015,8 +4009,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_14?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_14?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -5273,8 +5266,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="589" upperBound="1035" average="608.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_61?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_61?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -5525,8 +5517,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_44?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_44?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -5871,8 +5862,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_61?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_61?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -6396,8 +6386,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_81?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_81?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -6485,7 +6474,6 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-
         <items xsi:type="am:LabelAccess" data="Label_5315?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
@@ -7423,7 +7411,6 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-
         <items xsi:type="am:LabelAccess" data="Label_2800?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
@@ -8276,8 +8263,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_10?type=Runnable" name="Runnable_6660us_10" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_10?type=Runnable" name="Runnable_6660us_10" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1877?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -8602,8 +8588,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_11?type=Runnable" name="Runnable_6660us_11" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_11?type=Runnable" name="Runnable_6660us_11" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2783?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -8750,8 +8735,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_49?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_49?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -9122,8 +9106,7 @@
           </customProperties>
         </items>
         <items xsi:type="am:LabelAccess" data="Label_1280?type=Label" access="write" implementation="explicit"/>
-        <items xsi:type="am:LabelAccess" data="Label_49?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_49?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -9143,7 +9126,6 @@
     <runnables xmi:id="Runnable_2ms_2?type=Runnable" name="Runnable_2ms_2" activations="periodic_2ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_5396?type=Label" access="read" implementation="timed">
-
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -9249,8 +9231,7 @@
     </runnables>
     <runnables xmi:id="Runnable_20ms_17?type=Runnable" name="Runnable_20ms_17" activations="periodic_20ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_20?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_20?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -9568,8 +9549,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="3159" upperBound="20081" average="11986.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_69?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_69?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -10186,8 +10166,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_12?type=Runnable" name="Runnable_6660us_12" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_12?type=Runnable" name="Runnable_6660us_12" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_921?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -10628,8 +10607,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_34?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_34?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -10681,8 +10659,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_34?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_34?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -10692,8 +10669,7 @@
     </runnables>
     <runnables xmi:id="Runnable_1ms_1?type=Runnable" name="Runnable_1ms_1" activations="periodic_1ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_60?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_60?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -11112,8 +11088,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_62?type=Label" 
-access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_62?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_2941?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
@@ -11141,8 +11116,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_76?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_76?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -11166,8 +11140,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_32?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_32?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
@@ -11758,8 +11731,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="1740" upperBound="9513" average="6560.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_40?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_40?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -12334,8 +12306,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_13?type=Runnable" name="Runnable_6660us_13" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_13?type=Runnable" name="Runnable_6660us_13" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2072?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -12653,8 +12624,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_69?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_69?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -13026,8 +12996,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_66?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_66?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
@@ -13153,8 +13122,7 @@
         <items xsi:type="am:LabelAccess" data="Label_3850?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_14?type=Runnable" name="Runnable_6660us_14" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_14?type=Runnable" name="Runnable_6660us_14" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4320?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -13670,8 +13638,7 @@
         <items xsi:type="am:LabelAccess" data="Label_1786?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_15?type=Runnable" name="Runnable_6660us_15" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_15?type=Runnable" name="Runnable_6660us_15" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4625?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -13792,8 +13759,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_16?type=Runnable" name="Runnable_6660us_16" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_16?type=Runnable" name="Runnable_6660us_16" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4365?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -14165,8 +14131,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_17?type=Runnable" name="Runnable_6660us_17" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_17?type=Runnable" name="Runnable_6660us_17" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_994?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -15196,11 +15161,9 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_18?type=Runnable" name="Runnable_6660us_18" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_18?type=Runnable" name="Runnable_6660us_18" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_74?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_74?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -15368,8 +15331,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_19?type=Runnable" name="Runnable_6660us_19" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_19?type=Runnable" name="Runnable_6660us_19" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2738?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -15889,8 +15851,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_76?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_76?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -15950,8 +15911,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_sporadic_700us_800us_1?type=Runnable" 
-name="Runnable_sporadic_700us_800us_1" activations="sporadic_700us_800us?type=SporadicActivation" callback="false" service="false">
+    <runnables xmi:id="Runnable_sporadic_700us_800us_1?type=Runnable" name="Runnable_sporadic_700us_800us_1" activations="sporadic_700us_800us?type=SporadicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_5071?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -16047,8 +16007,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_51?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_51?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -16178,8 +16137,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_20?type=Runnable" name="Runnable_6660us_20" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_20?type=Runnable" name="Runnable_6660us_20" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4776?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -16239,8 +16197,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_72?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_72?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -16309,8 +16266,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_65?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_65?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -17003,16 +16959,14 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_21?type=Runnable" name="Runnable_6660us_21" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_21?type=Runnable" name="Runnable_6660us_21" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1320?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_15?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_15?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -17071,8 +17025,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="2468" upperBound="4510" average="2898.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_15?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_15?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -17892,8 +17845,7 @@
         <items xsi:type="am:LabelAccess" data="Label_4424?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_22?type=Runnable" name="Runnable_6660us_22" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_22?type=Runnable" name="Runnable_6660us_22" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_219?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -18016,8 +17968,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_23?type=Runnable" name="Runnable_6660us_23" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_23?type=Runnable" name="Runnable_6660us_23" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2709?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -18115,8 +18066,7 @@
         <items xsi:type="am:LabelAccess" data="Label_9994?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_24?type=Runnable" name="Runnable_6660us_24" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_24?type=Runnable" name="Runnable_6660us_24" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1305?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -18277,8 +18227,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_51?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_51?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -18683,8 +18632,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_66?type=Label" 
-access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_66?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_2286?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
@@ -19017,8 +18965,7 @@
     </runnables>
     <runnables xmi:id="Runnable_10ms_50?type=Runnable" name="Runnable_10ms_50" activations="periodic_10ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_93?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_93?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -19102,8 +19049,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_93?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_93?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -19827,8 +19773,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_25?type=Runnable" name="Runnable_6660us_25" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_25?type=Runnable" name="Runnable_6660us_25" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2233?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -19960,8 +19905,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_26?type=Runnable" name="Runnable_6660us_26" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_26?type=Runnable" name="Runnable_6660us_26" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3164?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -19986,7 +19930,6 @@
         </items>
         <items xsi:type="am:LabelAccess" data="Label_418?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
-
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
           <statistic>
@@ -20123,8 +20066,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_58?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_58?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -20672,8 +20614,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_91?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_91?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -20745,8 +20686,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_91?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_91?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -21354,8 +21294,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_27?type=Runnable" name="Runnable_6660us_27" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_27?type=Runnable" name="Runnable_6660us_27" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3768?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -21533,8 +21472,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_80?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_80?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -21676,8 +21614,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_55?type=Label" 
-access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_55?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_2246?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
@@ -21857,8 +21794,7 @@
           </customProperties>
         </items>
         <items xsi:type="am:LabelAccess" data="Label_3709?type=Label" access="write" implementation="explicit"/>
-        <items xsi:type="am:LabelAccess" data="Label_58?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_58?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -22508,8 +22444,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_24?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_24?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -22569,8 +22504,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_24?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_24?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -22592,8 +22526,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_28?type=Runnable" name="Runnable_6660us_28" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_28?type=Runnable" name="Runnable_6660us_28" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2393?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -22611,8 +22544,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_59?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_59?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -23466,8 +23398,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_29?type=Runnable" name="Runnable_6660us_29" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_29?type=Runnable" name="Runnable_6660us_29" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1279?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -23559,8 +23490,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_30?type=Runnable" name="Runnable_6660us_30" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_30?type=Runnable" name="Runnable_6660us_30" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2824?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -23779,8 +23709,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_21?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_21?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -24195,8 +24124,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_31?type=Runnable" name="Runnable_6660us_31" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_31?type=Runnable" name="Runnable_6660us_31" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1805?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -24260,8 +24188,7 @@
     </runnables>
     <runnables xmi:id="Runnable_20ms_64?type=Runnable" name="Runnable_20ms_64" activations="periodic_20ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_75?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_75?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
@@ -24689,8 +24616,7 @@
         <items xsi:type="am:LabelAccess" data="Label_9319?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_10?type=Runnable" name="Runnable_1000ms_10" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_10?type=Runnable" name="Runnable_1000ms_10" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3845?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -25040,8 +24966,7 @@
         <items xsi:type="am:LabelAccess" data="Label_2424?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_32?type=Runnable" name="Runnable_6660us_32" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_32?type=Runnable" name="Runnable_6660us_32" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1651?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -25248,8 +25173,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_12?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_12?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -25349,8 +25273,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_11?type=Runnable" name="Runnable_1000ms_11" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_11?type=Runnable" name="Runnable_1000ms_11" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1404?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -25544,8 +25467,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_27?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_27?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -25648,8 +25570,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_27?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_27?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -25851,8 +25772,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_33?type=Runnable" name="Runnable_6660us_33" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_33?type=Runnable" name="Runnable_6660us_33" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1868?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -25937,8 +25857,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_34?type=Runnable" name="Runnable_6660us_34" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_34?type=Runnable" name="Runnable_6660us_34" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1487?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -26009,8 +25928,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_11?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_11?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -26206,8 +26124,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_81?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_81?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -26352,8 +26269,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="239" upperBound="372" average="332.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_72?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_72?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -26365,8 +26281,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_12?type=Runnable" name="Runnable_1000ms_12" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_12?type=Runnable" name="Runnable_1000ms_12" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1153?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -27041,8 +26956,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_sporadic_700us_800us_2?type=Runnable" 
-name="Runnable_sporadic_700us_800us_2" activations="sporadic_700us_800us?type=SporadicActivation" callback="false" service="false">
+    <runnables xmi:id="Runnable_sporadic_700us_800us_2?type=Runnable" name="Runnable_sporadic_700us_800us_2" activations="sporadic_700us_800us?type=SporadicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_6129?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -27166,8 +27080,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_35?type=Runnable" name="Runnable_6660us_35" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_35?type=Runnable" name="Runnable_6660us_35" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4436?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -27999,8 +27912,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_37?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_37?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -28060,8 +27972,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_37?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_37?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -28233,8 +28144,7 @@
     </runnables>
     <runnables xmi:id="Runnable_100ms_64?type=Runnable" name="Runnable_100ms_64" activations="periodic_100ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_45?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_45?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -28289,8 +28199,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_45?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_45?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -28317,8 +28226,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_36?type=Runnable" name="Runnable_6660us_36" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_36?type=Runnable" name="Runnable_6660us_36" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1186?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -28705,8 +28613,7 @@
     </runnables>
     <runnables xmi:id="Runnable_10ms_89?type=Runnable" name="Runnable_10ms_89" activations="periodic_10ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_53?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_53?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -29181,8 +29088,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_29?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_29?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -29435,8 +29341,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_13?type=Runnable" name="Runnable_1000ms_13" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_13?type=Runnable" name="Runnable_1000ms_13" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4271?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -29607,8 +29512,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_37?type=Runnable" name="Runnable_6660us_37" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_37?type=Runnable" name="Runnable_6660us_37" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_337?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -30005,8 +29909,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_38?type=Runnable" name="Runnable_6660us_38" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_38?type=Runnable" name="Runnable_6660us_38" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2227?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -30394,8 +30297,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_39?type=Runnable" name="Runnable_6660us_39" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_39?type=Runnable" name="Runnable_6660us_39" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_267?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -30529,8 +30431,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_40?type=Runnable" name="Runnable_6660us_40" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_40?type=Runnable" name="Runnable_6660us_40" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3145?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -31088,8 +30989,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_14?type=Runnable" name="Runnable_1000ms_14" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_14?type=Runnable" name="Runnable_1000ms_14" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4270?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -31157,8 +31057,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_41?type=Runnable" name="Runnable_6660us_41" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_41?type=Runnable" name="Runnable_6660us_41" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1424?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -32068,8 +31967,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_42?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_42?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -32174,8 +32072,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_42?type=Runnable" name="Runnable_6660us_42" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_42?type=Runnable" name="Runnable_6660us_42" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3821?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -32316,8 +32213,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_43?type=Runnable" name="Runnable_6660us_43" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_43?type=Runnable" name="Runnable_6660us_43" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2281?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -32453,8 +32349,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_15?type=Runnable" name="Runnable_1000ms_15" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_15?type=Runnable" name="Runnable_1000ms_15" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_5716?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -32518,8 +32413,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_16?type=Runnable" name="Runnable_1000ms_16" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_16?type=Runnable" name="Runnable_1000ms_16" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4394?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -32868,8 +32762,7 @@
         <items xsi:type="am:LabelAccess" data="Label_9059?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_44?type=Runnable" name="Runnable_6660us_44" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_44?type=Runnable" name="Runnable_6660us_44" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4714?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -33052,8 +32945,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_45?type=Runnable" name="Runnable_6660us_45" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_45?type=Runnable" name="Runnable_6660us_45" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_748?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -33283,8 +33175,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_17?type=Runnable" name="Runnable_1000ms_17" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_17?type=Runnable" name="Runnable_1000ms_17" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_732?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -33307,8 +33198,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_40?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_40?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -33767,8 +33657,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_46?type=Runnable" name="Runnable_6660us_46" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_46?type=Runnable" name="Runnable_6660us_46" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2992?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -34061,8 +33950,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_47?type=Runnable" name="Runnable_6660us_47" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_47?type=Runnable" name="Runnable_6660us_47" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_558?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -34128,8 +34016,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_sporadic_700us_800us_3?type=Runnable" 
-name="Runnable_sporadic_700us_800us_3" activations="sporadic_700us_800us?type=SporadicActivation" callback="false" service="false">
+    <runnables xmi:id="Runnable_sporadic_700us_800us_3?type=Runnable" name="Runnable_sporadic_700us_800us_3" activations="sporadic_700us_800us?type=SporadicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_5267?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -34225,8 +34112,7 @@
     </runnables>
     <runnables xmi:id="Runnable_20ms_92?type=Runnable" name="Runnable_20ms_92" activations="periodic_20ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_94?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_94?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -34353,8 +34239,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_48?type=Runnable" name="Runnable_6660us_48" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_48?type=Runnable" name="Runnable_6660us_48" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_674?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -34634,8 +34519,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="328" upperBound="1089" average="659.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_77?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_77?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -34818,8 +34702,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_73?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_73?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -35802,8 +35685,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_31?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_31?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -35880,8 +35762,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="7175" upperBound="17859" average="10007.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_31?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_31?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -36146,8 +36027,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="1179" upperBound="8695" average="4576.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_80?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_80?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -36261,8 +36141,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_23?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_23?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
@@ -36478,8 +36357,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_59?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_59?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -36596,8 +36474,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_18?type=Runnable" name="Runnable_1000ms_18" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_18?type=Runnable" name="Runnable_1000ms_18" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3065?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -37114,8 +36991,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_49?type=Runnable" name="Runnable_6660us_49" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_49?type=Runnable" name="Runnable_6660us_49" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3473?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -37415,8 +37291,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_50?type=Runnable" name="Runnable_6660us_50" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_50?type=Runnable" name="Runnable_6660us_50" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1477?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -37527,8 +37402,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_51?type=Runnable" name="Runnable_6660us_51" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_51?type=Runnable" name="Runnable_6660us_51" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2328?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -37736,8 +37610,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_52?type=Runnable" name="Runnable_6660us_52" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_52?type=Runnable" name="Runnable_6660us_52" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1383?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -37903,8 +37776,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_83?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_83?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -37912,8 +37784,7 @@
         <items xsi:type="am:LabelAccess" data="Label_9063?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_53?type=Runnable" name="Runnable_6660us_53" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_53?type=Runnable" name="Runnable_6660us_53" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3731?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -38133,8 +38004,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_19?type=Runnable" name="Runnable_1000ms_19" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_19?type=Runnable" name="Runnable_1000ms_19" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1496?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -38487,8 +38357,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_92?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_92?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -38827,8 +38696,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_54?type=Runnable" name="Runnable_6660us_54" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_54?type=Runnable" name="Runnable_6660us_54" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3613?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -39215,8 +39083,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_55?type=Runnable" name="Runnable_6660us_55" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_55?type=Runnable" name="Runnable_6660us_55" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2232?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -39231,8 +39098,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_11?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_11?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -39448,8 +39314,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_56?type=Runnable" name="Runnable_6660us_56" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_56?type=Runnable" name="Runnable_6660us_56" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2909?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -39467,8 +39332,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_22?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_22?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -39860,8 +39724,7 @@
         <items xsi:type="am:LabelAccess" data="Label_1377?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_57?type=Runnable" name="Runnable_6660us_57" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_57?type=Runnable" name="Runnable_6660us_57" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1310?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -40580,8 +40443,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_85?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_85?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -40765,8 +40627,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_20?type=Runnable" name="Runnable_1000ms_20" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_20?type=Runnable" name="Runnable_1000ms_20" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4650?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -41128,8 +40989,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_21?type=Runnable" name="Runnable_1000ms_21" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_21?type=Runnable" name="Runnable_1000ms_21" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4602?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -41795,8 +41655,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="3726" upperBound="16878" average="9363.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_10?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_10?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -42124,8 +41983,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_97?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_97?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -42278,8 +42136,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_58?type=Runnable" name="Runnable_6660us_58" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_58?type=Runnable" name="Runnable_6660us_58" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_788?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -42400,8 +42257,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_59?type=Runnable" name="Runnable_6660us_59" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_59?type=Runnable" name="Runnable_6660us_59" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1737?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -42593,8 +42449,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_63?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_63?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -43035,8 +42890,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_60?type=Runnable" name="Runnable_6660us_60" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_60?type=Runnable" name="Runnable_6660us_60" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_313?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -43246,8 +43100,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_39?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_39?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -43269,8 +43122,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_22?type=Runnable" name="Runnable_1000ms_22" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_22?type=Runnable" name="Runnable_1000ms_22" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4331?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -43349,8 +43201,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_23?type=Runnable" name="Runnable_1000ms_23" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_23?type=Runnable" name="Runnable_1000ms_23" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_553?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -43458,8 +43309,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_98?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_98?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -43500,8 +43350,7 @@
           </customProperties>
         </items>
         <items xsi:type="am:LabelAccess" data="Label_3016?type=Label" access="write" implementation="explicit"/>
-        <items xsi:type="am:LabelAccess" data="Label_95?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_95?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -43870,8 +43719,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_61?type=Runnable" name="Runnable_6660us_61" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_61?type=Runnable" name="Runnable_6660us_61" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3640?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -44053,8 +43901,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_62?type=Runnable" name="Runnable_6660us_62" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_62?type=Runnable" name="Runnable_6660us_62" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3622?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -44144,8 +43991,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_63?type=Runnable" name="Runnable_6660us_63" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_63?type=Runnable" name="Runnable_6660us_63" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3529?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -44171,8 +44017,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_97?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_97?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -44245,8 +44090,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_64?type=Runnable" name="Runnable_6660us_64" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_64?type=Runnable" name="Runnable_6660us_64" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3486?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -44369,8 +44213,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_65?type=Runnable" name="Runnable_6660us_65" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_65?type=Runnable" name="Runnable_6660us_65" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2875?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -44442,8 +44285,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_66?type=Runnable" name="Runnable_6660us_66" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_66?type=Runnable" name="Runnable_6660us_66" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4757?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -44919,8 +44761,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_67?type=Runnable" name="Runnable_6660us_67" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_67?type=Runnable" name="Runnable_6660us_67" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1540?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -45066,8 +44907,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_96?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_96?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
@@ -45162,8 +45002,7 @@
           </customProperties>
         </items>
         <items xsi:type="am:LabelAccess" data="Label_2702?type=Label" access="write" implementation="explicit"/>
-        <items xsi:type="am:LabelAccess" data="Label_96?type=Label" 
-access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_96?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_1473?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_372?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -45201,8 +45040,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_18?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_18?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -45268,8 +45106,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_18?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_18?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -45413,8 +45250,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_68?type=Runnable" name="Runnable_6660us_68" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_68?type=Runnable" name="Runnable_6660us_68" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3239?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -45523,8 +45359,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_70?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_70?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -45707,8 +45542,7 @@
     </runnables>
     <runnables xmi:id="Runnable_200ms_8?type=Runnable" name="Runnable_200ms_8" activations="periodic_200ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_89?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_89?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -45791,8 +45625,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="1322" upperBound="2452" average="1660.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_89?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_89?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -46430,8 +46263,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_24?type=Runnable" name="Runnable_1000ms_24" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_24?type=Runnable" name="Runnable_1000ms_24" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2907?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -46728,8 +46560,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_69?type=Runnable" name="Runnable_6660us_69" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_69?type=Runnable" name="Runnable_6660us_69" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_185?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -47038,8 +46869,7 @@
         <items xsi:type="am:LabelAccess" data="Label_9502?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_70?type=Runnable" name="Runnable_6660us_70" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_70?type=Runnable" name="Runnable_6660us_70" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2710?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -47379,8 +47209,7 @@
     </runnables>
     <runnables xmi:id="Runnable_10ms_145?type=Runnable" name="Runnable_10ms_145" activations="periodic_10ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_47?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_47?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -47500,8 +47329,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="693" upperBound="1354" average="819.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_47?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_47?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -47720,8 +47548,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="2370" upperBound="10188" average="6617.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_44?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_44?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -48147,8 +47974,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_71?type=Runnable" name="Runnable_6660us_71" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_71?type=Runnable" name="Runnable_6660us_71" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3925?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -48171,8 +47997,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_88?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_88?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
@@ -48428,8 +48253,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_33?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_33?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -48442,7 +48266,6 @@
         <items xsi:type="am:LabelAccess" data="Label_150?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
-
           </customProperties>
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
@@ -48980,14 +48803,12 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_94?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_94?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_75?type=Label" 
-access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_75?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_9423?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
@@ -49059,7 +48880,6 @@
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
-
         </items>
         <items xsi:type="am:LabelAccess" data="Label_8135?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -49141,8 +48961,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_72?type=Runnable" name="Runnable_6660us_72" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_72?type=Runnable" name="Runnable_6660us_72" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3266?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -49273,8 +49092,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_73?type=Runnable" name="Runnable_6660us_73" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_73?type=Runnable" name="Runnable_6660us_73" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1773?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -49373,8 +49191,7 @@
         <items xsi:type="am:LabelAccess" data="Label_9856?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_74?type=Runnable" name="Runnable_6660us_74" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_74?type=Runnable" name="Runnable_6660us_74" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4526?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -49575,8 +49392,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_25?type=Runnable" name="Runnable_1000ms_25" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_25?type=Runnable" name="Runnable_1000ms_25" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4178?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -49702,8 +49518,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_57?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_57?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -50150,8 +49965,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_75?type=Runnable" name="Runnable_6660us_75" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_75?type=Runnable" name="Runnable_6660us_75" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2609?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -50767,11 +50581,9 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_26?type=Runnable" name="Runnable_1000ms_26" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_26?type=Runnable" name="Runnable_1000ms_26" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_83?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_83?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -50779,8 +50591,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_17?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_17?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -51335,8 +51146,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_76?type=Runnable" name="Runnable_6660us_76" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_76?type=Runnable" name="Runnable_6660us_76" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4884?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -51651,8 +51461,7 @@
         <items xsi:type="am:LabelAccess" data="Label_9701?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_27?type=Runnable" name="Runnable_1000ms_27" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_27?type=Runnable" name="Runnable_1000ms_27" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_229?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -51704,8 +51513,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_25?type=Label" 
-access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_25?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_4038?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
@@ -51933,8 +51741,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_77?type=Runnable" name="Runnable_6660us_77" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_77?type=Runnable" name="Runnable_6660us_77" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4401?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -52139,8 +51946,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_20?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_20?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -52344,8 +52150,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_78?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_78?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -52607,8 +52412,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_38?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_38?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -52620,8 +52424,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_28?type=Runnable" name="Runnable_1000ms_28" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_28?type=Runnable" name="Runnable_1000ms_28" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4049?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -52884,8 +52687,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_71?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_71?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
@@ -53064,8 +52866,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="13" upperBound="415" average="261.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_41?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_41?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -53189,8 +52990,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_86?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_86?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -53245,8 +53045,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_86?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_86?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -53643,8 +53442,7 @@
         <items xsi:type="am:LabelAccess" data="Label_3905?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_78?type=Runnable" name="Runnable_6660us_78" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_78?type=Runnable" name="Runnable_6660us_78" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1680?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -54200,8 +53998,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_79?type=Runnable" name="Runnable_6660us_79" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_79?type=Runnable" name="Runnable_6660us_79" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2458?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -54738,8 +54535,7 @@
         <items xsi:type="am:LabelAccess" data="Label_9923?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_80?type=Runnable" name="Runnable_6660us_80" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_80?type=Runnable" name="Runnable_6660us_80" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1230?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -55093,8 +54889,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_52?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_52?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
@@ -55766,8 +55561,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_48?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_48?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -55783,8 +55577,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_38?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_38?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -55840,8 +55633,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="121" upperBound="886" average="566.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_28?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_28?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -55957,8 +55749,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_81?type=Runnable" name="Runnable_6660us_81" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_81?type=Runnable" name="Runnable_6660us_81" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1741?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -56651,8 +56442,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_71?type=Label" 
-access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_71?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_3039?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
@@ -57620,8 +57410,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_82?type=Runnable" name="Runnable_6660us_82" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_82?type=Runnable" name="Runnable_6660us_82" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1599?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -57906,8 +57695,7 @@
         <items xsi:type="am:LabelAccess" data="Label_9634?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_83?type=Runnable" name="Runnable_6660us_83" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_83?type=Runnable" name="Runnable_6660us_83" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_176?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -58012,8 +57800,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_84?type=Runnable" name="Runnable_6660us_84" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_84?type=Runnable" name="Runnable_6660us_84" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4347?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -58446,8 +58233,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_40?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_40?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -58517,8 +58303,7 @@
           </customProperties>
         </items>
         <items xsi:type="am:LabelAccess" data="Label_2499?type=Label" access="write" implementation="explicit"/>
-        <items xsi:type="am:LabelAccess" data="Label_17?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_17?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -58527,8 +58312,7 @@
     </runnables>
     <runnables xmi:id="Runnable_100ms_131?type=Runnable" name="Runnable_100ms_131" activations="periodic_100ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_26?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_26?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -58875,7 +58659,6 @@
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
-
         </items>
         <items xsi:type="am:LabelAccess" data="Label_2923?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -58987,8 +58770,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_77?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_77?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -59167,8 +58949,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_29?type=Runnable" name="Runnable_1000ms_29" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_29?type=Runnable" name="Runnable_1000ms_29" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_906?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -59671,8 +59452,7 @@
     </runnables>
     <runnables xmi:id="Runnable_50ms_22?type=Runnable" name="Runnable_50ms_22" activations="periodic_50ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_64?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_64?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -60470,8 +60250,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_64?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_64?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -60496,7 +60275,6 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-
       </activityGraph>
     </runnables>
     <runnables xmi:id="Runnable_20ms_181?type=Runnable" name="Runnable_20ms_181" activations="periodic_20ms?type=PeriodicActivation" callback="false" service="false">
@@ -60960,7 +60738,6 @@
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2591?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
-
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
           <statistic>
@@ -61351,7 +61128,6 @@
           </statistic>
         </items>
         <items xsi:type="am:LabelAccess" data="Label_3919?type=Label" access="read" implementation="timed">
-
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -61383,8 +61159,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="727" upperBound="1356" average="792.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_92?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_92?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -61412,8 +61187,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_85?type=Runnable" name="Runnable_6660us_85" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_85?type=Runnable" name="Runnable_6660us_85" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2302?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -61866,8 +61640,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_86?type=Runnable" name="Runnable_6660us_86" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_86?type=Runnable" name="Runnable_6660us_86" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4052?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -62430,8 +62203,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_28?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_28?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -62540,8 +62312,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_87?type=Runnable" name="Runnable_6660us_87" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_87?type=Runnable" name="Runnable_6660us_87" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2626?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -62707,8 +62478,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_88?type=Runnable" name="Runnable_6660us_88" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_88?type=Runnable" name="Runnable_6660us_88" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4451?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -63650,8 +63420,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_89?type=Runnable" name="Runnable_6660us_89" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_89?type=Runnable" name="Runnable_6660us_89" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_392?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -63976,8 +63745,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_90?type=Runnable" name="Runnable_6660us_90" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_90?type=Runnable" name="Runnable_6660us_90" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4085?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -64203,7 +63971,6 @@
           </customProperties>
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
-
           </statistic>
         </items>
         <items xsi:type="am:LabelAccess" data="Label_645?type=Label" access="read" implementation="implicit">
@@ -64676,8 +64443,7 @@
         </items>
         <items xsi:type="am:LabelAccess" data="Label_1136?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_3533?type=Label" access="write" implementation="explicit"/>
-        <items xsi:type="am:LabelAccess" data="Label_99?type=Label" 
-access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_99?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_3161?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
@@ -64742,8 +64508,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="379" upperBound="906" average="566.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_67?type=Label" 
-access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_67?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_4120?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
@@ -65267,8 +65032,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_91?type=Runnable" name="Runnable_6660us_91" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_91?type=Runnable" name="Runnable_6660us_91" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4966?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -65880,8 +65644,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_74?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_74?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -65968,8 +65731,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_92?type=Runnable" name="Runnable_6660us_92" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_92?type=Runnable" name="Runnable_6660us_92" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_430?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -66024,10 +65786,8 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="978" upperBound="8749" average="4967.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_52?type=Label" 
-access="write" implementation="explicit"/>
-        <items xsi:type="am:LabelAccess" data="Label_88?type=Label" 
-access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_52?type=Label" access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_88?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_1177?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_430?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
@@ -66312,8 +66072,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_30?type=Runnable" name="Runnable_1000ms_30" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_30?type=Runnable" name="Runnable_1000ms_30" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_947?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -66751,8 +66510,7 @@
     </runnables>
     <runnables xmi:id="Runnable_20ms_199?type=Runnable" name="Runnable_20ms_199" activations="periodic_20ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_85?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_85?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -66760,8 +66518,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_63?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_63?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -67403,8 +67160,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_39?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_39?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -67498,8 +67254,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_93?type=Runnable" name="Runnable_6660us_93" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_93?type=Runnable" name="Runnable_6660us_93" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1439?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -67618,8 +67373,7 @@
         <items xsi:type="am:LabelAccess" data="Label_9216?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_31?type=Runnable" name="Runnable_1000ms_31" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_31?type=Runnable" name="Runnable_1000ms_31" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4660?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -68492,8 +68246,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_87?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_87?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -68561,8 +68314,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_16?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_16?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -68678,8 +68430,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_16?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_16?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -69462,8 +69213,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_94?type=Runnable" name="Runnable_6660us_94" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_94?type=Runnable" name="Runnable_6660us_94" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3354?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -69698,8 +69448,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_25?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_25?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
@@ -69914,8 +69663,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_62?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_62?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
@@ -70109,8 +69857,7 @@
         <items xsi:type="am:LabelAccess" data="Label_3906?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_95?type=Runnable" name="Runnable_6660us_95" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_95?type=Runnable" name="Runnable_6660us_95" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2581?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -70645,8 +70392,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_96?type=Runnable" name="Runnable_6660us_96" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_96?type=Runnable" name="Runnable_6660us_96" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4689?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -70787,8 +70533,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_10?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_10?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -70845,8 +70590,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_97?type=Runnable" name="Runnable_6660us_97" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_97?type=Runnable" name="Runnable_6660us_97" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1904?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -70962,8 +70706,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_98?type=Runnable" name="Runnable_6660us_98" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_98?type=Runnable" name="Runnable_6660us_98" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_136?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -71055,8 +70798,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_13?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_13?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -71222,8 +70964,7 @@
         <items xsi:type="am:LabelAccess" data="Label_9947?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_6660us_99?type=Runnable" name="Runnable_6660us_99" activations="periodic_6660us?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_6660us_99?type=Runnable" name="Runnable_6660us_99" activations="periodic_6660us?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_1337?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -71485,8 +71226,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_32?type=Runnable" name="Runnable_1000ms_32" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_32?type=Runnable" name="Runnable_1000ms_32" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2049?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -72020,8 +71760,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_79?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_79?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
@@ -72508,8 +72247,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="5329" upperBound="9342" average="7344.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_56?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_56?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -73829,8 +73567,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="1614" upperBound="5497" average="3669.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_46?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_46?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -73895,8 +73632,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_33?type=Runnable" name="Runnable_1000ms_33" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_33?type=Runnable" name="Runnable_1000ms_33" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2110?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -73959,8 +73695,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_79?type=Label" 
-access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_79?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_3317?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
@@ -74229,8 +73964,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_32?type=Label" 
-access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_32?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_1082?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_1957?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -74771,8 +74505,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_34?type=Runnable" name="Runnable_1000ms_34" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_34?type=Runnable" name="Runnable_1000ms_34" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4395?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -74970,8 +74703,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_43?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_43?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -75038,8 +74770,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_43?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_43?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -75741,8 +75472,7 @@
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="6543" upperBound="10686" average="8394.0" pRemainPromille="5.0E-4"/>
         </items>
         <items xsi:type="am:LabelAccess" data="Label_4941?type=Label" access="write" implementation="explicit"/>
-        <items xsi:type="am:LabelAccess" data="Label_84?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_84?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -75865,8 +75595,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_82?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_82?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -76602,8 +76331,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_73?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_73?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -77027,8 +76755,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_21?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_21?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -78000,8 +77727,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_78?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_78?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -78085,8 +77811,7 @@
         <items xsi:type="am:LabelAccess" data="Label_9556?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_35?type=Runnable" name="Runnable_1000ms_35" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_35?type=Runnable" name="Runnable_1000ms_35" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_719?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -78169,8 +77894,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="323" upperBound="681" average="420.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_98?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_98?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -78418,8 +78142,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="4606" upperBound="11384" average="7534.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_48?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_48?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -79851,8 +79574,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="192" upperBound="1013" average="611.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_53?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_53?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -80822,8 +80544,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_50?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_50?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -81255,8 +80976,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_30?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_30?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -81457,7 +81177,6 @@
     <runnables xmi:id="Runnable_10ms_241?type=Runnable" name="Runnable_10ms_241" activations="periodic_10ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2299?type=Label" access="read" implementation="timed">
-
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -82109,8 +81828,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_36?type=Runnable" name="Runnable_1000ms_36" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_36?type=Runnable" name="Runnable_1000ms_36" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_3452?type=Label" access="read" implementation="explicit">
           <statistic>
@@ -82572,8 +82290,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_35?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_35?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -82967,8 +82684,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="6262" upperBound="13647" average="10598.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_60?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_60?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -85131,8 +84847,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_90?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_90?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -85182,8 +84897,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_90?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_90?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -85491,8 +85205,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_33?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_33?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -86638,8 +86351,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_99?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_99?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
@@ -86683,8 +86395,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_70?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_70?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -86727,8 +86438,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_46?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_46?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -87621,8 +87331,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_19?type=Label" 
-access="write" implementation="explicit"/>
+        <items xsi:type="am:LabelAccess" data="Label_19?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_1101?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
@@ -88271,8 +87980,7 @@
     </runnables>
     <runnables xmi:id="Runnable_10ms_257?type=Runnable" name="Runnable_10ms_257" activations="periodic_10ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_35?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_35?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -88682,7 +88390,6 @@
         </items>
         <items xsi:type="am:LabelAccess" data="Label_1743?type=Label" access="write" implementation="explicit"/>
         <items xsi:type="am:LabelAccess" data="Label_9051?type=Label" access="write" implementation="timed">
-
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -89007,8 +88714,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_37?type=Runnable" name="Runnable_1000ms_37" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_37?type=Runnable" name="Runnable_1000ms_37" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2789?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -89725,8 +89431,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_55?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_55?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
@@ -90519,8 +90224,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_84?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_84?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -92145,8 +91849,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_36?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_36?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -93428,8 +93131,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_41?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_41?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -93485,8 +93187,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_26?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_26?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -94137,8 +93838,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_19?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_19?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
@@ -94785,8 +94485,7 @@
     </runnables>
     <runnables xmi:id="Runnable_20ms_287?type=Runnable" name="Runnable_20ms_287" activations="periodic_20ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_50?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_50?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -94858,8 +94557,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="3839" upperBound="14257" average="4784.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_68?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_68?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -95200,8 +94898,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_14?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_14?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -95300,8 +94997,7 @@
         <items xsi:type="am:LabelAccess" data="Label_3954?type=Label" access="write" implementation="explicit"/>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_38?type=Runnable" name="Runnable_1000ms_38" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_38?type=Runnable" name="Runnable_1000ms_38" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_315?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -95995,8 +95691,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_54?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_54?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -96101,8 +95796,7 @@
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_54?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_54?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -96706,7 +96400,6 @@
           </customProperties>
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
-
           </statistic>
         </items>
         <items xsi:type="am:LabelAccess" data="Label_1853?type=Label" access="read" implementation="explicit">
@@ -96786,8 +96479,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_29?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_29?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -97036,8 +96728,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_39?type=Runnable" name="Runnable_1000ms_39" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_39?type=Runnable" name="Runnable_1000ms_39" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_4344?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -97336,7 +97027,6 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
           <statistic>
-
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
@@ -98478,8 +98168,7 @@
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_68?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_68?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -98622,8 +98311,7 @@
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_22?type=Label" 
-access="write" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_22?type=Label" access="write" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -99527,7 +99215,6 @@
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
-
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
@@ -99965,8 +99652,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_30?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_30?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -100020,8 +99706,7 @@
     </runnables>
     <runnables xmi:id="Runnable_5ms_21?type=Runnable" name="Runnable_5ms_21" activations="periodic_5ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
-        <items xsi:type="am:LabelAccess" data="Label_56?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_56?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -100361,8 +100046,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_42?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_42?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -101054,8 +100738,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_82?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_82?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -101640,8 +101323,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_40?type=Runnable" name="Runnable_1000ms_40" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_40?type=Runnable" name="Runnable_1000ms_40" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2171?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -101896,8 +101578,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_41?type=Runnable" name="Runnable_1000ms_41" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_41?type=Runnable" name="Runnable_1000ms_41" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2585?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -102231,8 +101912,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_67?type=Label" 
-access="read" implementation="explicit">
+        <items xsi:type="am:LabelAccess" data="Label_67?type=Label" access="read" implementation="explicit">
           <statistic>
             <value xsi:type="am:SingleValueStatistic" value="4.0"/>
           </statistic>
@@ -102278,8 +101958,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_95?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_95?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -103154,8 +102833,7 @@
             <value xsi:type="am:SingleValueStatistic" value="3.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_13?type=Label" 
-access="read" implementation="timed">
+        <items xsi:type="am:LabelAccess" data="Label_13?type=Label" access="read" implementation="timed">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="TIMED"/>
           </customProperties>
@@ -103381,8 +103059,7 @@
             <value xsi:type="am:SingleValueStatistic" value="2.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_46?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_46?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -103651,8 +103328,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_42?type=Runnable" name="Runnable_1000ms_42" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_42?type=Runnable" name="Runnable_1000ms_42" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_2230?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -104058,8 +103734,7 @@
         </items>
       </activityGraph>
     </runnables>
-    <runnables xmi:id="Runnable_1000ms_43?type=Runnable" name="Runnable_1000ms_43" activations="periodic_1000ms?type=PeriodicActivation" 
-callback="false" service="false">
+    <runnables xmi:id="Runnable_1000ms_43?type=Runnable" name="Runnable_1000ms_43" activations="periodic_1000ms?type=PeriodicActivation" callback="false" service="false">
       <activityGraph>
         <items xsi:type="am:LabelAccess" data="Label_231?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
@@ -104183,8 +103858,7 @@
             <value xsi:type="am:SingleValueStatistic" value="5.0"/>
           </statistic>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_36?type=Label" 
-access="read" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_36?type=Label" access="read" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -104375,8 +104049,7 @@
         <items xsi:type="am:Ticks">
           <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="8951" upperBound="32363" average="27160.0" pRemainPromille="5.0E-4"/>
         </items>
-        <items xsi:type="am:LabelAccess" data="Label_65?type=Label" 
-access="write" implementation="implicit">
+        <items xsi:type="am:LabelAccess" data="Label_65?type=Label" access="write" implementation="implicit">
           <customProperties key="COMMUNINCATION_TYPE">
             <value xsi:type="am:StringObject" value="IMPLICIT"/>
           </customProperties>
@@ -108326,7 +107999,6 @@
       <customProperties key="COMMUNINCATION_TYPE">
         <value xsi:type="am:StringObject" value="COMMUNICATION_BUFFERED"/>
       </customProperties>
-
       <size value="8" unit="bit"/>
     </labels>
     <labels xmi:id="Label_648?type=Label" name="Label_648" constant="false" bVolatile="false" stabilityLevel="process">
@@ -117131,7 +116803,6 @@
       </customProperties>
       <size value="8" unit="bit"/>
     </labels>
-
     <labels xmi:id="Label_2115?type=Label" name="Label_2115" constant="false" bVolatile="false" stabilityLevel="process">
       <customProperties key="COMMUNINCATION_TYPE">
         <value xsi:type="am:StringObject" value="COMMUNICATION_BUFFERED"/>
@@ -126907,7 +126578,6 @@
       <size value="16" unit="bit"/>
     </labels>
     <labels xmi:id="Label_3744?type=Label" name="Label_3744" constant="false" bVolatile="false" stabilityLevel="process">
-
       <customProperties key="COMMUNINCATION_TYPE">
         <value xsi:type="am:StringObject" value="COMMUNICATION_BUFFERED"/>
       </customProperties>
@@ -128111,7 +127781,6 @@
       <customProperties key="COMMUNINCATION_TYPE">
         <value xsi:type="am:StringObject" value="EXPLICIT"/>
       </customProperties>
-
       <size value="8" unit="bit"/>
     </labels>
     <labels xmi:id="Label_3945?type=Label" name="Label_3945" constant="false" bVolatile="false" stabilityLevel="process">
@@ -130594,7 +130263,6 @@
     </labels>
     <labels xmi:id="Label_4358?type=Label" name="Label_4358" constant="false" bVolatile="false" stabilityLevel="runnable">
       <customProperties key="COMMUNINCATION_TYPE">
-
         <value xsi:type="am:StringObject" value="EXPLICIT"/>
       </customProperties>
       <size value="16" unit="bit"/>
@@ -131571,7 +131239,6 @@
       </customProperties>
       <size value="8" unit="bit"/>
     </labels>
-
     <labels xmi:id="Label_4521?type=Label" name="Label_4521" constant="false" bVolatile="false" stabilityLevel="process">
       <customProperties key="COMMUNINCATION_TYPE">
         <value xsi:type="am:StringObject" value="COMMUNICATION_BUFFERED"/>
@@ -134728,7 +134395,6 @@
       </customProperties>
       <size value="8" unit="bit"/>
     </labels>
-
     <labels xmi:id="Label_5047?type=Label" name="Label_5047" constant="true" bVolatile="false" stabilityLevel="process">
       <customProperties key="COMMUNINCATION_TYPE">
         <value xsi:type="am:StringObject" value="COMMUNICATION_BUFFERED"/>
@@ -138125,7 +137791,6 @@
       </customProperties>
       <size value="16" unit="bit"/>
     </labels>
-
     <labels xmi:id="Label_5613?type=Label" name="Label_5613" constant="true" bVolatile="false" stabilityLevel="process">
       <customProperties key="COMMUNINCATION_TYPE">
         <value xsi:type="am:StringObject" value="COMMUNICATION_BUFFERED"/>
@@ -141440,7 +141105,6 @@
     </labels>
     <labels xmi:id="Label_6165?type=Label" name="Label_6165" constant="true" bVolatile="false" stabilityLevel="process">
       <customProperties key="COMMUNINCATION_TYPE">
-
         <value xsi:type="am:StringObject" value="COMMUNICATION_BUFFERED"/>
       </customProperties>
       <size value="64" unit="bit"/>
@@ -152899,7 +152563,6 @@
       </customProperties>
       <size value="16" unit="bit"/>
     </labels>
-
     <labels xmi:id="Label_8075?type=Label" name="Label_8075" constant="true" bVolatile="false" stabilityLevel="process">
       <customProperties key="COMMUNINCATION_TYPE">
         <value xsi:type="am:StringObject" value="COMMUNICATION_BUFFERED"/>
@@ -161410,7 +161073,6 @@
     </labels>
     <labels xmi:id="Label_9493?type=Label" name="Label_9493" constant="false" bVolatile="false" stabilityLevel="process">
       <customProperties key="COMMUNINCATION_TYPE">
-
         <value xsi:type="am:StringObject" value="COMMUNICATION_BUFFERED"/>
       </customProperties>
       <size value="8" unit="bit"/>
@@ -164572,39 +164234,29 @@
     <structures xmi:id="System?type=HwStructure" name="System" structureType="System">
       <structures xmi:id="ECU?type=HwStructure" name="ECU" structureType="ECU">
         <structures xmi:id="Microcrontroller?type=HwStructure" name="Microcrontroller" structureType="Microcontroller">
-          <modules xsi:type="am:Memory" xmi:id="GRAM?type=Memory" name="GRAM" definition="GenericRAM?type=MemoryDefinition">
+          <modules xsi:type="am:Memory" xmi:id="GRAM?type=Memory" name="GRAM" frequencyDomain="GenericPLL?type=FrequencyDomain" definition="GenericRAM?type=MemoryDefinition">
             <ports xmi:id="GRAM/Port_GenericCrossbarNet?type=HwPort" name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
           </modules>
-          <modules xsi:type="am:Memory" xmi:id="LRAM0?type=Memory" name="LRAM0" definition="GenericLocalRAM?type=MemoryDefinition">
-            <ports xmi:id="LRAM0/Port_GenericCrossbarNet?type=HwPort" 
-name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
-            <ports xmi:id="LRAM0/Port_CORE0_to_LRAM0_Bus?type=HwPort" 
-name="Port_CORE0_to_LRAM0_Bus" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
+          <modules xsi:type="am:Memory" xmi:id="LRAM0?type=Memory" name="LRAM0" frequencyDomain="GenericPLL?type=FrequencyDomain" definition="GenericLocalRAM?type=MemoryDefinition">
+            <ports xmi:id="LRAM0/Port_GenericCrossbarNet?type=HwPort" name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
+            <ports xmi:id="LRAM0/Port_CORE0_to_LRAM0_Bus?type=HwPort" name="Port_CORE0_to_LRAM0_Bus" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
           </modules>
-          <modules xsi:type="am:Memory" xmi:id="LRAM1?type=Memory" name="LRAM1" definition="GenericLocalRAM?type=MemoryDefinition">
-            <ports xmi:id="LRAM1/Port_GenericCrossbarNet?type=HwPort" 
-name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
-            <ports xmi:id="LRAM1/Port_CORE1_to_LRAM1_Bus?type=HwPort" 
-name="Port_CORE1_to_LRAM1_Bus" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
+          <modules xsi:type="am:Memory" xmi:id="LRAM1?type=Memory" name="LRAM1" frequencyDomain="GenericPLL?type=FrequencyDomain" definition="GenericLocalRAM?type=MemoryDefinition">
+            <ports xmi:id="LRAM1/Port_GenericCrossbarNet?type=HwPort" name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
+            <ports xmi:id="LRAM1/Port_CORE1_to_LRAM1_Bus?type=HwPort" name="Port_CORE1_to_LRAM1_Bus" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
           </modules>
-          <modules xsi:type="am:Memory" xmi:id="LRAM2?type=Memory" name="LRAM2" definition="GenericLocalRAM?type=MemoryDefinition">
-            <ports xmi:id="LRAM2/Port_GenericCrossbarNet?type=HwPort" 
-name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
-            <ports xmi:id="LRAM2/Port_CORE2_to_LRAM2_Bus?type=HwPort" 
-name="Port_CORE2_to_LRAM2_Bus" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
+          <modules xsi:type="am:Memory" xmi:id="LRAM2?type=Memory" name="LRAM2" frequencyDomain="GenericPLL?type=FrequencyDomain" definition="GenericLocalRAM?type=MemoryDefinition">
+            <ports xmi:id="LRAM2/Port_GenericCrossbarNet?type=HwPort" name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
+            <ports xmi:id="LRAM2/Port_CORE2_to_LRAM2_Bus?type=HwPort" name="Port_CORE2_to_LRAM2_Bus" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
           </modules>
-          <modules xsi:type="am:Memory" xmi:id="LRAM3?type=Memory" name="LRAM3" definition="GenericLocalRAM?type=MemoryDefinition">
-            <ports xmi:id="LRAM3/Port_GenericCrossbarNet?type=HwPort" 
-name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
-            <ports xmi:id="LRAM3/Port_CORE3_to_LRAM3_Bus?type=HwPort" 
-name="Port_CORE3_to_LRAM3_Bus" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
+          <modules xsi:type="am:Memory" xmi:id="LRAM3?type=Memory" name="LRAM3" frequencyDomain="GenericPLL?type=FrequencyDomain" definition="GenericLocalRAM?type=MemoryDefinition">
+            <ports xmi:id="LRAM3/Port_GenericCrossbarNet?type=HwPort" name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
+            <ports xmi:id="LRAM3/Port_CORE3_to_LRAM3_Bus?type=HwPort" name="Port_CORE3_to_LRAM3_Bus" bitWidth="32" priority="0" portType="responder" portInterface="custom"/>
           </modules>
           <modules xsi:type="am:ConnectionHandler" xmi:id="GenericCrossbarNet?type=ConnectionHandler" name="GenericCrossbarNet" frequencyDomain="GenericPLL?type=FrequencyDomain" definition="GenericCrossbarSwitch?type=ConnectionHandlerDefinition"/>
           <modules xsi:type="am:ProcessingUnit" xmi:id="CORE0?type=ProcessingUnit" name="CORE0" frequencyDomain="GenericPLL?type=FrequencyDomain" definition="GenericCore?type=ProcessingUnitDefinition">
-            <ports xmi:id="CORE0/Port_CORE0_to_LRAM0_Bus?type=HwPort" 
-name="Port_CORE0_to_LRAM0_Bus" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
-            <ports xmi:id="CORE0/Port_GenericCrossbarNet?type=HwPort" 
-name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
+            <ports xmi:id="CORE0/Port_CORE0_to_LRAM0_Bus?type=HwPort" name="Port_CORE0_to_LRAM0_Bus" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
+            <ports xmi:id="CORE0/Port_GenericCrossbarNet?type=HwPort" name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
             <accessElements name="CORE0_to_LRAM0" destination="LRAM0?type=Memory">
               <readLatency xsi:type="am:DiscreteValueConstant" value="1"/>
               <writeLatency xsi:type="am:DiscreteValueConstant" value="1"/>
@@ -164626,12 +164278,10 @@
               <writeLatency xsi:type="am:DiscreteValueConstant" value="9"/>
             </accessElements>
           </modules>
-          <modules xsi:type="am:ConnectionHandler" xmi:id="CORE0_to_LRAM0_Bus?type=ConnectionHandler" name="CORE0_to_LRAM0_Bus" definition="GenericLocalBus?type=ConnectionHandlerDefinition"/>
+          <modules xsi:type="am:ConnectionHandler" xmi:id="CORE0_to_LRAM0_Bus?type=ConnectionHandler" name="CORE0_to_LRAM0_Bus" frequencyDomain="GenericPLL?type=FrequencyDomain" definition="GenericLocalBus?type=ConnectionHandlerDefinition"/>
           <modules xsi:type="am:ProcessingUnit" xmi:id="CORE1?type=ProcessingUnit" name="CORE1" frequencyDomain="GenericPLL?type=FrequencyDomain" definition="GenericCore?type=ProcessingUnitDefinition">
-            <ports xmi:id="CORE1/Port_CORE1_to_LRAM1_Bus?type=HwPort" 
-name="Port_CORE1_to_LRAM1_Bus" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
-            <ports xmi:id="CORE1/Port_GenericCrossbarNet?type=HwPort" 
-name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
+            <ports xmi:id="CORE1/Port_CORE1_to_LRAM1_Bus?type=HwPort" name="Port_CORE1_to_LRAM1_Bus" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
+            <ports xmi:id="CORE1/Port_GenericCrossbarNet?type=HwPort" name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
             <accessElements name="CORE1_to_LRAM0" destination="LRAM0?type=Memory">
               <readLatency xsi:type="am:DiscreteValueConstant" value="9"/>
               <writeLatency xsi:type="am:DiscreteValueConstant" value="9"/>
@@ -164653,12 +164303,10 @@
               <writeLatency xsi:type="am:DiscreteValueConstant" value="9"/>
             </accessElements>
           </modules>
-          <modules xsi:type="am:ConnectionHandler" xmi:id="CORE1_to_LRAM1_Bus?type=ConnectionHandler" name="CORE1_to_LRAM1_Bus" definition="GenericLocalBus?type=ConnectionHandlerDefinition"/>
+          <modules xsi:type="am:ConnectionHandler" xmi:id="CORE1_to_LRAM1_Bus?type=ConnectionHandler" name="CORE1_to_LRAM1_Bus" frequencyDomain="GenericPLL?type=FrequencyDomain" definition="GenericLocalBus?type=ConnectionHandlerDefinition"/>
           <modules xsi:type="am:ProcessingUnit" xmi:id="CORE2?type=ProcessingUnit" name="CORE2" frequencyDomain="GenericPLL?type=FrequencyDomain" definition="GenericCore?type=ProcessingUnitDefinition">
-            <ports xmi:id="CORE2/Port_CORE2_to_LRAM2_Bus?type=HwPort" 
-name="Port_CORE2_to_LRAM2_Bus" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
-            <ports xmi:id="CORE2/Port_GenericCrossbarNet?type=HwPort" 
-name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
+            <ports xmi:id="CORE2/Port_CORE2_to_LRAM2_Bus?type=HwPort" name="Port_CORE2_to_LRAM2_Bus" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
+            <ports xmi:id="CORE2/Port_GenericCrossbarNet?type=HwPort" name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
             <accessElements name="CORE2_to_LRAM0" destination="LRAM0?type=Memory">
               <readLatency xsi:type="am:DiscreteValueConstant" value="9"/>
               <writeLatency xsi:type="am:DiscreteValueConstant" value="9"/>
@@ -164680,12 +164328,10 @@
               <writeLatency xsi:type="am:DiscreteValueConstant" value="9"/>
             </accessElements>
           </modules>
-          <modules xsi:type="am:ConnectionHandler" xmi:id="CORE2_to_LRAM2_Bus?type=ConnectionHandler" name="CORE2_to_LRAM2_Bus" definition="GenericLocalBus?type=ConnectionHandlerDefinition"/>
+          <modules xsi:type="am:ConnectionHandler" xmi:id="CORE2_to_LRAM2_Bus?type=ConnectionHandler" name="CORE2_to_LRAM2_Bus" frequencyDomain="GenericPLL?type=FrequencyDomain" definition="GenericLocalBus?type=ConnectionHandlerDefinition"/>
           <modules xsi:type="am:ProcessingUnit" xmi:id="CORE3?type=ProcessingUnit" name="CORE3" frequencyDomain="GenericPLL?type=FrequencyDomain" definition="GenericCore?type=ProcessingUnitDefinition">
-            <ports xmi:id="CORE3/Port_CORE3_to_LRAM3_Bus?type=HwPort" 
-name="Port_CORE3_to_LRAM3_Bus" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
-            <ports xmi:id="CORE3/Port_GenericCrossbarNet?type=HwPort" 
-name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
+            <ports xmi:id="CORE3/Port_CORE3_to_LRAM3_Bus?type=HwPort" name="Port_CORE3_to_LRAM3_Bus" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
+            <ports xmi:id="CORE3/Port_GenericCrossbarNet?type=HwPort" name="Port_GenericCrossbarNet" bitWidth="32" priority="0" portType="initiator" portInterface="custom"/>
             <accessElements name="CORE3_to_LRAM0" destination="LRAM0?type=Memory">
               <readLatency xsi:type="am:DiscreteValueConstant" value="9"/>
               <writeLatency xsi:type="am:DiscreteValueConstant" value="9"/>
@@ -164707,7 +164353,7 @@
               <writeLatency xsi:type="am:DiscreteValueConstant" value="9"/>
             </accessElements>
           </modules>
-          <modules xsi:type="am:ConnectionHandler" xmi:id="CORE3_to_LRAM3_Bus?type=ConnectionHandler" name="CORE3_to_LRAM3_Bus" definition="GenericLocalBus?type=ConnectionHandlerDefinition"/>
+          <modules xsi:type="am:ConnectionHandler" xmi:id="CORE3_to_LRAM3_Bus?type=ConnectionHandler" name="CORE3_to_LRAM3_Bus" frequencyDomain="GenericPLL?type=FrequencyDomain" definition="GenericLocalBus?type=ConnectionHandlerDefinition"/>
         </structures>
       </structures>
     </structures>
@@ -164853,14 +164499,10 @@
     </stimuli>
   </stimuliModel>
   <eventModel>
-    <events xsi:type="am:RunnableEvent" xmi:id="RunnableStart_Runnable_10ms_149?type=RunnableEvent" name="RunnableStart_Runnable_10ms_149" 
-eventType="start" entity="Runnable_10ms_149?type=Runnable"/>
-    <events xsi:type="am:RunnableEvent" xmi:id="RunnableStart_Runnable_10ms_243?type=RunnableEvent" name="RunnableStart_Runnable_10ms_243" 
-eventType="start" entity="Runnable_10ms_243?type=Runnable"/>
-    <events xsi:type="am:RunnableEvent" xmi:id="RunnableStart_Runnable_10ms_272?type=RunnableEvent" name="RunnableStart_Runnable_10ms_272" 
-eventType="start" entity="Runnable_10ms_272?type=Runnable"/>
-    <events xsi:type="am:RunnableEvent" xmi:id="RunnableStart_Runnable_10ms_107?type=RunnableEvent" name="RunnableStart_Runnable_10ms_107" 
-eventType="start" entity="Runnable_10ms_107?type=Runnable"/>
+    <events xsi:type="am:RunnableEvent" xmi:id="RunnableStart_Runnable_10ms_149?type=RunnableEvent" name="RunnableStart_Runnable_10ms_149" eventType="start" entity="Runnable_10ms_149?type=Runnable"/>
+    <events xsi:type="am:RunnableEvent" xmi:id="RunnableStart_Runnable_10ms_243?type=RunnableEvent" name="RunnableStart_Runnable_10ms_243" eventType="start" entity="Runnable_10ms_243?type=Runnable"/>
+    <events xsi:type="am:RunnableEvent" xmi:id="RunnableStart_Runnable_10ms_272?type=RunnableEvent" name="RunnableStart_Runnable_10ms_272" eventType="start" entity="Runnable_10ms_272?type=Runnable"/>
+    <events xsi:type="am:RunnableEvent" xmi:id="RunnableStart_Runnable_10ms_107?type=RunnableEvent" name="RunnableStart_Runnable_10ms_107" eventType="start" entity="Runnable_10ms_107?type=Runnable"/>
     <events xsi:type="am:RunnableEvent" xmi:id="RunnableStart_Runnable_100ms_7?type=RunnableEvent" name="RunnableStart_Runnable_100ms_7" eventType="start" entity="Runnable_100ms_7?type=Runnable"/>
     <events xsi:type="am:RunnableEvent" xmi:id="RunnableStart_Runnable_10ms_19?type=RunnableEvent" name="RunnableStart_Runnable_10ms_19" eventType="start" entity="Runnable_10ms_19?type=Runnable"/>
     <events xsi:type="am:RunnableEvent" xmi:id="RunnableStart_Runnable_2ms_8?type=RunnableEvent" name="RunnableStart_Runnable_2ms_8" description="" eventType="start" entity="Runnable_2ms_8?type=Runnable"/>
@@ -165137,7 +164779,6 @@
     <memoryMapping abstractElement="Label_106?type=Label" memory="LRAM3?type=Memory" memoryPositionAddress="0x0"/>
     <memoryMapping abstractElement="Label_107?type=Label" memory="LRAM3?type=Memory" memoryPositionAddress="0x0"/>
     <memoryMapping abstractElement="Label_108?type=Label" memory="LRAM2?type=Memory" memoryPositionAddress="0x0"/>
-
     <memoryMapping abstractElement="Label_109?type=Label" memory="LRAM2?type=Memory" memoryPositionAddress="0x0"/>
     <memoryMapping abstractElement="Label_110?type=Label" memory="LRAM2?type=Memory" memoryPositionAddress="0x0"/>
     <memoryMapping abstractElement="Label_111?type=Label" memory="LRAM2?type=Memory" memoryPositionAddress="0x0"/>
@@ -166651,7 +166292,6 @@
     <memoryMapping abstractElement="Label_1619?type=Label" memory="LRAM2?type=Memory" memoryPositionAddress="0x0"/>
     <memoryMapping abstractElement="Label_1620?type=Label" memory="LRAM0?type=Memory" memoryPositionAddress="0x0"/>
     <memoryMapping abstractElement="Label_1621?type=Label" memory="LRAM3?type=Memory" memoryPositionAddress="0x0"/>
-
     <memoryMapping abstractElement="Label_1622?type=Label" memory="LRAM3?type=Memory" memoryPositionAddress="0x0"/>
     <memoryMapping abstractElement="Label_1623?type=Label" memory="LRAM2?type=Memory" memoryPositionAddress="0x0"/>
     <memoryMapping abstractElement="Label_1624?type=Label" memory="LRAM3?type=Memory" memoryPositionAddress="0x0"/>
diff --git a/manager/app4mc-cloud-manager-app/src/main/resources/static/examples/democarWithFixedPriorityScheduler.amxmi b/manager/app4mc-cloud-manager-app/src/main/resources/static/examples/democarWithFixedPriorityScheduler.amxmi
index 4be3b7c..55996b2 100644
--- a/manager/app4mc-cloud-manager-app/src/main/resources/static/examples/democarWithFixedPriorityScheduler.amxmi
+++ b/manager/app4mc-cloud-manager-app/src/main/resources/static/examples/democarWithFixedPriorityScheduler.amxmi
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<am:Amalthea xmlns:am="http://app4mc.eclipse.org/amalthea/1.0.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
+<am:Amalthea xmlns:am="http://app4mc.eclipse.org/amalthea/1.1.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
   <swModel>
     <tasks xmi:id="Task_10MS?type=Task" name="Task_10MS" stimuli="Timer_10MS?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="10">
       <activityGraph>
diff --git a/org.eclipse.app4mc.amlt2systemc.cloud/.gitignore b/org.eclipse.app4mc.amlt2systemc.cloud/.gitignore
deleted file mode 100644
index 785e40b..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-.metadata/
-
-# Eclipse target directories
-bin/
-target/
-
-#pomless tycho fragments
-pom.tycho
\ No newline at end of file
diff --git a/org.eclipse.app4mc.amlt2systemc.cloud/.mvn/extensions.xml b/org.eclipse.app4mc.amlt2systemc.cloud/.mvn/extensions.xml
deleted file mode 100644
index 0ba8158..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/.mvn/extensions.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<extensions>
-  <extension>
-    <groupId>org.eclipse.tycho.extras</groupId>
-    <artifactId>tycho-pomless</artifactId>
-    <version>2.2.0</version>
-  </extension>
-</extensions>
\ No newline at end of file
diff --git a/org.eclipse.app4mc.amlt2systemc.cloud/Dockerfile b/org.eclipse.app4mc.amlt2systemc.cloud/Dockerfile
deleted file mode 100644
index 0eefec7..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/Dockerfile
+++ /dev/null
@@ -1,6 +0,0 @@
-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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.classpath b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.classpath
deleted file mode 100644
index eca7bdb..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.project b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.project
deleted file mode 100644
index 4bd5e22..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f6ece8..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/META-INF/MANIFEST.MF b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/META-INF/MANIFEST.MF
deleted file mode 100644
index de0d068..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-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",
- com.fasterxml.jackson.databind.node;version="2.9.93",
- javax.servlet;version="3.1.0",
- javax.servlet.http;version="3.1.0",
- org.eclipse.app4mc.amalthea.model,
- 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
-Bundle-Vendor: Eclipse APP4MC
-Service-Component: OSGI-INF/org.eclipse.app4mc.amlt2systemc.cloud.http.TransformationServlet.xml
diff --git a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/OSGI-INF/org.eclipse.app4mc.amlt2systemc.cloud.http.TransformationServlet.xml b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/OSGI-INF/org.eclipse.app4mc.amlt2systemc.cloud.http.TransformationServlet.xml
deleted file mode 100644
index 108350a..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/OSGI-INF/org.eclipse.app4mc.amlt2systemc.cloud.http.TransformationServlet.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/about.html b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/about.html
deleted file mode 100644
index f87aeb3..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/build.properties b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/build.properties
deleted file mode 100644
index 79789f3..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               OSGI-INF/,\
-               about.html,\
-               epl-2.0.html
diff --git a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/epl-2.0.html b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/epl-2.0.html
deleted file mode 100644
index 637a181..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/epl-2.0.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/src/org/eclipse/app4mc/amlt2systemc/cloud/http/TransformationServlet.java b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/src/org/eclipse/app4mc/amlt2systemc/cloud/http/TransformationServlet.java
deleted file mode 100644
index aa74ed2..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/src/org/eclipse/app4mc/amlt2systemc/cloud/http/TransformationServlet.java
+++ /dev/null
@@ -1,448 +0,0 @@
-/*********************************************************************************
- * Copyright (c) 2020, 2021 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.amalthea.model.AmaltheaPackage;
-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;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-@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 static final String MODEL_VERSION;
-	static {
-		// Extracting namespace from AmaltheaPackage
-		String nsURI = AmaltheaPackage.eNS_URI;
-		
-		// Extracting AMALTHEA metamodel version
-		MODEL_VERSION = nsURI.lastIndexOf('/') != -1
-				? nsURI.substring(nsURI.lastIndexOf('/') + 1)
-				: nsURI;
-
-	}
-
-    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/config
-    // 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 && "config".equals(splitPath[1])) {
-    		response.setContentType("application/json");
-    		ObjectMapper mapper = new ObjectMapper();
-    		
-    		ObjectNode config = mapper.createObjectNode();
-    		config.put("description", "Transform an Amalthea model to simulation code.");
-    		
-    		ObjectNode input = mapper.createObjectNode();
-    		input.put("type", "amxmi");
-    		input.put("version", MODEL_VERSION);
-    		input.put("archive-supported", true);
-    		config.set("input", input);
-
-    		ObjectNode output = mapper.createObjectNode();
-    		output.put("type", "app4mc-sim-model");
-    		output.put("archive-supported", true);
-    		config.set("output", output);
-
-    		try {
-    			String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(config);
-    			response.getWriter().write(json);
-    		} catch (JsonProcessingException e) {
-    			response.getWriter().write(mapper.writeValueAsString(e));
-    		}
-
-    		return;
-    	} else 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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/.project b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/.project
deleted file mode 100644
index f967aa0..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/about.html b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/about.html
deleted file mode 100644
index 164f781..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/amlt2systemc_service.product b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/amlt2systemc_service.product
deleted file mode 100644
index fa6ff19..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/amlt2systemc_service.product
+++ /dev/null
@@ -1,113 +0,0 @@
-<?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.jetty.util.ajax"/>
-      <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="slf4j.api"/>
-      <plugin id="slf4j.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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/epl-2.0.html b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/epl-2.0.html
deleted file mode 100644
index 637a181..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/epl-2.0.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/.project b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/.project
deleted file mode 100644
index 358e750..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/about.html b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/about.html
deleted file mode 100644
index 164f781..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/epl-2.0.html b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/epl-2.0.html
deleted file mode 100644
index 637a181..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/epl-2.0.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!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.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/org.eclipse.app4mc.amlt2systemc.cloud.target.target b/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/org.eclipse.app4mc.amlt2systemc.cloud.target.target
deleted file mode 100644
index 6af444a..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/org.eclipse.app4mc.amlt2systemc.cloud.target.target
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde?>
-<target name="Amalthea AMLT2SystemC Cloud Target" sequenceNumber="1611663325">
-  <locations>
-    <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
-      <unit id="org.eclipse.sdk.feature.group" version="4.18.0.v20201202-1800"/>
-      <unit id="org.eclipse.equinox.sdk.feature.group" version="3.21.0.v20201128-0731"/>
-      <unit id="org.eclipse.equinox.compendium.sdk.feature.group" version="3.20.400.v20201102-2042"/>
-      <unit id="org.eclipse.equinox.server.jetty.feature.group" version="1.10.500.v20201127-2226"/>
-      <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.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.2.v20201124-1837"/>
-      <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.1.0.v20201023-1558"/>
-      <unit id="org.apache.felix.gogo.runtime" version="1.1.2.v20201023-1558"/>
-      <unit id="org.apache.felix.gogo.shell" version="1.1.2.v20201023-1558"/>
-      <unit id="org.eclipse.equinox.console" version="1.4.200.v20200828-1034"/>
-      <unit id="org.eclipse.emf.sdk.feature.group" version="2.24.0.v20200917-1439"/>
-      <unit id="org.eclipse.emf.ecore.xcore.sdk.feature.group" version="1.16.0.v20201105-0712"/>
-      <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.2.202008210805"/>
-      <unit id="org.eclipse.xtend.sdk.feature.group" version="2.24.0.v20201130-1016"/>
-      <unit id="org.eclipse.xtend.lib" version="2.24.0.v20201130-0911"/>
-      <unit id="org.eclipse.xtend.lib.macro" version="2.24.0.v20201130-0911"/>
-      <unit id="org.eclipse.xtext.xbase.lib.feature.group" version="2.24.0.v20201130-0912"/>
-      <repository location="http://download.eclipse.org/releases/2020-12"/>
-    </location>
-    <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
-      <unit id="org.eclipse.app4mc.amalthea.models.feature.group" version="1.0.0.202011301553"/>
-      <unit id="org.eclipse.app4mc.validation.feature.group" version="1.0.0.202011301553"/>
-      <repository location="https://download.eclipse.org/app4mc/updatesites/releases/1.0.0/"/>
-    </location>
-
-    <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" 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 includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" 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 includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" 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="http://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/repository"/>
-    </location>
-    <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" 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 includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
-      <unit id="org.eclipse.license.feature.group" version="2.0.2.v20181016-2210"/>
-      <repository location="http://download.eclipse.org/cbi/updates/license"/>
-    </location>
-	  <location includeDependencyScope="compile" includeSource="true" missingManifest="generate" type="Maven">
-		  <groupId>org.slf4j</groupId>
-		  <artifactId>slf4j-log4j12</artifactId>
-		  <version>1.7.30</version>
-		  <type>jar</type>
-	  </location>
-  </locations>
-</target>
\ No newline at end of file
diff --git a/org.eclipse.app4mc.amlt2systemc.cloud/pom.xml b/org.eclipse.app4mc.amlt2systemc.cloud/pom.xml
deleted file mode 100644
index 787c3ba..0000000
--- a/org.eclipse.app4mc.amlt2systemc.cloud/pom.xml
+++ /dev/null
@@ -1,223 +0,0 @@
-<?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.2.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.amlt2systemc.cloud/.project b/org.eclipse.app4mc.cloud.amlt2systemc/.project
similarity index 86%
rename from org.eclipse.app4mc.amlt2systemc.cloud/.project
rename to org.eclipse.app4mc.cloud.amlt2systemc/.project
index 4052477..2c14dbc 100644
--- a/org.eclipse.app4mc.amlt2systemc.cloud/.project
+++ b/org.eclipse.app4mc.cloud.amlt2systemc/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>org.eclipse.app4mc.amlt2systemc.cloud</name>
+	<name>org.eclipse.app4mc.cloud.amlt2systemc</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/org.eclipse.app4mc.amlt2systemc.cloud/.settings/org.eclipse.core.resources.prefs b/org.eclipse.app4mc.cloud.amlt2systemc/.settings/org.eclipse.core.resources.prefs
similarity index 100%
rename from org.eclipse.app4mc.amlt2systemc.cloud/.settings/org.eclipse.core.resources.prefs
rename to org.eclipse.app4mc.cloud.amlt2systemc/.settings/org.eclipse.core.resources.prefs
diff --git a/org.eclipse.app4mc.amlt2systemc.cloud/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.app4mc.cloud.amlt2systemc/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
rename from org.eclipse.app4mc.amlt2systemc.cloud/.settings/org.eclipse.m2e.core.prefs
rename to org.eclipse.app4mc.cloud.amlt2systemc/.settings/org.eclipse.m2e.core.prefs
diff --git a/org.eclipse.app4mc.cloud.amlt2systemc/Dockerfile b/org.eclipse.app4mc.cloud.amlt2systemc/Dockerfile
new file mode 100644
index 0000000..d007438
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.amlt2systemc/Dockerfile
@@ -0,0 +1,5 @@
+FROM amazoncorretto:8u275
+
+COPY amlt2systemc-app/target/amlt2systemc-app.jar amlt2systemc-app.jar
+
+ENTRYPOINT ["java","-jar","/amlt2systemc-app.jar"]
\ No newline at end of file
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/.classpath b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/.classpath
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-app/.classpath
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/.classpath
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.project b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/.project
similarity index 93%
copy from org.eclipse.app4mc.converter.cloud/converter-service/.project
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/.project
index c5f0845..eb11040 100644
--- a/org.eclipse.app4mc.converter.cloud/converter-service/.project
+++ b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>converter-service</name>
+	<name>amlt2systemc-app</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.core.resources.prefs b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.core.resources.prefs
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/.settings/org.eclipse.core.resources.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.jdt.core.prefs
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/.settings/org.eclipse.jdt.core.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.m2e.core.prefs
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/.settings/org.eclipse.m2e.core.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/about.html b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/about.html
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-app/about.html
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/about.html
diff --git a/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/amlt2systemc-app.bndrun b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/amlt2systemc-app.bndrun
new file mode 100644
index 0000000..0399c36
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/amlt2systemc-app.bndrun
@@ -0,0 +1,56 @@
+index: target/index.xml;name="amlt2systemc-app"
+
+-standalone: ${index}
+
+-runrequires: \
+	osgi.identity;filter:='(osgi.identity=org.eclipse.app4mc.cloud.amlt2systemc-app)',\
+	osgi.identity;filter:='(osgi.identity=org.eclipse.app4mc.cloud.amlt2systemc-service)',\
+	bnd.identity;id='org.apache.aries.jax.rs.jackson',\
+	bnd.identity;id='org.eclipse.app4mc.amlt2systemc.m2t',\
+	bnd.identity;id='org.eclipse.equinox.cm',\
+	bnd.identity;id='org.eclipse.osgi.services'
+-runfw: org.eclipse.osgi
+-runee: JavaSE-1.8
+
+-resolve.effective: active
+-runproperties: org.osgi.service.http.port=8282, org.eclipse.emf.ecore.EPackage.Registry.INSTANCE=org.eclipse.emf.ecore.impl.EPackageRegistryImpl
+-runbundles: \
+	ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
+	ch.qos.logback.core;version='[1.2.3,1.2.4)',\
+	com.fasterxml.jackson.core.jackson-annotations;version='[2.9.0,2.9.1)',\
+	com.fasterxml.jackson.core.jackson-core;version='[2.9.6,2.9.7)',\
+	com.fasterxml.jackson.core.jackson-databind;version='[2.9.6,2.9.7)',\
+	com.fasterxml.jackson.jaxrs.jackson-jaxrs-base;version='[2.9.6,2.9.7)',\
+	com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider;version='[2.9.6,2.9.7)',\
+	com.fasterxml.jackson.module.jackson-module-jaxb-annotations;version='[2.9.6,2.9.7)',\
+	com.google.guava;version='[27.1.0,27.1.1)',\
+	com.google.guava.failureaccess;version='[1.0.1,1.0.2)',\
+	com.google.inject;version='[3.0.0,3.0.1)',\
+	org.apache.aries.javax.jax.rs-api;version='[1.0.0,1.0.1)',\
+	org.apache.aries.jax.rs.jackson;version='[1.0.2,1.0.3)',\
+	org.apache.aries.jax.rs.whiteboard;version='[1.0.1,1.0.2)',\
+	org.apache.commons.math3;version='[3.6.1,3.6.2)',\
+	org.apache.felix.configurator;version='[1.0.6,1.0.7)',\
+	org.apache.felix.http.jetty;version='[4.1.6,4.1.7)',\
+	org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
+	org.apache.felix.scr;version='[2.1.10,2.1.11)',\
+	org.apache.servicemix.bundles.aopalliance;version='[1.0.0,1.0.1)',\
+	org.apache.servicemix.bundles.javax-inject;version='[1.0.0,1.0.1)',\
+	org.apache.servicemix.specs.annotation-api-1.3;version='[1.3.0,1.3.1)',\
+	org.eclipse.app4mc.amalthea.model;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amlt2systemc.m2t;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.cloud.amlt2systemc-app;version='[1.0.0,1.0.1)',\
+	org.eclipse.app4mc.cloud.amlt2systemc-service;version='[1.0.0,1.0.1)',\
+	org.eclipse.app4mc.transformation;version='[1.1.0,1.1.1)',\
+	org.eclipse.emf.common;version='[2.21.0,2.21.1)',\
+	org.eclipse.emf.ecore;version='[2.23.0,2.23.1)',\
+	org.eclipse.emf.ecore.xcore.lib;version='[1.5.0,1.5.1)',\
+	org.eclipse.emf.ecore.xmi;version='[2.16.0,2.16.1)',\
+	org.eclipse.equinox.cm;version='[1.5.0,1.5.1)',\
+	org.eclipse.equinox.event;version='[1.4.300,1.4.301)',\
+	org.eclipse.osgi.services;version='[3.10.0,3.10.1)',\
+	org.eclipse.xtext.xbase.lib;version='[2.24.0,2.24.1)',\
+	org.osgi.service.jaxrs;version='[1.0.0,1.0.1)',\
+	org.osgi.util.function;version='[1.1.0,1.1.1)',\
+	org.osgi.util.promise;version='[1.1.0,1.1.1)',\
+	slf4j.api;version='[1.7.25,1.7.26)'
\ No newline at end of file
diff --git a/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/debug.bndrun b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/debug.bndrun
new file mode 100644
index 0000000..4b7f026
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/debug.bndrun
@@ -0,0 +1,17 @@
+-include: ~amlt2systemc-app.bndrun
+
+test-index: target/test-index.xml;name="amlt2systemc-app Test"
+
+-standalone: ${index},${test-index}
+
+-runproperties: \
+	osgi.console=,\
+	osgi.console.enable.builtin=false
+
+-runrequires.debug: osgi.identity;filter:='(osgi.identity=org.apache.felix.webconsole)',\
+ osgi.identity;filter:='(osgi.identity=org.apache.felix.webconsole.plugins.ds)',\
+ osgi.identity;filter:='(osgi.identity=org.apache.felix.webconsole.plugins.event)',\
+ osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.shell)',\
+ osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.runtime)',\
+ osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)'
+ 
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/epl-2.0.html b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/epl-2.0.html
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-app/epl-2.0.html
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/epl-2.0.html
diff --git a/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/pom.xml b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/pom.xml
new file mode 100644
index 0000000..c1530cd
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/pom.xml
@@ -0,0 +1,105 @@
+<?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>
+    <parent>
+        <groupId>org.eclipse.app4mc.cloud</groupId>
+        <artifactId>org.eclipse.app4mc.cloud.amlt2systemc</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>amlt2systemc-app</artifactId>
+
+    <description>The org.eclipse.app4mc.cloud.amlt2systemc application packaging project - using OSGi enRoute R7</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.eclipse.app4mc.cloud</groupId>
+            <artifactId>amlt2systemc-service</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi.enroute</groupId>
+            <artifactId>osgi-api</artifactId>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi.enroute</groupId>
+            <artifactId>impl-index</artifactId>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi.enroute</groupId>
+            <artifactId>debug-bundles</artifactId>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+		    <groupId>com.google.inject</groupId>
+		    <artifactId>guice</artifactId>
+		    <version>3.0</version>
+		</dependency>
+		<dependency>
+		    <groupId>org.apache.servicemix.bundles</groupId>
+		    <artifactId>org.apache.servicemix.bundles.javax-inject</artifactId>
+		    <version>1_3</version>
+		</dependency>
+        <dependency>
+		    <groupId>org.apache.servicemix.bundles</groupId>
+		    <artifactId>org.apache.servicemix.bundles.aopalliance</artifactId>
+		    <version>1.0_6</version>
+		</dependency>
+        <dependency>
+		    <groupId>org.apache.felix</groupId>
+		    <artifactId>org.apache.felix.webconsole.plugins.event</artifactId>
+		    <version>1.1.8</version>
+		</dependency>
+        <dependency>
+		    <groupId>org.eclipse.platform</groupId>
+		    <artifactId>org.eclipse.equinox.cm</artifactId>
+		    <version>1.5.0</version>
+		    <scope>runtime</scope>
+		</dependency>
+		<dependency>
+		    <groupId>org.eclipse.platform</groupId>
+		    <artifactId>org.eclipse.osgi.services</artifactId>
+		    <version>3.10.0</version>
+		    <scope>runtime</scope>
+		</dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>biz.aQute.bnd</groupId>
+                <artifactId>bnd-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>biz.aQute.bnd</groupId>
+                <artifactId>bnd-indexer-maven-plugin</artifactId>
+                <configuration>
+                    <includeJar>true</includeJar>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>biz.aQute.bnd</groupId>
+                <artifactId>bnd-export-maven-plugin</artifactId>
+                <configuration>
+                    <bndruns>
+                        <bndrun>amlt2systemc-app.bndrun</bndrun>
+                    </bndruns>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>biz.aQute.bnd</groupId>
+                <artifactId>bnd-resolver-maven-plugin</artifactId>
+                <configuration>
+                    <bndruns>
+                        <bndrun>amlt2systemc-app.bndrun</bndrun>
+                        <bndrun>debug.bndrun</bndrun>
+                    </bndruns>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/src/main/java/config/package-info.java b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/src/main/java/config/package-info.java
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-app/src/main/java/config/package-info.java
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/src/main/java/config/package-info.java
diff --git a/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/src/main/resources/OSGI-INF/configurator/configuration.json b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/src/main/resources/OSGI-INF/configurator/configuration.json
new file mode 100644
index 0000000..ed6b3fd
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/src/main/resources/OSGI-INF/configurator/configuration.json
@@ -0,0 +1,9 @@
+{
+    ":configurator:resource-version" : 1,
+    ":configurator:symbolic-name" : "org.eclipse.app4mc.cloud.amlt2systemc-app.config",
+    ":configurator:version" : "1.0.0-SNAPSHOT",
+    
+    "org.apache.aries.jax.rs.whiteboard.default" : {
+	    "osgi.http.whiteboard.servlet.multipart.enabled" : "true"
+    }
+}
\ No newline at end of file
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.classpath b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/.classpath
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-service/.classpath
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/.classpath
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.project b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/.project
similarity index 93%
copy from org.eclipse.app4mc.converter.cloud/converter-service/.project
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/.project
index c5f0845..cf81ccf 100644
--- a/org.eclipse.app4mc.converter.cloud/converter-service/.project
+++ b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>converter-service</name>
+	<name>amlt2systemc-service</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.core.resources.prefs b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.core.resources.prefs
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/.settings/org.eclipse.core.resources.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.jdt.core.prefs
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/.settings/org.eclipse.jdt.core.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.m2e.core.prefs
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/.settings/org.eclipse.m2e.core.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/about.html b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/about.html
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-service/about.html
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/about.html
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/epl-2.0.html b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/epl-2.0.html
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-service/epl-2.0.html
copy to org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/epl-2.0.html
diff --git a/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/pom.xml b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/pom.xml
new file mode 100644
index 0000000..183adf3
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/pom.xml
@@ -0,0 +1,66 @@
+<?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>
+    <parent>
+        <groupId>org.eclipse.app4mc.cloud</groupId>
+        <artifactId>org.eclipse.app4mc.cloud.amlt2systemc</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <artifactId>amlt2systemc-service</artifactId>
+    
+    <description>The main bundle for the APP4MC Amalthea to SystemC Transformation Cloud Service</description>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.osgi.enroute</groupId>
+            <artifactId>osgi-api</artifactId>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi.enroute</groupId>
+            <artifactId>enterprise-api</artifactId>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi.enroute</groupId>
+            <artifactId>test-bundles</artifactId>
+            <type>pom</type>
+        </dependency>
+		<dependency>
+			<groupId>org.apache.aries.jax.rs</groupId>
+			<artifactId>org.apache.aries.jax.rs.jackson</artifactId>
+			<version>1.0.2</version>
+		</dependency>
+
+		<!-- APP4MC Model -->
+		<dependency>
+			<groupId>org.eclipse.app4mc.build</groupId>
+			<artifactId>org.eclipse.app4mc.amalthea.model</artifactId>
+			<version>1.1.0-SNAPSHOT</version>
+		</dependency>
+
+		<!-- APP4MC Transformation -->
+		<dependency>
+			<groupId>org.eclipse.app4mc.transformation</groupId>
+			<artifactId>org.eclipse.app4mc.transformation</artifactId>
+			<version>1.1.0-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.eclipse.app4mc.amlt2systemc</groupId>
+			<artifactId>org.eclipse.app4mc.amlt2systemc.m2t</artifactId>
+			<version>1.1.0-SNAPSHOT</version>
+			<scope>runtime</scope>
+		</dependency>
+		
+    </dependencies>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>biz.aQute.bnd</groupId>
+                <artifactId>bnd-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/src/main/java/org/eclipse/app4mc/cloud/amlt2systemc/SessionConfigHandler.java b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/src/main/java/org/eclipse/app4mc/cloud/amlt2systemc/SessionConfigHandler.java
new file mode 100644
index 0000000..355a922
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/src/main/java/org/eclipse/app4mc/cloud/amlt2systemc/SessionConfigHandler.java
@@ -0,0 +1,49 @@
+/*********************************************************************************
+ * Copyright (c) 2021 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.cloud.amlt2systemc;
+
+import org.eclipse.app4mc.transformation.ServiceConstants;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+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;
+
+/**
+ * EventHandler for the CM_DELETED event that is fired once the session
+ * configuration is deleted when the transformation is finished.
+ */
+@Component(property = EventConstants.EVENT_TOPIC + "=org/osgi/service/cm/ConfigurationEvent/CM_DELETED")
+public class SessionConfigHandler implements EventHandler {
+
+	private static final Logger LOGGER = LoggerFactory.getLogger(SessionConfigHandler.class);
+
+    @Reference
+    private SessionRegistry registry;
+    
+	@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);
+    		LOGGER.debug("Finish transformation session with id {}", uuid);
+    		if (!registry.isError(uuid)) {
+    			registry.setFinished(uuid);
+    		}
+    	}
+	}
+
+}
diff --git a/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/src/main/java/org/eclipse/app4mc/cloud/amlt2systemc/SessionRegistry.java b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/src/main/java/org/eclipse/app4mc/cloud/amlt2systemc/SessionRegistry.java
new file mode 100644
index 0000000..8233f04
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/src/main/java/org/eclipse/app4mc/cloud/amlt2systemc/SessionRegistry.java
@@ -0,0 +1,68 @@
+/*********************************************************************************
+ * Copyright (c) 2021 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.cloud.amlt2systemc;
+
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * The session registry that stores the status of the available sessions.
+ */
+@Component(service = SessionRegistry.class)
+public class SessionRegistry {
+
+	public enum Status {
+		PROGRESS, ERROR, FINISHED
+	}
+	
+	private ConcurrentHashMap<String, Status> registry = new ConcurrentHashMap<>();
+	
+	public Status getStatus(String uuid) {
+		return this.registry.get(uuid);
+	}
+	
+	public void setStatus(String uuid, Status status) {
+		this.registry.put(uuid, status);
+	}
+	
+	public void removeStatus(String uuid) {
+		this.registry.remove(uuid);
+	}
+	
+	public void setInProgress(String uuid) {
+		setStatus(uuid, Status.PROGRESS);
+	}
+	
+	public void setError(String uuid) {
+		setStatus(uuid, Status.ERROR);
+	}
+	
+	public void setFinished(String uuid) {
+		setStatus(uuid, Status.FINISHED);
+	}
+	
+	public boolean isInProgress(String uuid) {
+		return Status.PROGRESS.equals(getStatus(uuid));
+	}
+	
+	public boolean isFinished(String uuid) {
+		return Status.FINISHED.equals(getStatus(uuid));
+	}
+	
+	public boolean isError(String uuid) {
+		return Status.ERROR.equals(getStatus(uuid));
+	}
+	
+}
diff --git a/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/src/main/java/org/eclipse/app4mc/cloud/amlt2systemc/TransformationRestService.java b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/src/main/java/org/eclipse/app4mc/cloud/amlt2systemc/TransformationRestService.java
new file mode 100644
index 0000000..9e5b25a
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/src/main/java/org/eclipse/app4mc/cloud/amlt2systemc/TransformationRestService.java
@@ -0,0 +1,365 @@
+/*********************************************************************************
+ * Copyright (c) 2020, 2021 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.cloud.amlt2systemc;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Properties;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.stream.Stream;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.Part;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.CacheControl;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.Link;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.PathSegment;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+import javax.ws.rs.core.UriBuilder;
+import javax.ws.rs.core.UriInfo;
+
+import org.eclipse.app4mc.amalthea.model.util.ModelUtil;
+import org.eclipse.app4mc.transformation.ServiceConstants;
+import org.eclipse.app4mc.transformation.TransformationProcessor;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ServiceScope;
+import org.osgi.service.jaxrs.whiteboard.propertytypes.JSONRequired;
+import org.osgi.service.jaxrs.whiteboard.propertytypes.JaxrsResource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+@Component(service=TransformationRestService.class, scope = ServiceScope.PROTOTYPE)
+@JaxrsResource
+@Produces(MediaType.APPLICATION_JSON)
+@JSONRequired
+@Path("app4mc/amlt2systemc")
+public class TransformationRestService {
+
+	private static final String TEMP_DIR_PREFIX = "app4mc_amlt2systemc_";
+
+	private static final Logger LOGGER = LoggerFactory.getLogger(TransformationRestService.class);
+	
+	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;
+    
+    @Reference
+    private SessionRegistry registry;
+    
+	@GET
+	@Path("config")
+	public String config() {
+		ObjectMapper mapper = new ObjectMapper();
+		
+		ObjectNode config = mapper.createObjectNode();
+		config.put("description", "Transform an Amalthea model to simulation code.");
+		
+		ObjectNode input = mapper.createObjectNode();
+		input.put("type", "amxmi");
+		input.put("version", ModelUtil.MODEL_VERSION);
+		input.put("archive-supported", true);
+		config.set("input", input);
+
+		ObjectNode output = mapper.createObjectNode();
+		output.put("type", "app4mc-sim-model");
+		output.put("archive-supported", true);
+		config.set("output", output);
+
+		try {
+			return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(config);
+		} catch (JsonProcessingException e) {
+			return "Error in generating configuration definition: " + e.getMessage();
+		}
+	}
+	
+    @POST
+    @Consumes(MediaType.MULTIPART_FORM_DATA)
+    public Response upload(@Context HttpServletRequest request, @Context UriInfo uriInfo) throws IOException, ServletException {
+    	
+    	Link self = Link.fromUriBuilder(uriInfo.getAbsolutePathBuilder()).rel("self").build();
+
+    	Part part = request.getPart("file");
+    	if (part != null && part.getSubmittedFileName() != null && part.getSubmittedFileName().length() > 0) {
+    		String filename = part.getSubmittedFileName();
+    		try (InputStream is = part.getInputStream()) {
+    			java.nio.file.Path tempFolderPath = Files.createTempDirectory(TEMP_DIR_PREFIX);
+    			
+    			// extract uuid from pathname
+    			String uuid = tempFolderPath.toString().substring(tempFolderPath.toString().lastIndexOf('_') + 1);
+    			
+    			// copy file to temporary location
+    			java.nio.file.Path uploaded = Paths.get(tempFolderPath.toString(), filename);
+    			Files.copy(is, uploaded);
+    			
+    			if (Files.exists(uploaded)) {
+    				// mark uuid in progress
+    				this.registry.setInProgress(uuid);
+    				
+    				// 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);
+    		    			this.registry.setError(uuid);
+    						error(tempFolderPath, "Failure in transformation", e);
+    					}
+    				});
+    				
+    				// file upload succeeded and processing is triggered
+    				Link statusLink = Link.fromUriBuilder(uriInfo.getAbsolutePathBuilder()
+                            .path(uuid))
+    						.rel("status")
+    						.build();
+    				
+    				return Response
+    						.created(statusLink.getUri())
+    						.entity(uuid)
+    						.links(self, statusLink)
+    						.build();
+    			} else {
+    				// file upload failed
+    				return Response
+    						.status(Status.NOT_FOUND)
+    						.entity("Model file upload failed!")
+    						.links(self)
+    						.build();
+    			}
+    		}
+    	}
+
+    	return Response
+    			.status(Status.BAD_REQUEST)
+    			.entity("No model file provided!")
+    			.links(self)
+    			.build();
+    }
+    
+    @Path("{uuid}")
+    @GET
+    public Response status(@PathParam("uuid") String uuid, @Context UriInfo uriInfo) throws IOException {
+    	CacheControl cacheControl = new CacheControl();
+    	cacheControl.setNoCache(true);
+    	cacheControl.setNoStore(true);
+    	
+    	Link self = Link.fromUriBuilder(uriInfo.getAbsolutePathBuilder()).rel("self").build();
+    	
+    	java.nio.file.Path tempFolderPath = Paths.get(defaultBaseDir, TEMP_DIR_PREFIX + uuid);
+    	if (!Files.exists(tempFolderPath)) {
+			return Response
+					.status(Status.NOT_FOUND)
+					.entity("No status resource available for id " + uuid)
+					.build();
+    	}
+    	
+    	boolean hasErrorFile = false;
+    	try (Stream<java.nio.file.Path> files = Files.list(tempFolderPath)) {
+    		hasErrorFile = files.anyMatch(path -> path.endsWith(ERROR_FILE));
+    	}
+    	
+    	if (this.registry.isInProgress(uuid)) {
+    		return Response
+    				.accepted()
+    				.links(self)
+    				.cacheControl(cacheControl)
+    				.build();
+    	} else if (this.registry.isError(uuid) || hasErrorFile) {
+        	// processing finished with error
+    		Link errorLink = Link.fromUriBuilder(uriInfo.getAbsolutePathBuilder()
+                    .path("error"))
+    				.rel("error")
+    				.build();
+
+    		return Response
+    				.noContent()
+    				.links(self, errorLink)
+    				.cacheControl(cacheControl)
+    				.build();
+    	}
+    	
+    	// processing is finished
+		Link downloadLink = Link.fromUriBuilder(uriInfo.getAbsolutePathBuilder()
+                .path("download"))
+				.rel("result")
+				.build();
+
+		return Response
+				.ok()
+				.links(self, downloadLink)
+				.cacheControl(cacheControl)
+				.build();
+    }
+
+    @Path("{uuid}/download")
+    @GET
+    @Produces({ MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON } )
+    public Response download(@PathParam("uuid") String uuid, @Context UriInfo uriInfo) throws IOException {
+    	Link self = Link.fromUriBuilder(uriInfo.getAbsolutePathBuilder()).rel("self").build();
+
+    	java.nio.file.Path tempFolderPath = Paths.get(defaultBaseDir, TEMP_DIR_PREFIX + uuid);
+    	if (!Files.exists(tempFolderPath)) {
+			return Response
+					.status(Status.NOT_FOUND)
+					.entity("No download resource available for id " + uuid)
+					.build();
+    	}
+
+    	// if process is in progress, the download resource is 404
+    	if (this.registry.isInProgress(uuid)) {
+    		return Response
+    				.status(Status.NOT_FOUND)
+    				.entity("Process is still in progresss")
+    				.links(self)
+    				.build();
+    	}
+
+    	java.nio.file.Path path = Paths.get(tempFolderPath.toString(), "output", "m2t_output_text_files", "result.zip");
+    	if (!Files.exists(path)) {
+			return Response
+					.status(Status.NOT_FOUND)
+					.entity("No transformation result available!")
+    				.links(self)
+					.build();
+		}
+    	
+		List<PathSegment> pathSegments = uriInfo.getPathSegments();
+    	UriBuilder uriBuilder = uriInfo.getAbsolutePathBuilder().replacePath("");
+    	for (int i = 0; i < pathSegments.size() - 1; i++) {
+    		uriBuilder.path(pathSegments.get(i).getPath());
+    	}
+		Link deleteLink = Link.fromUriBuilder(uriBuilder)
+				.rel("delete")
+				.build();
+
+		return Response
+				.ok()
+				.entity(path.toFile())
+				.header("Content-Disposition", "attachment; filename=\"" + path.toFile().getName() + "\"")
+				.links(self, deleteLink)
+				.build();
+    }
+    
+    @Path("{uuid}/error")
+    @GET
+    @Produces({ MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_JSON } )
+    public Response error(@PathParam("uuid") String uuid, @Context UriInfo uriInfo) throws IOException {
+    	Link self = Link.fromUriBuilder(uriInfo.getAbsolutePathBuilder()).rel("self").build();
+
+    	java.nio.file.Path tempFolderPath = Paths.get(defaultBaseDir, TEMP_DIR_PREFIX + uuid);
+    	
+    	if (!Files.exists(tempFolderPath)) {
+    		return Response.status(Status.NOT_FOUND).build();
+    	}
+    	
+    	boolean hasErrorFile = false;
+    	try (Stream<java.nio.file.Path> files = Files.list(tempFolderPath)) {
+    		hasErrorFile = files.anyMatch(path -> path.endsWith(ERROR_FILE));
+    	}
+
+    	// if there is no error file, the error resource is 404
+    	if (!hasErrorFile) {
+    		return Response
+    				.status(Status.NOT_FOUND)
+    				.entity("No error occured")
+    				.links(self)
+    				.build();
+    	}
+    	
+    	java.nio.file.Path errorFilePath = Paths.get(tempFolderPath.toString(), ERROR_FILE);
+    	
+		List<PathSegment> pathSegments = uriInfo.getPathSegments();
+    	UriBuilder uriBuilder = uriInfo.getAbsolutePathBuilder().replacePath("");
+    	for (int i = 0; i < pathSegments.size() - 1; i++) {
+    		uriBuilder.path(pathSegments.get(i).getPath());
+    	}
+		Link deleteLink = Link.fromUriBuilder(uriBuilder)
+				.rel("delete")
+				.build();
+
+		return Response
+				.ok(errorFilePath.toFile())
+				.header("Content-Disposition", "attachment; filename=\"" + errorFilePath.toFile().getName() + "\"")
+				.links(self, deleteLink)
+				.build();
+    }
+    
+    @Path("{uuid}")
+    @DELETE
+    public Response delete(@PathParam("uuid") String uuid) throws IOException {
+    	java.nio.file.Path path = Paths.get(defaultBaseDir, TEMP_DIR_PREFIX + uuid);
+    	
+    	if (!Files.exists(path)) {
+    		return Response.status(Status.NOT_FOUND).build();
+    	}
+    	
+    	Files.walk(path)
+	    	.sorted(Comparator.reverseOrder())
+	    	.map(java.nio.file.Path::toFile)
+	    	.forEach(File::delete);
+    	
+    	this.registry.removeStatus(uuid);
+    	
+    	return Response.ok().build();
+    }
+
+
+	private void error(java.nio.file.Path resultFolder, String message, Exception exception) {
+		try {
+			java.nio.file.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);
+		}
+	}
+}
diff --git a/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/src/test/java/org/eclipse/app4mc/cloud/amlt2systemc/UnitTest.java b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/src/test/java/org/eclipse/app4mc/cloud/amlt2systemc/UnitTest.java
new file mode 100644
index 0000000..b5e5a0e
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-service/src/test/java/org/eclipse/app4mc/cloud/amlt2systemc/UnitTest.java
@@ -0,0 +1,12 @@
+package org.eclipse.app4mc.cloud.amlt2systemc;
+
+import org.junit.Test;
+
+public class UnitTest {
+    
+    @Test
+    public void testSomething() {
+        //TODO add an implementation
+    }
+    
+}
diff --git a/org.eclipse.app4mc.amlt2systemc.cloud/openapi.yaml b/org.eclipse.app4mc.cloud.amlt2systemc/openapi.yaml
similarity index 100%
rename from org.eclipse.app4mc.amlt2systemc.cloud/openapi.yaml
rename to org.eclipse.app4mc.cloud.amlt2systemc/openapi.yaml
diff --git a/org.eclipse.app4mc.cloud.amlt2systemc/pom.xml b/org.eclipse.app4mc.cloud.amlt2systemc/pom.xml
new file mode 100644
index 0000000..493f511
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.amlt2systemc/pom.xml
@@ -0,0 +1,252 @@
+<?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.cloud</groupId>
+    <artifactId>org.eclipse.app4mc.cloud.amlt2systemc</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <description>The org.eclipse.app4mc.cloud.amlt2systemc application - built using OSGi enRoute R7</description>
+
+    <properties>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <bnd.version>5.2.0</bnd.version>
+    </properties>
+
+    <modules>
+        <module>amlt2systemc-service</module>
+        <module>amlt2systemc-app</module>
+    </modules>
+
+    <repositories>
+        <repository>
+            <id>OSGi</id>
+            <name>OSGi public binaries</name>
+            <url>https://oss.sonatype.org/content/groups/osgi</url>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+        <repository>
+            <id>Apache Snapshots</id>
+            <url>https://repository.apache.org/content/groups/snapshots/</url>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+    </repositories>
+
+    <pluginRepositories>
+        <pluginRepository>
+            <id>Bnd Snapshots</id>
+            <name>Bnd Latest build</name>
+            <url>https://bndtools.ci.cloudbees.com/job/bnd.master/lastSuccessfulBuild/artifact/dist/bundles/</url>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </pluginRepository>
+    </pluginRepositories>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.osgi.enroute</groupId>
+                <artifactId>osgi-api</artifactId>
+                <version>7.0.0</version>
+                <type>pom</type>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.osgi.enroute</groupId>
+                <artifactId>enterprise-api</artifactId>
+                <version>7.0.0</version>
+                <type>pom</type>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.osgi.enroute</groupId>
+                <artifactId>impl-index</artifactId>
+                <version>7.0.0</version>
+                <type>pom</type>
+                <scope>runtime</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.osgi.enroute</groupId>
+                <artifactId>debug-bundles</artifactId>
+                <version>7.0.0</version>
+                <type>pom</type>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.osgi.enroute</groupId>
+                <artifactId>test-bundles</artifactId>
+                <version>7.0.0</version>
+                <type>pom</type>
+                <scope>test</scope>
+            </dependency>
+			<dependency>
+				<artifactId>org.apache.felix.http.jetty</artifactId>
+				<groupId>org.apache.felix</groupId>
+				<version>4.1.6</version>
+			</dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <build>
+        <pluginManagement>
+            <plugins>
+                <!-- Use the bnd-maven-plugin and assemble the symbolic names -->
+                <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
+                    <configuration>
+                        <bnd><![CDATA[
+Bundle-SymbolicName: ${project.groupId}.${project.artifactId}
+-sources: true
+-contract: *
+]]></bnd>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>bnd-process</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+                <!-- Required to make the maven-jar-plugin pick up the bnd 
+                    generated manifest. Also avoid packaging empty Jars -->
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-jar-plugin</artifactId>
+                    <version>3.0.2</version>
+                    <configuration>
+                        <archive>
+                            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+                        </archive>
+                        <skipIfEmpty>true</skipIfEmpty>
+                    </configuration>
+                </plugin>
+
+                <!-- Setup the indexer for running and testing -->
+                <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-indexer-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
+                    <configuration>
+                        <localURLs>REQUIRED</localURLs>
+                        <attach>false</attach>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <id>index</id>
+                            <goals>
+                                <goal>index</goal>
+                            </goals>
+                            <configuration>
+                                <indexName>${project.artifactId}</indexName>
+                            </configuration>
+                        </execution>
+                        <execution>
+                            <id>test-index</id>
+                            <goals>
+                                <goal>index</goal>
+                            </goals>
+                            <configuration>
+                                <indexName>${project.artifactId} Test</indexName>
+                                <outputFile>${project.build.directory}/test-index.xml</outputFile>
+                                <scopes>
+                                    <scope>test</scope>
+                                </scopes>
+                            </configuration>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <!-- Define the version of the resolver plugin we use -->
+                <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-resolver-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
+                    <configuration>
+                        <failOnChanges>false</failOnChanges>
+                        <bndruns>
+                        </bndruns>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>resolve</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <!-- Define the version of the export plugin we use -->
+                <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-export-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
+                    <configuration>
+                        <resolve>true</resolve>
+                        <failOnChanges>true</failOnChanges>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>export</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <!-- Define the version of the testing plugin that we use -->
+                <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-testing-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>testing</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <!-- Define the version of the baseline plugin we use and 
+                    avoid failing when no baseline jar exists. (for example before the first 
+                    release) -->
+                <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-baseline-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
+                    <configuration>
+                        <failOnMissing>false</failOnMissing>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>baseline</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+</project>
diff --git a/org.eclipse.app4mc.validation.cloud/.project b/org.eclipse.app4mc.cloud.migration/.project
similarity index 87%
rename from org.eclipse.app4mc.validation.cloud/.project
rename to org.eclipse.app4mc.cloud.migration/.project
index 03287ef..c281038 100644
--- a/org.eclipse.app4mc.validation.cloud/.project
+++ b/org.eclipse.app4mc.cloud.migration/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>org.eclipse.app4mc.validation.cloud</name>
+	<name>org.eclipse.app4mc.cloud.migration</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/org.eclipse.app4mc.converter.cloud/.settings/org.eclipse.core.resources.prefs b/org.eclipse.app4mc.cloud.migration/.settings/org.eclipse.core.resources.prefs
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/.settings/org.eclipse.core.resources.prefs
rename to org.eclipse.app4mc.cloud.migration/.settings/org.eclipse.core.resources.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.app4mc.cloud.migration/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/.settings/org.eclipse.m2e.core.prefs
rename to org.eclipse.app4mc.cloud.migration/.settings/org.eclipse.m2e.core.prefs
diff --git a/org.eclipse.app4mc.cloud.migration/Dockerfile b/org.eclipse.app4mc.cloud.migration/Dockerfile
new file mode 100644
index 0000000..912186d
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.migration/Dockerfile
@@ -0,0 +1,5 @@
+FROM amazoncorretto:8u275
+
+COPY migration-app/target/migration-app.jar migration-app.jar
+
+ENTRYPOINT ["java","-jar","/migration-app.jar"]
\ No newline at end of file
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/.classpath b/org.eclipse.app4mc.cloud.migration/migration-app/.classpath
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-app/.classpath
rename to org.eclipse.app4mc.cloud.migration/migration-app/.classpath
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/.project b/org.eclipse.app4mc.cloud.migration/migration-app/.project
similarity index 94%
copy from org.eclipse.app4mc.converter.cloud/converter-app/.project
copy to org.eclipse.app4mc.cloud.migration/migration-app/.project
index 7771c1a..0ce5fca 100644
--- a/org.eclipse.app4mc.converter.cloud/converter-app/.project
+++ b/org.eclipse.app4mc.cloud.migration/migration-app/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>converter-app</name>
+	<name>migration-app</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.core.resources.prefs b/org.eclipse.app4mc.cloud.migration/migration-app/.settings/org.eclipse.core.resources.prefs
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.core.resources.prefs
rename to org.eclipse.app4mc.cloud.migration/migration-app/.settings/org.eclipse.core.resources.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.app4mc.cloud.migration/migration-app/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.jdt.core.prefs
rename to org.eclipse.app4mc.cloud.migration/migration-app/.settings/org.eclipse.jdt.core.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.app4mc.cloud.migration/migration-app/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.m2e.core.prefs
rename to org.eclipse.app4mc.cloud.migration/migration-app/.settings/org.eclipse.m2e.core.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/about.html b/org.eclipse.app4mc.cloud.migration/migration-app/about.html
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-app/about.html
rename to org.eclipse.app4mc.cloud.migration/migration-app/about.html
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/debug.bndrun b/org.eclipse.app4mc.cloud.migration/migration-app/debug.bndrun
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-app/debug.bndrun
rename to org.eclipse.app4mc.cloud.migration/migration-app/debug.bndrun
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/epl-2.0.html b/org.eclipse.app4mc.cloud.migration/migration-app/epl-2.0.html
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-app/epl-2.0.html
rename to org.eclipse.app4mc.cloud.migration/migration-app/epl-2.0.html
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/converter-app.bndrun b/org.eclipse.app4mc.cloud.migration/migration-app/migration-app.bndrun
similarity index 66%
rename from org.eclipse.app4mc.converter.cloud/converter-app/converter-app.bndrun
rename to org.eclipse.app4mc.cloud.migration/migration-app/migration-app.bndrun
index 8e566c0..a88b6ff 100644
--- a/org.eclipse.app4mc.converter.cloud/converter-app/converter-app.bndrun
+++ b/org.eclipse.app4mc.cloud.migration/migration-app/migration-app.bndrun
@@ -3,8 +3,8 @@
 -standalone: ${index}
 
 -runrequires: \
-	bnd.identity;id='org.eclipse.app4mc.converter-app',\
-	bnd.identity;id='org.eclipse.app4mc.converter-service',\
+	osgi.identity;filter:='(osgi.identity=org.eclipse.app4mc.cloud.migration-app)',\
+	osgi.identity;filter:='(osgi.identity=org.eclipse.app4mc.cloud.migration-service)',\
 	bnd.identity;id='org.eclipse.app4mc.amalthea.converters.071',\
 	bnd.identity;id='org.eclipse.app4mc.amalthea.converters.072',\
 	bnd.identity;id='org.eclipse.app4mc.amalthea.converters.080',\
@@ -44,29 +44,29 @@
 	org.apache.aries.jax.rs.whiteboard;version='[1.0.1,1.0.2)',\
 	org.apache.felix.configadmin;version='[1.9.8,1.9.9)',\
 	org.apache.felix.configurator;version='[1.0.6,1.0.7)',\
-	org.apache.felix.http.jetty;version='[4.1.4,4.1.5)',\
+	org.apache.felix.http.jetty;version='[4.1.6,4.1.7)',\
 	org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
 	org.apache.felix.scr;version='[2.1.10,2.1.11)',\
 	org.apache.servicemix.bundles.jdom;version='[2.0.6,2.0.7)',\
 	org.apache.servicemix.specs.annotation-api-1.3;version='[1.3.0,1.3.1)',\
-	org.eclipse.app4mc.amalthea.converters.071;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.072;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.080;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.081;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.082;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.083;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.090;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.091;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.092;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.093;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.094;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.095;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.096;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.097;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.100;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.amalthea.converters.common;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.converter-app;version='[1.0.0,1.0.1)',\
-	org.eclipse.app4mc.converter-service;version='[1.0.0,1.0.1)',\
+	org.eclipse.app4mc.amalthea.converters.071;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.072;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.080;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.081;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.082;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.083;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.090;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.091;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.092;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.093;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.094;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.095;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.096;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.097;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.100;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.converters.common;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.cloud.migration-app;version='[1.0.0,1.0.1)',\
+	org.eclipse.app4mc.cloud.migration-service;version='[1.0.0,1.0.1)',\
 	org.eclipse.equinox.common;version='[3.12.0,3.12.1)',\
 	org.eclipse.osgi.services;version='[3.8.0,3.8.1)',\
 	org.eclipse.osgi.util;version='[3.5.300,3.5.301)',\
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/pom.xml b/org.eclipse.app4mc.cloud.migration/migration-app/pom.xml
similarity index 82%
rename from org.eclipse.app4mc.converter.cloud/converter-app/pom.xml
rename to org.eclipse.app4mc.cloud.migration/migration-app/pom.xml
index e045039..a35c9f9 100644
--- a/org.eclipse.app4mc.converter.cloud/converter-app/pom.xml
+++ b/org.eclipse.app4mc.cloud.migration/migration-app/pom.xml
@@ -2,20 +2,20 @@
 <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>
     <parent>
-        <groupId>org.eclipse.app4mc</groupId>
-        <artifactId>org.eclipse.app4mc.converter.cloud</artifactId>
+        <groupId>org.eclipse.app4mc.cloud</groupId>
+        <artifactId>org.eclipse.app4mc.cloud.migration</artifactId>
         <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>converter-app</artifactId>
+    <artifactId>migration-app</artifactId>
 
-    <description>The org.eclipse.app4mc.converter.cloud application packaging project - using OSGi enRoute R7</description>
+    <description>The org.eclipse.app4mc.cloud.migration application packaging project - using OSGi enRoute R7</description>
 
     <dependencies>
         <dependency>
-            <groupId>org.eclipse.app4mc</groupId>
-            <artifactId>converter-service</artifactId>
+            <groupId>org.eclipse.app4mc.cloud</groupId>
+            <artifactId>migration-service</artifactId>
             <version>1.0.0-SNAPSHOT</version>
         </dependency>
         <dependency>
@@ -53,7 +53,7 @@
                 <artifactId>bnd-export-maven-plugin</artifactId>
                 <configuration>
                     <bndruns>
-                        <bndrun>converter-app.bndrun</bndrun>
+                        <bndrun>migration-app.bndrun</bndrun>
                     </bndruns>
                 </configuration>
             </plugin>
@@ -62,7 +62,7 @@
                 <artifactId>bnd-resolver-maven-plugin</artifactId>
                 <configuration>
                     <bndruns>
-                        <bndrun>converter-app.bndrun</bndrun>
+                        <bndrun>migration-app.bndrun</bndrun>
                         <bndrun>debug.bndrun</bndrun>
                     </bndruns>
                 </configuration>
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/src/main/java/config/package-info.java b/org.eclipse.app4mc.cloud.migration/migration-app/src/main/java/config/package-info.java
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-app/src/main/java/config/package-info.java
rename to org.eclipse.app4mc.cloud.migration/migration-app/src/main/java/config/package-info.java
diff --git a/org.eclipse.app4mc.cloud.migration/migration-app/src/main/resources/OSGI-INF/configurator/configuration.json b/org.eclipse.app4mc.cloud.migration/migration-app/src/main/resources/OSGI-INF/configurator/configuration.json
new file mode 100644
index 0000000..d87c6b2
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.migration/migration-app/src/main/resources/OSGI-INF/configurator/configuration.json
@@ -0,0 +1,9 @@
+{
+    ":configurator:resource-version" : 1,
+    ":configurator:symbolic-name" : "org.eclipse.app4mc.cloud.converter-app.config",
+    ":configurator:version" : "1.0.0-SNAPSHOT",
+    
+    "org.apache.aries.jax.rs.whiteboard.default" : {
+	    "osgi.http.whiteboard.servlet.multipart.enabled" : "true"
+    }
+}
\ No newline at end of file
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.classpath b/org.eclipse.app4mc.cloud.migration/migration-service/.classpath
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-service/.classpath
rename to org.eclipse.app4mc.cloud.migration/migration-service/.classpath
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.project b/org.eclipse.app4mc.cloud.migration/migration-service/.project
similarity index 93%
rename from org.eclipse.app4mc.converter.cloud/converter-service/.project
rename to org.eclipse.app4mc.cloud.migration/migration-service/.project
index c5f0845..f67880f 100644
--- a/org.eclipse.app4mc.converter.cloud/converter-service/.project
+++ b/org.eclipse.app4mc.cloud.migration/migration-service/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>converter-service</name>
+	<name>migration-service</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.core.resources.prefs b/org.eclipse.app4mc.cloud.migration/migration-service/.settings/org.eclipse.core.resources.prefs
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.core.resources.prefs
rename to org.eclipse.app4mc.cloud.migration/migration-service/.settings/org.eclipse.core.resources.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.app4mc.cloud.migration/migration-service/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.jdt.core.prefs
rename to org.eclipse.app4mc.cloud.migration/migration-service/.settings/org.eclipse.jdt.core.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.app4mc.cloud.migration/migration-service/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.m2e.core.prefs
rename to org.eclipse.app4mc.cloud.migration/migration-service/.settings/org.eclipse.m2e.core.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/about.html b/org.eclipse.app4mc.cloud.migration/migration-service/about.html
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-service/about.html
rename to org.eclipse.app4mc.cloud.migration/migration-service/about.html
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/epl-2.0.html b/org.eclipse.app4mc.cloud.migration/migration-service/epl-2.0.html
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-service/epl-2.0.html
rename to org.eclipse.app4mc.cloud.migration/migration-service/epl-2.0.html
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/pom.xml b/org.eclipse.app4mc.cloud.migration/migration-service/pom.xml
similarity index 79%
rename from org.eclipse.app4mc.converter.cloud/converter-service/pom.xml
rename to org.eclipse.app4mc.cloud.migration/migration-service/pom.xml
index d7585d2..efe14a6 100644
--- a/org.eclipse.app4mc.converter.cloud/converter-service/pom.xml
+++ b/org.eclipse.app4mc.cloud.migration/migration-service/pom.xml
@@ -4,21 +4,21 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
 	<parent>
-		<groupId>org.eclipse.app4mc</groupId>
-		<artifactId>org.eclipse.app4mc.converter.cloud</artifactId>
+		<groupId>org.eclipse.app4mc.cloud</groupId>
+		<artifactId>org.eclipse.app4mc.cloud.migration</artifactId>
 		<version>1.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 
 	<modelVersion>4.0.0</modelVersion>
 
-	<description>The org.eclipse.app4mc.converter.cloud service implementation project - using OSGi enRoute R7</description>
+	<description>The main bundle for the APP4MC Migration Cloud Service</description>
 
 	<properties>
-		<app4mc.version>1.0.0-SNAPSHOT</app4mc.version>
+		<app4mc.version>1.1.0-SNAPSHOT</app4mc.version>
 	</properties>
 
-	<artifactId>converter-service</artifactId>
+	<artifactId>migration-service</artifactId>
 	
 	<build>
 		<plugins>
@@ -52,82 +52,82 @@
 		
 		<!-- APP4MC Migration -->
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.common</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.071</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.072</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.080</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.081</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.082</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.083</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.090</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.091</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.092</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.093</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.094</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.095</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.096</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.097</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
 		<dependency>
-			<groupId>org.eclipse.app4mc.converters</groupId>
+			<groupId>org.eclipse.app4mc.migration</groupId>
 			<artifactId>org.eclipse.app4mc.amalthea.converters.100</artifactId>
 			<version>${app4mc.version}</version>
 		</dependency>
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/src/main/java/org/eclipse/app4mc/org/eclipse/app4mc/converter/cloud/MigrationRestService.java b/org.eclipse.app4mc.cloud.migration/migration-service/src/main/java/org/eclipse/app4mc/converter/cloud/MigrationRestService.java
similarity index 99%
rename from org.eclipse.app4mc.converter.cloud/converter-service/src/main/java/org/eclipse/app4mc/org/eclipse/app4mc/converter/cloud/MigrationRestService.java
rename to org.eclipse.app4mc.cloud.migration/migration-service/src/main/java/org/eclipse/app4mc/converter/cloud/MigrationRestService.java
index c438c52..7976be6 100644
--- a/org.eclipse.app4mc.converter.cloud/converter-service/src/main/java/org/eclipse/app4mc/org/eclipse/app4mc/converter/cloud/MigrationRestService.java
+++ b/org.eclipse.app4mc.cloud.migration/migration-service/src/main/java/org/eclipse/app4mc/converter/cloud/MigrationRestService.java
@@ -11,7 +11,7 @@
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
  */
-package org.eclipse.app4mc.org.eclipse.app4mc.converter.cloud;
+package org.eclipse.app4mc.converter.cloud;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -76,7 +76,7 @@
 @JaxrsResource
 @Produces(MediaType.APPLICATION_JSON)
 @JSONRequired
-@Path("app4mc/converter")
+@Path("app4mc/migration")
 public class MigrationRestService {
 
 	private static final String TEMP_DIR_PREFIX = "app4mc_migration_";
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/src/test/java/org/eclipse/app4mc/org/eclipse/app4mc/converter/cloud/UnitTest.java b/org.eclipse.app4mc.cloud.migration/migration-service/src/test/java/org/eclipse/app4mc/org/eclipse/app4mc/converter/cloud/UnitTest.java
similarity index 100%
rename from org.eclipse.app4mc.converter.cloud/converter-service/src/test/java/org/eclipse/app4mc/org/eclipse/app4mc/converter/cloud/UnitTest.java
rename to org.eclipse.app4mc.cloud.migration/migration-service/src/test/java/org/eclipse/app4mc/org/eclipse/app4mc/converter/cloud/UnitTest.java
diff --git a/org.eclipse.app4mc.converter.cloud/openapi.yaml b/org.eclipse.app4mc.cloud.migration/openapi.yaml
similarity index 97%
rename from org.eclipse.app4mc.converter.cloud/openapi.yaml
rename to org.eclipse.app4mc.cloud.migration/openapi.yaml
index 07bdbaa..8744103 100644
--- a/org.eclipse.app4mc.converter.cloud/openapi.yaml
+++ b/org.eclipse.app4mc.cloud.migration/openapi.yaml
@@ -5,8 +5,8 @@
   description: APP4MC Model Migration API to migrate older model versions to the current one
 
 servers:
-  - url: http://localhost:8080/app4mc/converter
-  - url: https://app4mc.eclipseprojects.io/app4mc/converter
+  - url: http://localhost:8080/app4mc/migration
+  - url: https://app4mc.eclipseprojects.io/app4mc/migration
   
 paths:
   /:
diff --git a/org.eclipse.app4mc.converter.cloud/pom.xml b/org.eclipse.app4mc.cloud.migration/pom.xml
similarity index 93%
rename from org.eclipse.app4mc.converter.cloud/pom.xml
rename to org.eclipse.app4mc.cloud.migration/pom.xml
index 222fd53..d8b55cb 100644
--- a/org.eclipse.app4mc.converter.cloud/pom.xml
+++ b/org.eclipse.app4mc.cloud.migration/pom.xml
@@ -1,18 +1,51 @@
 <?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">
-	
-	<groupId>org.eclipse.app4mc</groupId>
-	<artifactId>org.eclipse.app4mc.converter.cloud</artifactId>
-	<version>1.0.0-SNAPSHOT</version>
-	<packaging>pom</packaging>
-	<description>The org.eclipse.app4mc.converter.cloud application - built using OSGi enRoute R7</description>
+<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.cloud</groupId>
+	<artifactId>org.eclipse.app4mc.cloud.migration</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>pom</packaging>
+	
+	<description>The org.eclipse.app4mc.cloud.migration application - built using OSGi enRoute R7</description>
+		
+	<properties>
+		<maven.compiler.source>1.8</maven.compiler.source>
+		<maven.compiler.target>1.8</maven.compiler.target>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<bnd.version>5.2.0</bnd.version>
+	</properties>
+	
 	<modules>
-		<module>converter-app</module>
-		<module>converter-service</module>
+		<module>migration-app</module>
+		<module>migration-service</module>
 	</modules>
 	
+	<repositories>
+		<repository>
+			<id>Apache Snapshots</id>
+			<releases>
+				<enabled>false</enabled>
+			</releases>
+			<snapshots>
+				<enabled>true</enabled>
+			</snapshots>
+			<url>http://repository.apache.org/content/groups/snapshots/</url>
+		</repository>
+		<repository>
+			<id>OSGi</id>
+			<name>OSGi public binaries</name>
+			<releases>
+				<enabled>true</enabled>
+			</releases>
+			<snapshots>
+				<enabled>true</enabled>
+			</snapshots>
+			<url>http://oss.sonatype.org/content/groups/osgi</url>
+		</repository>
+	</repositories>
+	
 	<build>
 		<pluginManagement>
 			<plugins>
@@ -178,11 +211,6 @@
 				<version>7.0.0</version>
 			</dependency>
 			<dependency>
-				<artifactId>org.apache.felix.http.jetty</artifactId>
-				<groupId>org.apache.felix</groupId>
-				<version>4.1.4</version>
-			</dependency>
-			<dependency>
 				<artifactId>osgi-api</artifactId>
 				<groupId>org.osgi.enroute</groupId>
 				<scope>provided</scope>
@@ -196,6 +224,11 @@
 				<type>pom</type>
 				<version>7.0.0</version>
 			</dependency>
+			<dependency>
+				<artifactId>org.apache.felix.http.jetty</artifactId>
+				<groupId>org.apache.felix</groupId>
+				<version>4.1.6</version>
+			</dependency>
 		</dependencies>
 	</dependencyManagement>
 	
@@ -212,35 +245,4 @@
 			<url>http://bndtools.ci.cloudbees.com/job/bnd.master/lastSuccessfulBuild/artifact/dist/bundles/</url>
 		</pluginRepository>
 	</pluginRepositories>
-	
-	<properties>
-		<bnd.version>5.2.0</bnd.version>
-		<maven.compiler.source>1.8</maven.compiler.source>
-		<maven.compiler.target>1.8</maven.compiler.target>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-	</properties>
-	
-	<repositories>
-		<repository>
-			<id>Apache Snapshots</id>
-			<releases>
-				<enabled>false</enabled>
-			</releases>
-			<snapshots>
-				<enabled>true</enabled>
-			</snapshots>
-			<url>http://repository.apache.org/content/groups/snapshots/</url>
-		</repository>
-		<repository>
-			<id>OSGi</id>
-			<name>OSGi public binaries</name>
-			<releases>
-				<enabled>true</enabled>
-			</releases>
-			<snapshots>
-				<enabled>true</enabled>
-			</snapshots>
-			<url>http://oss.sonatype.org/content/groups/osgi</url>
-		</repository>
-	</repositories>
 </project>
diff --git a/org.eclipse.app4mc.validation.cloud/.project b/org.eclipse.app4mc.cloud.validation/.project
similarity index 87%
copy from org.eclipse.app4mc.validation.cloud/.project
copy to org.eclipse.app4mc.cloud.validation/.project
index 03287ef..ecce6ab 100644
--- a/org.eclipse.app4mc.validation.cloud/.project
+++ b/org.eclipse.app4mc.cloud.validation/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>org.eclipse.app4mc.validation.cloud</name>
+	<name>org.eclipse.app4mc.cloud.validation</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/org.eclipse.app4mc.converter.cloud/.settings/org.eclipse.core.resources.prefs b/org.eclipse.app4mc.cloud.validation/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/.settings/org.eclipse.core.resources.prefs
copy to org.eclipse.app4mc.cloud.validation/.settings/org.eclipse.core.resources.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.app4mc.cloud.validation/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/.settings/org.eclipse.m2e.core.prefs
copy to org.eclipse.app4mc.cloud.validation/.settings/org.eclipse.m2e.core.prefs
diff --git a/org.eclipse.app4mc.cloud.validation/Dockerfile b/org.eclipse.app4mc.cloud.validation/Dockerfile
new file mode 100644
index 0000000..a227fad
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.validation/Dockerfile
@@ -0,0 +1,5 @@
+FROM amazoncorretto:8u275
+
+COPY validation-app/target/validation-app.jar validation-app.jar
+
+ENTRYPOINT ["java","-jar","/validation-app.jar"]
\ No newline at end of file
diff --git a/org.eclipse.app4mc.validation.cloud/openapi.yaml b/org.eclipse.app4mc.cloud.validation/openapi.yaml
similarity index 100%
rename from org.eclipse.app4mc.validation.cloud/openapi.yaml
rename to org.eclipse.app4mc.cloud.validation/openapi.yaml
diff --git a/org.eclipse.app4mc.cloud.validation/pom.xml b/org.eclipse.app4mc.cloud.validation/pom.xml
new file mode 100644
index 0000000..f8c5b2a
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.validation/pom.xml
@@ -0,0 +1,252 @@
+<?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.cloud</groupId>
+    <artifactId>org.eclipse.app4mc.cloud.validation</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <description>The org.eclipse.app4mc.cloud.validation application - built using OSGi enRoute R7</description>
+
+    <properties>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <bnd.version>5.2.0</bnd.version>
+    </properties>
+
+    <modules>
+        <module>validation-service</module>
+        <module>validation-app</module>
+    </modules>
+
+    <repositories>
+        <repository>
+            <id>OSGi</id>
+            <name>OSGi public binaries</name>
+            <url>https://oss.sonatype.org/content/groups/osgi</url>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+        <repository>
+            <id>Apache Snapshots</id>
+            <url>https://repository.apache.org/content/groups/snapshots/</url>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+    </repositories>
+
+    <pluginRepositories>
+        <pluginRepository>
+            <id>Bnd Snapshots</id>
+            <name>Bnd Latest build</name>
+            <url>https://bndtools.ci.cloudbees.com/job/bnd.master/lastSuccessfulBuild/artifact/dist/bundles/</url>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </pluginRepository>
+    </pluginRepositories>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.osgi.enroute</groupId>
+                <artifactId>osgi-api</artifactId>
+                <version>7.0.0</version>
+                <type>pom</type>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.osgi.enroute</groupId>
+                <artifactId>enterprise-api</artifactId>
+                <version>7.0.0</version>
+                <type>pom</type>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.osgi.enroute</groupId>
+                <artifactId>impl-index</artifactId>
+                <version>7.0.0</version>
+                <type>pom</type>
+                <scope>runtime</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.osgi.enroute</groupId>
+                <artifactId>debug-bundles</artifactId>
+                <version>7.0.0</version>
+                <type>pom</type>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.osgi.enroute</groupId>
+                <artifactId>test-bundles</artifactId>
+                <version>7.0.0</version>
+                <type>pom</type>
+                <scope>test</scope>
+            </dependency>
+			<dependency>
+				<artifactId>org.apache.felix.http.jetty</artifactId>
+				<groupId>org.apache.felix</groupId>
+				<version>4.1.6</version>
+			</dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <build>
+        <pluginManagement>
+            <plugins>
+                <!-- Use the bnd-maven-plugin and assemble the symbolic names -->
+                <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
+                    <configuration>
+                        <bnd><![CDATA[
+Bundle-SymbolicName: ${project.groupId}.${project.artifactId}
+-sources: true
+-contract: *
+]]></bnd>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>bnd-process</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+                <!-- Required to make the maven-jar-plugin pick up the bnd 
+                    generated manifest. Also avoid packaging empty Jars -->
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-jar-plugin</artifactId>
+                    <version>3.0.2</version>
+                    <configuration>
+                        <archive>
+                            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+                        </archive>
+                        <skipIfEmpty>true</skipIfEmpty>
+                    </configuration>
+                </plugin>
+
+                <!-- Setup the indexer for running and testing -->
+                <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-indexer-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
+                    <configuration>
+                        <localURLs>REQUIRED</localURLs>
+                        <attach>false</attach>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <id>index</id>
+                            <goals>
+                                <goal>index</goal>
+                            </goals>
+                            <configuration>
+                                <indexName>${project.artifactId}</indexName>
+                            </configuration>
+                        </execution>
+                        <execution>
+                            <id>test-index</id>
+                            <goals>
+                                <goal>index</goal>
+                            </goals>
+                            <configuration>
+                                <indexName>${project.artifactId} Test</indexName>
+                                <outputFile>${project.build.directory}/test-index.xml</outputFile>
+                                <scopes>
+                                    <scope>test</scope>
+                                </scopes>
+                            </configuration>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <!-- Define the version of the resolver plugin we use -->
+                <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-resolver-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
+                    <configuration>
+                        <failOnChanges>false</failOnChanges>
+                        <bndruns>
+                        </bndruns>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>resolve</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <!-- Define the version of the export plugin we use -->
+                <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-export-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
+                    <configuration>
+                        <resolve>true</resolve>
+                        <failOnChanges>true</failOnChanges>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>export</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <!-- Define the version of the testing plugin that we use -->
+                <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-testing-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>testing</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <!-- Define the version of the baseline plugin we use and 
+                    avoid failing when no baseline jar exists. (for example before the first 
+                    release) -->
+                <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-baseline-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
+                    <configuration>
+                        <failOnMissing>false</failOnMissing>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>baseline</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+</project>
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/.classpath b/org.eclipse.app4mc.cloud.validation/validation-app/.classpath
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-app/.classpath
copy to org.eclipse.app4mc.cloud.validation/validation-app/.classpath
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/.project b/org.eclipse.app4mc.cloud.validation/validation-app/.project
similarity index 94%
rename from org.eclipse.app4mc.converter.cloud/converter-app/.project
rename to org.eclipse.app4mc.cloud.validation/validation-app/.project
index 7771c1a..2e0b978 100644
--- a/org.eclipse.app4mc.converter.cloud/converter-app/.project
+++ b/org.eclipse.app4mc.cloud.validation/validation-app/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>converter-app</name>
+	<name>validation-app</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.core.resources.prefs b/org.eclipse.app4mc.cloud.validation/validation-app/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.core.resources.prefs
copy to org.eclipse.app4mc.cloud.validation/validation-app/.settings/org.eclipse.core.resources.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.app4mc.cloud.validation/validation-app/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.jdt.core.prefs
copy to org.eclipse.app4mc.cloud.validation/validation-app/.settings/org.eclipse.jdt.core.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.app4mc.cloud.validation/validation-app/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-app/.settings/org.eclipse.m2e.core.prefs
copy to org.eclipse.app4mc.cloud.validation/validation-app/.settings/org.eclipse.m2e.core.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/about.html b/org.eclipse.app4mc.cloud.validation/validation-app/about.html
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-app/about.html
copy to org.eclipse.app4mc.cloud.validation/validation-app/about.html
diff --git a/org.eclipse.app4mc.cloud.validation/validation-app/debug.bndrun b/org.eclipse.app4mc.cloud.validation/validation-app/debug.bndrun
new file mode 100644
index 0000000..d81d1eb
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.validation/validation-app/debug.bndrun
@@ -0,0 +1,16 @@
+-include: ~validation-app.bndrun
+
+test-index: target/test-index.xml;name="validation-app Test"
+
+-standalone: ${index},${test-index}
+
+-runproperties: \
+	osgi.console=,\
+	osgi.console.enable.builtin=false
+
+-runrequires.debug: osgi.identity;filter:='(osgi.identity=org.apache.felix.webconsole)',\
+ osgi.identity;filter:='(osgi.identity=org.apache.felix.webconsole.plugins.ds)',\
+ osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.shell)',\
+ osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.runtime)',\
+ osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)'
+ 
\ No newline at end of file
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/epl-2.0.html b/org.eclipse.app4mc.cloud.validation/validation-app/epl-2.0.html
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-app/epl-2.0.html
copy to org.eclipse.app4mc.cloud.validation/validation-app/epl-2.0.html
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/pom.xml b/org.eclipse.app4mc.cloud.validation/validation-app/pom.xml
similarity index 80%
copy from org.eclipse.app4mc.converter.cloud/converter-app/pom.xml
copy to org.eclipse.app4mc.cloud.validation/validation-app/pom.xml
index e045039..81061c0 100644
--- a/org.eclipse.app4mc.converter.cloud/converter-app/pom.xml
+++ b/org.eclipse.app4mc.cloud.validation/validation-app/pom.xml
@@ -2,20 +2,20 @@
 <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>
     <parent>
-        <groupId>org.eclipse.app4mc</groupId>
-        <artifactId>org.eclipse.app4mc.converter.cloud</artifactId>
+        <groupId>org.eclipse.app4mc.cloud</groupId>
+        <artifactId>org.eclipse.app4mc.cloud.validation</artifactId>
         <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>converter-app</artifactId>
+    <artifactId>validation-app</artifactId>
 
-    <description>The org.eclipse.app4mc.converter.cloud application packaging project - using OSGi enRoute R7</description>
+    <description>The org.eclipse.app4mc.cloud.validation application packaging project - using OSGi enRoute R7</description>
 
     <dependencies>
         <dependency>
-            <groupId>org.eclipse.app4mc</groupId>
-            <artifactId>converter-service</artifactId>
+            <groupId>org.eclipse.app4mc.cloud</groupId>
+            <artifactId>validation-service</artifactId>
             <version>1.0.0-SNAPSHOT</version>
         </dependency>
         <dependency>
@@ -53,7 +53,7 @@
                 <artifactId>bnd-export-maven-plugin</artifactId>
                 <configuration>
                     <bndruns>
-                        <bndrun>converter-app.bndrun</bndrun>
+                        <bndrun>validation-app.bndrun</bndrun>
                     </bndruns>
                 </configuration>
             </plugin>
@@ -62,7 +62,7 @@
                 <artifactId>bnd-resolver-maven-plugin</artifactId>
                 <configuration>
                     <bndruns>
-                        <bndrun>converter-app.bndrun</bndrun>
+                        <bndrun>validation-app.bndrun</bndrun>
                         <bndrun>debug.bndrun</bndrun>
                     </bndruns>
                 </configuration>
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/src/main/java/config/package-info.java b/org.eclipse.app4mc.cloud.validation/validation-app/src/main/java/config/package-info.java
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-app/src/main/java/config/package-info.java
copy to org.eclipse.app4mc.cloud.validation/validation-app/src/main/java/config/package-info.java
diff --git a/org.eclipse.app4mc.cloud.validation/validation-app/src/main/resources/OSGI-INF/configurator/configuration.json b/org.eclipse.app4mc.cloud.validation/validation-app/src/main/resources/OSGI-INF/configurator/configuration.json
new file mode 100644
index 0000000..b480aef
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.validation/validation-app/src/main/resources/OSGI-INF/configurator/configuration.json
@@ -0,0 +1,9 @@
+{
+    ":configurator:resource-version" : 1,
+    ":configurator:symbolic-name" : "org.eclipse.app4mc.cloud.validation-app.config",
+    ":configurator:version" : "1.0.0-SNAPSHOT",
+    
+    "org.apache.aries.jax.rs.whiteboard.default" : {
+	    "osgi.http.whiteboard.servlet.multipart.enabled" : "true"
+    }
+}
\ No newline at end of file
diff --git a/org.eclipse.app4mc.cloud.validation/validation-app/validation-app.bndrun b/org.eclipse.app4mc.cloud.validation/validation-app/validation-app.bndrun
new file mode 100644
index 0000000..7586bb8
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.validation/validation-app/validation-app.bndrun
@@ -0,0 +1,58 @@
+index: target/index.xml;name="validation-app"
+
+-standalone: ${index}
+
+-runrequires: \
+	osgi.identity;filter:='(osgi.identity=org.eclipse.app4mc.cloud.validation-app)',\
+	osgi.identity;filter:='(osgi.identity=org.eclipse.app4mc.cloud.validation-service)',\
+	bnd.identity;id='org.eclipse.app4mc.amalthea.model',\
+	bnd.identity;id='org.eclipse.app4mc.amalthea.validations.inchron',\
+	bnd.identity;id='org.eclipse.app4mc.amalthea.validations.sim',\
+	bnd.identity;id='org.eclipse.app4mc.amalthea.validations.standard',\
+	bnd.identity;id='org.eclipse.app4mc.amalthea.validations.ta',\
+	bnd.identity;id='org.eclipse.app4mc.validation.core',\
+	bnd.identity;id='org.apache.aries.jax.rs.jackson'
+-runfw: org.eclipse.osgi
+-runee: JavaSE-1.8
+
+-resolve.effective: active
+-runproperties: org.osgi.service.http.port=8181, org.eclipse.emf.ecore.EPackage.Registry.INSTANCE=org.eclipse.emf.ecore.impl.EPackageRegistryImpl
+-runbundles: \
+	ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
+	ch.qos.logback.core;version='[1.2.3,1.2.4)',\
+	com.fasterxml.jackson.core.jackson-annotations;version='[2.9.0,2.9.1)',\
+	com.fasterxml.jackson.core.jackson-core;version='[2.9.6,2.9.7)',\
+	com.fasterxml.jackson.core.jackson-databind;version='[2.9.6,2.9.7)',\
+	com.fasterxml.jackson.jaxrs.jackson-jaxrs-base;version='[2.9.6,2.9.7)',\
+	com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider;version='[2.9.6,2.9.7)',\
+	com.fasterxml.jackson.module.jackson-module-jaxb-annotations;version='[2.9.6,2.9.7)',\
+	com.google.guava;version='[27.1.0,27.1.1)',\
+	com.google.guava.failureaccess;version='[1.0.1,1.0.2)',\
+	org.apache.aries.javax.jax.rs-api;version='[1.0.0,1.0.1)',\
+	org.apache.aries.jax.rs.jackson;version='[1.0.2,1.0.3)',\
+	org.apache.aries.jax.rs.whiteboard;version='[1.0.1,1.0.2)',\
+	org.apache.commons.lang;version='[2.6.0,2.6.1)',\
+	org.apache.commons.math3;version='[3.6.1,3.6.2)',\
+	org.apache.felix.configadmin;version='[1.9.8,1.9.9)',\
+	org.apache.felix.configurator;version='[1.0.6,1.0.7)',\
+	org.apache.felix.http.jetty;version='[4.1.6,4.1.7)',\
+	org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
+	org.apache.felix.scr;version='[2.1.10,2.1.11)',\
+	org.apache.servicemix.specs.annotation-api-1.3;version='[1.3.0,1.3.1)',\
+	org.eclipse.app4mc.amalthea.model;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.validations.inchron;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.validations.sim;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.validations.standard;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.amalthea.validations.ta;version='[1.1.0,1.1.1)',\
+	org.eclipse.app4mc.cloud.validation-app;version='[1.0.0,1.0.1)',\
+	org.eclipse.app4mc.cloud.validation-service;version='[1.0.0,1.0.1)',\
+	org.eclipse.app4mc.validation.core;version='[1.1.0,1.1.1)',\
+	org.eclipse.emf.common;version='[2.21.0,2.21.1)',\
+	org.eclipse.emf.ecore;version='[2.23.0,2.23.1)',\
+	org.eclipse.emf.ecore.xcore.lib;version='[1.5.0,1.5.1)',\
+	org.eclipse.emf.ecore.xmi;version='[2.16.0,2.16.1)',\
+	org.eclipse.xtext.xbase.lib;version='[2.24.0,2.24.1)',\
+	org.osgi.service.jaxrs;version='[1.0.0,1.0.1)',\
+	org.osgi.util.function;version='[1.1.0,1.1.1)',\
+	org.osgi.util.promise;version='[1.1.0,1.1.1)',\
+	slf4j.api;version='[1.7.25,1.7.26)'
\ No newline at end of file
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.classpath b/org.eclipse.app4mc.cloud.validation/validation-service/.classpath
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-service/.classpath
copy to org.eclipse.app4mc.cloud.validation/validation-service/.classpath
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.project b/org.eclipse.app4mc.cloud.validation/validation-service/.project
similarity index 93%
copy from org.eclipse.app4mc.converter.cloud/converter-service/.project
copy to org.eclipse.app4mc.cloud.validation/validation-service/.project
index c5f0845..d155968 100644
--- a/org.eclipse.app4mc.converter.cloud/converter-service/.project
+++ b/org.eclipse.app4mc.cloud.validation/validation-service/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>converter-service</name>
+	<name>validation-service</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.core.resources.prefs b/org.eclipse.app4mc.cloud.validation/validation-service/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.core.resources.prefs
copy to org.eclipse.app4mc.cloud.validation/validation-service/.settings/org.eclipse.core.resources.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.app4mc.cloud.validation/validation-service/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.jdt.core.prefs
copy to org.eclipse.app4mc.cloud.validation/validation-service/.settings/org.eclipse.jdt.core.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.app4mc.cloud.validation/validation-service/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-service/.settings/org.eclipse.m2e.core.prefs
copy to org.eclipse.app4mc.cloud.validation/validation-service/.settings/org.eclipse.m2e.core.prefs
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/about.html b/org.eclipse.app4mc.cloud.validation/validation-service/about.html
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-service/about.html
copy to org.eclipse.app4mc.cloud.validation/validation-service/about.html
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/epl-2.0.html b/org.eclipse.app4mc.cloud.validation/validation-service/epl-2.0.html
similarity index 100%
copy from org.eclipse.app4mc.converter.cloud/converter-service/epl-2.0.html
copy to org.eclipse.app4mc.cloud.validation/validation-service/epl-2.0.html
diff --git a/org.eclipse.app4mc.cloud.validation/validation-service/pom.xml b/org.eclipse.app4mc.cloud.validation/validation-service/pom.xml
new file mode 100644
index 0000000..08d2f62
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.validation/validation-service/pom.xml
@@ -0,0 +1,88 @@
+<?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>
+    <parent>
+        <groupId>org.eclipse.app4mc.cloud</groupId>
+        <artifactId>org.eclipse.app4mc.cloud.validation</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <artifactId>validation-service</artifactId>
+    
+    <description>The main bundle for the APP4MC Validation Cloud Service</description>
+    
+    <properties>
+    	<app4mc.version>1.1.0-SNAPSHOT</app4mc.version>
+    </properties>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.osgi.enroute</groupId>
+            <artifactId>osgi-api</artifactId>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi.enroute</groupId>
+            <artifactId>enterprise-api</artifactId>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi.enroute</groupId>
+            <artifactId>test-bundles</artifactId>
+            <type>pom</type>
+        </dependency>
+		<dependency>
+			<groupId>org.apache.aries.jax.rs</groupId>
+			<artifactId>org.apache.aries.jax.rs.jackson</artifactId>
+			<version>1.0.2</version>
+		</dependency>
+
+		<!-- APP4MC Model -->
+		<dependency>
+			<artifactId>org.eclipse.app4mc.amalthea.model</artifactId>
+			<groupId>org.eclipse.app4mc.build</groupId>
+			<version>${app4mc.version}</version>
+		</dependency>
+
+		<!-- APP4MC Validation -->
+		<dependency>
+		    <groupId>commons-lang</groupId>
+		    <artifactId>commons-lang</artifactId>
+		    <version>2.6</version>
+		</dependency>
+		<dependency>
+			<artifactId>org.eclipse.app4mc.amalthea.validations.inchron</artifactId>
+			<groupId>org.eclipse.app4mc.build</groupId>
+			<version>${app4mc.version}</version>
+		</dependency>
+		<dependency>
+			<artifactId>org.eclipse.app4mc.amalthea.validations.sim</artifactId>
+			<groupId>org.eclipse.app4mc.build</groupId>
+			<version>${app4mc.version}</version>
+		</dependency>
+		<dependency>
+			<artifactId>org.eclipse.app4mc.amalthea.validations.standard</artifactId>
+			<groupId>org.eclipse.app4mc.build</groupId>
+			<version>${app4mc.version}</version>
+		</dependency>
+		<dependency>
+			<artifactId>org.eclipse.app4mc.amalthea.validations.ta</artifactId>
+			<groupId>org.eclipse.app4mc.build</groupId>
+			<version>${app4mc.version}</version>
+		</dependency>
+		<dependency>
+			<artifactId>org.eclipse.app4mc.validation.core</artifactId>
+			<groupId>org.eclipse.app4mc.build</groupId>
+			<version>${app4mc.version}</version>
+		</dependency>
+    </dependencies>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>biz.aQute.bnd</groupId>
+                <artifactId>bnd-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/org.eclipse.app4mc.converter.cloud/converter-service/src/main/java/org/eclipse/app4mc/org/eclipse/app4mc/converter/cloud/MigrationRestService.java b/org.eclipse.app4mc.cloud.validation/validation-service/src/main/java/org/eclipse/app4mc/cloud/validation/ValidationRestService.java
similarity index 60%
copy from org.eclipse.app4mc.converter.cloud/converter-service/src/main/java/org/eclipse/app4mc/org/eclipse/app4mc/converter/cloud/MigrationRestService.java
copy to org.eclipse.app4mc.cloud.validation/validation-service/src/main/java/org/eclipse/app4mc/cloud/validation/ValidationRestService.java
index c438c52..ac9ccf0 100644
--- a/org.eclipse.app4mc.converter.cloud/converter-service/src/main/java/org/eclipse/app4mc/org/eclipse/app4mc/converter/cloud/MigrationRestService.java
+++ b/org.eclipse.app4mc.cloud.validation/validation-service/src/main/java/org/eclipse/app4mc/cloud/validation/ValidationRestService.java
@@ -11,18 +11,20 @@
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
  */
-package org.eclipse.app4mc.org.eclipse.app4mc.converter.cloud;
+package org.eclipse.app4mc.cloud.validation;
 
 import java.io.BufferedReader;
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.io.PrintStream;
 import java.io.PrintWriter;
 import java.nio.file.Files;
 import java.nio.file.Paths;
+import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -35,6 +37,7 @@
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.Part;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.DELETE;
@@ -53,13 +56,13 @@
 import javax.ws.rs.core.UriBuilder;
 import javax.ws.rs.core.UriInfo;
 
-import org.eclipse.app4mc.amalthea.converters.common.MigrationException;
-import org.eclipse.app4mc.amalthea.converters.common.MigrationHelper;
-import org.eclipse.app4mc.amalthea.converters.common.MigrationInputFile;
-import org.eclipse.app4mc.amalthea.converters.common.MigrationProcessor;
-import org.eclipse.app4mc.amalthea.converters.common.MigrationSettings;
-import org.eclipse.app4mc.amalthea.converters.common.MigrationStatusCode;
-import org.eclipse.app4mc.amalthea.converters.common.utils.ModelVersion;
+import org.eclipse.app4mc.amalthea.model.Amalthea;
+import org.eclipse.app4mc.amalthea.model.io.AmaltheaFileHelper;
+import org.eclipse.app4mc.amalthea.model.io.AmaltheaLoader;
+import org.eclipse.app4mc.amalthea.model.util.ModelUtil;
+import org.eclipse.app4mc.validation.core.IProfile;
+import org.eclipse.app4mc.validation.util.ProfileManager;
+import org.eclipse.app4mc.validation.util.ValidationExecutor;
 import org.osgi.service.component.annotations.Component;
 import org.osgi.service.component.annotations.Reference;
 import org.osgi.service.jaxrs.whiteboard.propertytypes.JSONRequired;
@@ -72,29 +75,32 @@
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 
-@Component(service=MigrationRestService.class)
+@Component(service=ValidationRestService.class)
 @JaxrsResource
 @Produces(MediaType.APPLICATION_JSON)
 @JSONRequired
-@Path("app4mc/converter")
-public class MigrationRestService {
+@Path("app4mc/validation")
+public class ValidationRestService {
 
-	private static final String TEMP_DIR_PREFIX = "app4mc_migration_";
+	private static final String TEMP_DIR_PREFIX = "app4mc_validation_";
 
-	private static final Logger LOGGER = LoggerFactory.getLogger(MigrationRestService.class);
+	private static final Logger LOGGER = LoggerFactory.getLogger(ValidationRestService.class);
 	
 	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 static final String PASSED_MARKER = "passed";
+	private static final String FAILED_MARKER = "failed";
+
 	private final String defaultBaseDir = System.getProperty("java.io.tmpdir");
 	
 	private ExecutorService executor = Executors.newFixedThreadPool(1);
 	
-	@Reference
-	MigrationProcessor migrationProcessor;
+    @Reference
+    private ProfileManager manager;
 	
 	@GET
 	@Path("config")
@@ -102,32 +108,32 @@
 		ObjectMapper mapper = new ObjectMapper();
 		
 		ObjectNode config = mapper.createObjectNode();
-		config.put("description", "Migrate the input model file to the specified output model version.");
+		config.put("description", "Validate the input model file.");
 		
 		ObjectNode input = mapper.createObjectNode();
 		input.put("type", "amxmi");
+		input.put("version", ModelUtil.MODEL_VERSION);
 		input.put("archive-supported", true);
 		config.set("input", input);
 
-		ObjectNode output = mapper.createObjectNode();
-		output.put("type", "amxmi");
-		output.put("version", ModelVersion.getLatestVersion());
-		output.put("archive-supported", true);
-		config.set("output", output);
+		// the validation produces no output that is consumed by a following service
 
 		ObjectNode parameter = mapper.createObjectNode();
-		ObjectNode version = mapper.createObjectNode();
-		version.put("name", "Output Model Version");
-		version.put("description", "The model version to which the input should be migrated to.");
-		// the default value to use is the latest supported version
-		version.put("value", ModelVersion.getLatestVersion());
-		ArrayNode values = version.putArray("values");
+		ObjectNode profiles = mapper.createObjectNode();
+		profiles.put("name", "Validation Profiles");
+		profiles.put("description", "The validation profiles that should be executed.\nIf nothing is selected the Amalthea Standard Validations profile is executed.");
+		profiles.put("cardinality", "multiple");
+		// the default value to use is the Amalthea Standard Validations profile
+		profiles.put("value", "Amalthea Standard Validations");
+		ArrayNode values = profiles.putArray("values");
 		
-		List<String> versions = ModelVersion.getAllSupportedVersions();
-		Collections.reverse(versions);
-		versions.forEach(v -> values.add(v));
+    	List<String> availableProfiles = manager.getRegisteredValidationProfiles().values().stream()
+			.sorted((p1, p2) -> p1.getName().compareTo(p2.getName()))
+			.map(profile -> profile.getName())
+			.collect(Collectors.toList());
+    	availableProfiles.forEach(v -> values.add(v));
 		
-		parameter.set("version", version);
+		parameter.set("profiles", profiles);
 		config.set("parameter", parameter);
 	
 		try {
@@ -137,6 +143,21 @@
 		}
 	}
 	
+	@GET
+	@Path("profiles")
+	public String profiles() {
+		ObjectMapper objectMapper = new ObjectMapper();
+        try {
+        	List<String> availableProfiles = manager.getRegisteredValidationProfiles().values().stream()
+    			.sorted((p1, p2) -> p1.getName().compareTo(p2.getName()))
+    			.map(profile -> profile.getName())
+    			.collect(Collectors.toList());
+			return objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(availableProfiles);
+        } catch (JsonProcessingException e) {
+        	return "Error in generating profiles response: " + e.getMessage();
+        }
+	}
+
     @POST
     @Consumes(MediaType.MULTIPART_FORM_DATA)
     public Response upload(@Context HttpServletRequest request, @Context UriInfo uriInfo, @Context ServletContext context) throws IOException, ServletException {
@@ -158,20 +179,61 @@
     			
     			if (Files.exists(uploaded)) {
     				// mark uuid in progress
-    				getRegistry(context).put(uuid, PROGRESS_MARKER);
+    				Map<String, String> registry = getRegistry(context);
+    				registry.put(uuid, PROGRESS_MARKER);
     				
-    				// check if the output model version was provided as parameter
-    				String outputModelVersion = getOutputModelVersion(request);
+    				List<String> selectedProfiles = getSelectedProfiles(request);
     				
     				// trigger asynchronous processing
     				executor.execute(() -> {
     					
-    					try (MigrationSettings migrationSettings = new MigrationSettings()) {
-    						migrationSettings.setProject(uploaded.getParent().toFile());
-    						migrationSettings.setMigrationModelVersion(outputModelVersion);
+    					try {
+    						File uploadedFile = uploaded.toFile();
     						
-    						convert(Arrays.asList(uploaded.toFile()), migrationSettings, tempFolderPath, getRegistry(context));
-    					} finally {
+    						// verify the uploaded model version
+    						if (!AmaltheaFileHelper.isModelVersionValid(uploadedFile)) {
+        		    			registry.put(uuid, ERROR_MARKER);
+        		    			error(tempFolderPath, 
+        		    					"Error: Invalid model version " + AmaltheaFileHelper.getModelVersion(uploadedFile) + ". Expected model version: " + ModelUtil.MODEL_VERSION, null);
+        		    			return;
+    						}
+    						
+        		    		// load uploaded model file
+        		    		Amalthea model = AmaltheaLoader.loadFromFile(uploaded.toFile());
+        		    		
+        		    		if (model == null) {
+        		    			registry.put(uuid, ERROR_MARKER);
+        		    			error(tempFolderPath, "Error: No model loaded!", null);
+        		    			return;
+        		    		}
+        		    		
+        		    		// get selected profiles from profile manager
+        		    		List<Class<? extends IProfile>> profileList = manager.getRegisteredValidationProfiles().values().stream()
+        		    			.filter(profile -> selectedProfiles.contains(profile.getName()))
+        		    			.map(profile -> profile.getProfileClass())
+        		    			.collect(Collectors.toList());
+        		    		
+        		    		ValidationExecutor executor = new ValidationExecutor(profileList);
+        		    		executor.validate(model);
+        		    		
+        		    		// dump validation result to file
+        		    		java.nio.file.Path resultFile = Files.createFile(Paths.get(tempFolderPath.toString(), "validation-results.txt"));
+        		    		try (PrintStream print = new PrintStream(new FileOutputStream(resultFile.toFile()))) {
+        		    			executor.dumpResultMap(print);
+        		    		}
+
+        		    		boolean failed = executor.getResults().stream()
+        		    				.anyMatch(diag -> diag.getSeverity() == org.eclipse.emf.common.util.Diagnostic.ERROR);
+        		    		if (!failed) {
+        		    			Files.createFile(Paths.get(tempFolderPath.toString(), PASSED_MARKER));
+        		    		} else {
+        		    			Files.createFile(Paths.get(tempFolderPath.toString(), FAILED_MARKER));
+        		    		}
+    					} catch (IOException e) {
+    						LOGGER.error("Failed to write validation results", e);
+    		    			registry.put(uuid, ERROR_MARKER);
+    						error(tempFolderPath, "Failed to write validation results", e);
+						} finally {
     						if (!ERROR_MARKER.equals(getRegistry(context).get(uuid))) {
     							getRegistry(context).put(uuid, FINISHED_MARKER);
     						}
@@ -207,17 +269,32 @@
     			.build();
     }
     
-    private String getOutputModelVersion(HttpServletRequest request) throws IOException, ServletException {
-		String outputModelVersion = ModelVersion.getLatestVersion();
+    private List<String> getSelectedProfiles(HttpServletRequest request) throws IOException, ServletException {
 
-		Part versionPart = request.getPart("version");
-		if (versionPart != null) {
-			try (BufferedReader reader = new BufferedReader(new InputStreamReader(versionPart.getInputStream()))) {
-				outputModelVersion = reader.readLine();
+    	// first check if the profiles are sent as query parameter
+    	String[] profiles = request.getParameterValues("profiles");
+    	if (profiles != null) {
+    		return Arrays.asList(profiles);
+    	} else {
+    		// check if the profiles are sent as post parameter in the multipart request
+    		List<String> collected = new ArrayList<>();
+			for (Part supportPart : request.getParts()) {
+				if (supportPart.getName().equals("profiles")) {
+					try (BufferedReader reader = new BufferedReader(new InputStreamReader(supportPart.getInputStream()))) {
+						List<String> collect = reader.lines().collect(Collectors.toList());
+						if (collect != null && !collect.isEmpty()) {
+							collected.addAll(collect);
+						}
+					}
+				}
 			}
-		}
-
-		return outputModelVersion;
+    		if (!collected.isEmpty()) {
+    			return collected;
+    		}
+    	}
+    	
+    	// neither query parameter nor multipart post parameter found, return default
+    	return Arrays.asList("Amalthea Standard Validations");
     }
     
     @Path("{uuid}")
@@ -301,21 +378,27 @@
     				.links(self)
     				.build();
     	}
-    	
-    	List<java.nio.file.Path> modelFilePaths = 
-    			Files.find(tempFolderPath, 1, (path, attrs) -> path.toString().endsWith(".amxmi"))
-    			.collect(Collectors.toList());
-    	
-		if (modelFilePaths.isEmpty()) {
+
+    	java.nio.file.Path path = Paths.get(tempFolderPath.toString(), "validation-results.txt");
+    	if (!Files.exists(path)) {
 			return Response
 					.status(Status.NOT_FOUND)
-					.entity("No migrated model file available!")
+					.entity("No validation result available!")
     				.links(self)
 					.build();
 		}
-
-		java.nio.file.Path modelFilePath = modelFilePaths.get(0);
     	
+    	// set status based on validation result
+    	boolean hasFailedMarker = false;
+    	try (Stream<java.nio.file.Path> files = Files.list(tempFolderPath)) {
+    		hasFailedMarker = files.anyMatch(p -> p.endsWith(FAILED_MARKER));
+    	}
+    	
+    	int responseStatus = HttpServletResponse.SC_OK;
+    	if (hasFailedMarker) {
+    		responseStatus = HttpServletResponse.SC_BAD_REQUEST;
+    	}
+
 		List<PathSegment> pathSegments = uriInfo.getPathSegments();
     	UriBuilder uriBuilder = uriInfo.getAbsolutePathBuilder().replacePath("");
     	for (int i = 0; i < pathSegments.size() - 1; i++) {
@@ -326,8 +409,11 @@
 				.build();
 
 		return Response
-				.ok(modelFilePath.toFile())
-				.header("Content-Disposition", "attachment; filename=\"" + modelFilePath.toFile().getName() + "\"")
+				.status(responseStatus)
+				.entity(path.toFile())
+				.header("Content-Disposition", "attachment; filename=\"" + path.toFile().getName() + "\"")
+	    		// set special header to tell that the result should not be used in the next process step
+				.header("x-app4mc-use-result", "false")
 				.links(self, deleteLink)
 				.build();
     }
@@ -395,102 +481,6 @@
     	return Response.ok().build();
     }
 
-    /**
-     * Convert the given list of files.
-     * @param inputFiles
-     * @param migrationSettings
-     */
-	private void convert(List<File> inputFiles, MigrationSettings migrationSettings, java.nio.file.Path tempFolderPath, Map<String, String> statusMap) {
-		String uuid = tempFolderPath.toString().substring(tempFolderPath.toString().lastIndexOf('_') + 1);
-
-		// same as ModelLoaderJob
-		try {
-			List<MigrationInputFile> modelFiles = MigrationHelper.populateModels(inputFiles, migrationSettings);
-			migrationSettings.getMigModelFiles().addAll(modelFiles);
-		} catch (Exception e) {
-			LOGGER.error("Failed to load model files", e);
-			statusMap.put(uuid, ERROR_MARKER);
-			error(tempFolderPath, "Failed to load model files", e);
-			return;
-		}
-
-		// same as AmaltheaModelMigrationHandler#JobChangeListener
-		try {
-			boolean inputValid = MigrationHelper.isInputModelVersionValid(migrationSettings);
-			if (!inputValid) {
-				LOGGER.error("Model migration stopped in {} as selected model files belong to different versions", migrationSettings.getOutputDirectoryLocation());
-				statusMap.put(uuid, ERROR_MARKER);
-				error(tempFolderPath, "Model migration stopped as selected model files belong to different versions", null);
-				return;
-			} else {
-
-				if (migrationSettings.getInputModelVersion() != null
-						&& ModelVersion.getLatestVersion().equals(migrationSettings.getInputModelVersion())) {
-
-					LOGGER.error("Selected model is compatible to latest AMALTHEA meta-model version {}.\nIt is not required to migrate the model in {}",
-							ModelVersion.getLatestVersion(), 
-							migrationSettings.getOutputDirectoryLocation());
-					return;
-				} else {
-					// check if a migration needs to be executed
-					Map<String, String> migStepEntries = MigrationHelper.generateMigrationSteps(
-							migrationSettings.getInputModelVersion(),
-							migrationSettings.getMigrationModelVersion());
-
-					if (migStepEntries.size() == 0) {
-						LOGGER.error("Migration not supported for the selected model versions.\nInput Model version : \"{}\" Output Model Version : \"{}\"", 
-								migrationSettings.getInputModelVersion(), 
-								migrationSettings.getMigrationModelVersion());
-						statusMap.put(uuid, ERROR_MARKER);
-						error(tempFolderPath,
-								"Migration not supported for the selected model versions.\nInput Model version : "
-										+ migrationSettings.getInputModelVersion()
-										+ " Output Model Version : "
-										+ migrationSettings.getMigrationModelVersion(),
-								null);
-						return;
-					}
-					
-					// set the file parent folder as output location to convert the file at source
-					MigrationInputFile migrationInputFile = migrationSettings.getMigModelFiles().get(0);
-					migrationSettings.setOutputDirectoryLocation(migrationInputFile.getOriginalFile().getParent());
-
-					//now call migration job to migrate the file to latest Amalthea version
-
-					// same as ModelMigrationJob
-					int result = migrationProcessor.execute(migrationSettings, null);
-					switch (result) {
-						case MigrationStatusCode.UNSUPPORTED_MODEL_VERSIONS:
-							LOGGER.error("Migration in " 
-									+ migrationSettings.getOutputDirectoryLocation() 
-									+ " not supported for the selected model versions. \nInput Model version : \""
-									+ migrationSettings.getInputModelVersion()
-									+ "\" Output Model Version : \""
-									+ migrationSettings.getMigrationModelVersion() + "\"");
-							statusMap.put(uuid, ERROR_MARKER);
-							error(tempFolderPath,
-									"Migration not supported for the selected model versions.\nInput Model version : "
-											+ migrationSettings.getInputModelVersion()
-											+ " Output Model Version : "
-											+ migrationSettings.getMigrationModelVersion(),
-									null);
-							return;
-						case MigrationStatusCode.ERROR:
-							LOGGER.error("Error during migration in {}", migrationSettings.getOutputDirectoryLocation());
-							statusMap.put(uuid, ERROR_MARKER);
-							error(tempFolderPath, "Error during migration.", null);
-							return;
-						default:
-							LOGGER.info("Model Migration in {} successful !!", migrationSettings.getOutputDirectoryLocation());
-					}
-				}
-			}
-		} catch (MigrationException e) {
-			LOGGER.error("Error during migration in {} : {}", migrationSettings.getOutputDirectoryLocation(), e.getLocalizedMessage());
-			statusMap.put(uuid, ERROR_MARKER);
-			error(tempFolderPath, "Error during migration.", e);
-		}
-	}
 
 	private void error(java.nio.file.Path resultFolder, String message, Exception exception) {
 		try {
diff --git a/org.eclipse.app4mc.cloud.validation/validation-service/src/test/java/org/eclipse/app4mc/cloud/validation/UnitTest.java b/org.eclipse.app4mc.cloud.validation/validation-service/src/test/java/org/eclipse/app4mc/cloud/validation/UnitTest.java
new file mode 100644
index 0000000..572e880
--- /dev/null
+++ b/org.eclipse.app4mc.cloud.validation/validation-service/src/test/java/org/eclipse/app4mc/cloud/validation/UnitTest.java
@@ -0,0 +1,12 @@
+package org.eclipse.app4mc.cloud.validation;
+
+import org.junit.Test;
+
+public class UnitTest {
+    
+    @Test
+    public void testSomething() {
+        //TODO add an implementation
+    }
+    
+}
diff --git a/org.eclipse.app4mc.converter.cloud/.project b/org.eclipse.app4mc.converter.cloud/.project
deleted file mode 100644
index 85e7ff0..0000000
--- a/org.eclipse.app4mc.converter.cloud/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.app4mc.converter.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.converter.cloud/Dockerfile b/org.eclipse.app4mc.converter.cloud/Dockerfile
deleted file mode 100644
index 4aaf12b..0000000
--- a/org.eclipse.app4mc.converter.cloud/Dockerfile
+++ /dev/null
@@ -1,5 +0,0 @@
-FROM amazoncorretto:8u275
-
-COPY converter-app/target/converter-app.jar converter-app.jar
-
-ENTRYPOINT ["java","-jar","/converter-app.jar"]
\ No newline at end of file
diff --git a/org.eclipse.app4mc.converter.cloud/converter-app/src/main/resources/OSGI-INF/configurator/configuration.json b/org.eclipse.app4mc.converter.cloud/converter-app/src/main/resources/OSGI-INF/configurator/configuration.json
deleted file mode 100644
index ebfd8c1..0000000
--- a/org.eclipse.app4mc.converter.cloud/converter-app/src/main/resources/OSGI-INF/configurator/configuration.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-    // Comments are permitted in configuration files, but they should be
-    // minified if they are going to be used as strict JSON
-    
-    // Global Settings
-    ":configurator:resource-version" : 1,
-    ":configurator:symbolic-name" : "org.eclipse.app4mc.converter-app.config",
-    ":configurator:version" : "0.9.9-SNAPSHOT",
-    
-    /*
-    // This defines a configuration
-    */
-    
-    "org.apache.aries.jax.rs.whiteboard.default" : {
-	    "osgi.http.whiteboard.servlet.multipart.enabled" : "true"
-    }
-
-    /*
-    // This defines a factory configuration
-    
-    "my.factory.configuration.pid~fizzbuzz": {
-           "fizz": "buzz", 
-           "foo": "bar"},
-    */
-}
\ No newline at end of file
diff --git a/org.eclipse.app4mc.validation.cloud/.mvn/extensions.xml b/org.eclipse.app4mc.validation.cloud/.mvn/extensions.xml
deleted file mode 100644
index 0ba8158..0000000
--- a/org.eclipse.app4mc.validation.cloud/.mvn/extensions.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<extensions>
-  <extension>
-    <groupId>org.eclipse.tycho.extras</groupId>
-    <artifactId>tycho-pomless</artifactId>
-    <version>2.2.0</version>
-  </extension>
-</extensions>
\ No newline at end of file
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
deleted file mode 100644
index 99f26c0..0000000
--- a/org.eclipse.app4mc.validation.cloud/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/org.eclipse.app4mc.validation.cloud/Dockerfile b/org.eclipse.app4mc.validation.cloud/Dockerfile
deleted file mode 100644
index 4b5a518..0000000
--- a/org.eclipse.app4mc.validation.cloud/Dockerfile
+++ /dev/null
@@ -1,6 +0,0 @@
-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
-
-ENTRYPOINT org.eclipse.app4mc.validation.cloud.product/eclipse
\ No newline at end of file
diff --git a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/.classpath b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/.classpath
deleted file mode 100644
index eca7bdb..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?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.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/.project b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/.project
deleted file mode 100644
index 2a243f8..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.app4mc.validation.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.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f6ece8..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-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.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/META-INF/MANIFEST.MF b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/META-INF/MANIFEST.MF
deleted file mode 100644
index 0e57afe..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: APP4MC Validation HTTP Service
-Bundle-SymbolicName: org.eclipse.app4mc.validation.cloud.http
-Bundle-Version: 1.0.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",
- com.fasterxml.jackson.databind.node;version="2.9.93",
- javax.servlet;version="3.1.0",
- javax.servlet.http;version="3.1.0",
- org.osgi.service.component.annotations;version="[1.3.0,1.4.0)";resolution:=optional,
- org.slf4j;version="1.7.2"
-Require-Bundle: org.eclipse.app4mc.amalthea.model;bundle-version="1.0.0",
- org.eclipse.app4mc.validation.core;bundle-version="1.0.0"
-Bundle-ActivationPolicy: lazy
-Bundle-Vendor: Eclipse APP4MC
-Service-Component: OSGI-INF/org.eclipse.app4mc.validation.cloud.http.ValidationServlet.xml
diff --git a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/OSGI-INF/org.eclipse.app4mc.validation.cloud.http.ValidationServlet.xml b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/OSGI-INF/org.eclipse.app4mc.validation.cloud.http.ValidationServlet.xml
deleted file mode 100644
index fa5c28c..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/OSGI-INF/org.eclipse.app4mc.validation.cloud.http.ValidationServlet.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="org.eclipse.app4mc.validation.cloud.http.ValidationServlet">
-   <property name="osgi.http.whiteboard.servlet.pattern" value="/app4mc/validation/*"/>
-   <property name="osgi.http.whiteboard.servlet.multipart.enabled" value="true"/>
-   <service scope="prototype">
-      <provide interface="javax.servlet.Servlet"/>
-   </service>
-   <reference cardinality="1..1" field="manager" interface="org.eclipse.app4mc.validation.util.ProfileManager" name="manager"/>
-   <implementation class="org.eclipse.app4mc.validation.cloud.http.ValidationServlet"/>
-</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/about.html b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/about.html
deleted file mode 100644
index f87aeb3..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!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.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/build.properties b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/build.properties
deleted file mode 100644
index 79789f3..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               OSGI-INF/,\
-               about.html,\
-               epl-2.0.html
diff --git a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/epl-2.0.html b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/epl-2.0.html
deleted file mode 100644
index 637a181..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/epl-2.0.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!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.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/src/org/eclipse/app4mc/validation/cloud/http/ValidationServlet.java b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/src/org/eclipse/app4mc/validation/cloud/http/ValidationServlet.java
deleted file mode 100644
index a7f2499..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.http/src/org/eclipse/app4mc/validation/cloud/http/ValidationServlet.java
+++ /dev/null
@@ -1,519 +0,0 @@
-/*********************************************************************************
- * Copyright (c) 2020, 2021 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.validation.cloud.http;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.stream.Collectors;
-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.amalthea.model.Amalthea;
-import org.eclipse.app4mc.amalthea.model.AmaltheaPackage;
-import org.eclipse.app4mc.amalthea.model.io.AmaltheaLoader;
-import org.eclipse.app4mc.validation.core.IProfile;
-import org.eclipse.app4mc.validation.util.ProfileManager;
-import org.eclipse.app4mc.validation.util.ValidationExecutor;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.component.annotations.ServiceScope;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-@Component(
-    service=Servlet.class,
-    property= {
-    		"osgi.http.whiteboard.servlet.pattern=/app4mc/validation/*",
-    		"osgi.http.whiteboard.servlet.multipart.enabled=true"
-    },
-    scope=ServiceScope.PROTOTYPE)
-public class ValidationServlet extends HttpServlet {
-	
-	private static final Logger LOGGER = LoggerFactory.getLogger(ValidationServlet.class);
- 
-    private static final long serialVersionUID = 1L;
-    
-    private static final String TEMP_DIR_PREFIX = "app4mc_validation_";
-    
-	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 static final String PASSED_MARKER = "passed";
-	private static final String FAILED_MARKER = "failed";
-
-	private static final String MODEL_VERSION;
-	static {
-		// Extracting namespace from AmaltheaPackage
-		String nsURI = AmaltheaPackage.eNS_URI;
-		
-		// Extracting AMALTHEA metamodel version
-		MODEL_VERSION = nsURI.lastIndexOf('/') != -1
-				? nsURI.substring(nsURI.lastIndexOf('/') + 1)
-				: nsURI;
-
-	}
-	
-    private final String defaultBaseDir = System.getProperty("java.io.tmpdir");
-	
-	private ExecutorService executor = Executors.newFixedThreadPool(1);
-
-    @Reference
-    private ProfileManager manager;
- 
-    private String[] validatePath(String pathInfo) {
-    	// request to /app4mc/validation
-    	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/validation
-
-    @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);
-
-		    		List<String> selectedProfiles = getSelectedProfiles(request);
-    				
-    				// trigger asynchronous processing
-    				executor.execute(() -> {
-
-    					try {
-        		    		// load uploaded model file
-        		    		Amalthea model = AmaltheaLoader.loadFromFile(uploaded.toFile());
-        		    		
-        		    		if (model == null) {
-        		    			registry.put(uuid, ERROR_MARKER);
-        		    			error(tempFolderPath, "Error: No model loaded!", null);
-        		    			return;
-        		    		}
-        		    		
-        		    		// get selected profiles from profile manager
-        		    		List<Class<? extends IProfile>> profileList = manager.getRegisteredValidationProfiles().values().stream()
-        		    			.filter(profile -> selectedProfiles.contains(profile.getName()))
-        		    			.map(profile -> profile.getProfileClass())
-        		    			.collect(Collectors.toList());
-        		    		
-        		    		ValidationExecutor executor = new ValidationExecutor(profileList);
-        		    		executor.validate(model);
-        		    		
-        		    		// dump validation result to file
-        		    		Path resultFile = Files.createFile(Paths.get(tempFolderPath.toString(), "validation-results.txt"));
-        		    		try (PrintStream print = new PrintStream(new FileOutputStream(resultFile.toFile()))) {
-        		    			executor.dumpResultMap(print);
-        		    		}
-
-        		    		boolean failed = executor.getResults().stream()
-        		    				.anyMatch(diag -> diag.getSeverity() == org.eclipse.emf.common.util.Diagnostic.ERROR);
-        		    		if (!failed) {
-        		    			Files.createFile(Paths.get(tempFolderPath.toString(), PASSED_MARKER));
-        		    		} else {
-        		    			Files.createFile(Paths.get(tempFolderPath.toString(), FAILED_MARKER));
-        		    		}
-    					} catch (IOException e) {
-    						LOGGER.error("Failed to write validation results", e);
-    		    			registry.put(uuid, ERROR_MARKER);
-    						error(tempFolderPath, "Failed to write validation results", e);
-						} finally {
-    						if (!ERROR_MARKER.equals(getRegistry(context).get(uuid))) {
-    							getRegistry(context).put(uuid, FINISHED_MARKER);
-    						}
-    					}
-    				});
-
-    				// 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;
-    }
-    
-    private List<String> getSelectedProfiles(HttpServletRequest request) throws IOException, ServletException {
-
-    	// first check if the profiles are sent as query parameter
-    	String[] profiles = request.getParameterValues("profiles");
-    	if (profiles != null) {
-    		return Arrays.asList(profiles);
-    	} else {
-    		// check if the profiles are sent as post parameter in the multipart request
-    		List<String> collected = new ArrayList<>();
-			for (Part supportPart : request.getParts()) {
-				if (supportPart.getName().equals("profiles")) {
-					try (BufferedReader reader = new BufferedReader(new InputStreamReader(supportPart.getInputStream()))) {
-						List<String> collect = reader.lines().collect(Collectors.toList());
-						if (collect != null && !collect.isEmpty()) {
-							collected.addAll(collect);
-						}
-					}
-				}
-			}
-    		if (!collected.isEmpty()) {
-    			return collected;
-    		}
-    	}
-    	
-    	// neither query parameter nor multipart post parameter found, return default
-    	return Arrays.asList("Amalthea Standard Validations");
-    }
-    
-    // GET /app4mc/validation/profiles
-    // GET /app4mc/validation/config
-    // GET /app4mc/validation/{id}
-    // GET /app4mc/validation/{id}/download
-    // GET /app4mc/validation/{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 && "profiles".equals(splitPath[1])) {
-    		response.setContentType("application/json");
-    		ObjectMapper objectMapper = new ObjectMapper();
-            try {
-            	List<String> availableProfiles = manager.getRegisteredValidationProfiles().values().stream()
-	    			.sorted((p1, p2) -> p1.getName().compareTo(p2.getName()))
-	    			.map(profile -> profile.getName())
-	    			.collect(Collectors.toList());
-                String json = objectMapper.writeValueAsString(availableProfiles);
-                response.getWriter().write(json);
-            } catch (JsonProcessingException e) {
-                response.getWriter().write(objectMapper.writeValueAsString(e));
-            }
-            
-    		return;
-    	} else if (splitPath.length == 2 && "config".equals(splitPath[1])) {
-    		response.setContentType("application/json");
-    		ObjectMapper mapper = new ObjectMapper();
-    		
-    		ObjectNode config = mapper.createObjectNode();
-    		config.put("description", "Validate the input model file.");
-    		
-    		ObjectNode input = mapper.createObjectNode();
-    		input.put("type", "amxmi");
-    		input.put("version", MODEL_VERSION);
-    		input.put("archive-supported", true);
-    		config.set("input", input);
-
-    		// the validation produces no output that is consumed by a following service
-
-    		ObjectNode parameter = mapper.createObjectNode();
-    		ObjectNode profiles = mapper.createObjectNode();
-    		profiles.put("name", "Validation Profiles");
-    		profiles.put("description", "The validation profiles that should be executed.\nIf nothing is selected the Amalthea Standard Validations profile is executed.");
-    		profiles.put("cardinality", "multiple");
-    		// the default value to use is the Amalthea Standard Validations profile
-    		profiles.put("value", "Amalthea Standard Validations");
-    		ArrayNode values = profiles.putArray("values");
-    		
-        	List<String> availableProfiles = manager.getRegisteredValidationProfiles().values().stream()
-    			.sorted((p1, p2) -> p1.getName().compareTo(p2.getName()))
-    			.map(profile -> profile.getName())
-    			.collect(Collectors.toList());
-        	availableProfiles.forEach(v -> values.add(v));
-    		
-    		parameter.set("profiles", profiles);
-    		config.set("parameter", parameter);
-    	
-    		try {
-    			String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(config);
-    			response.getWriter().write(json);
-    		} catch (JsonProcessingException e) {
-    			response.getWriter().write(mapper.writeValueAsString(e));
-    		}
-
-    		return;
-    	} else 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;
-        	}
-    		
-        	// set status based on validation result
-        	boolean hasFailedMarker = false;
-        	try (Stream<Path> files = Files.list(tempFolderPath)) {
-        		hasFailedMarker = files.anyMatch(p -> p.endsWith(FAILED_MARKER));
-        	}
-        	
-        	if (hasFailedMarker) {
-        		response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
-        	} else {
-        		response.setStatus(HttpServletResponse.SC_OK);
-        	}
-
-        	Path path = Paths.get(tempFolderPath.toString(), "validation-results.txt");
-        	if (!Files.exists(path)) {
-        		response.sendError(HttpServletResponse.SC_NOT_FOUND, "No validation result available");
-        		return;
-    		}
-    		
-    		response.addHeader("Link", "<" + request.getRequestURL().substring(0, request.getRequestURL().lastIndexOf("/")) + ">;rel=\"delete\"");
-    		response.setHeader("Content-Disposition","attachment; filename=\"" + path.toFile().getName() + "\"");
-    		// set special header to tell that the result should not be used in the next process step
-    		response.setHeader("x-app4mc-use-result", "false");
-    		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/validation/{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.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/.classpath b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/.classpath
deleted file mode 100644
index 075009d..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?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="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/.project b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/.project
deleted file mode 100644
index 2e817c5..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.app4mc.validation.cloud.log4j.configuration</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>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f6ece8..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-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.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/META-INF/MANIFEST.MF b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/META-INF/MANIFEST.MF
deleted file mode 100644
index 0397b6b..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Validation Cloud Service Log4J Configuration
-Bundle-SymbolicName: org.eclipse.app4mc.validation.cloud.log4j.configuration
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: Eclipse APP4MC
-Fragment-Host: log4j;bundle-version="1.2.17"
-Automatic-Module-Name: org.eclipse.app4mc.validation.cloud.log4j.configuration
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/build.properties b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/build.properties
deleted file mode 100644
index 0874a23..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-bin.includes = META-INF/,\
-               .,\
-               log4j.xml
-src.includes = log4j.xml
diff --git a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/log4j.xml b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/log4j.xml
deleted file mode 100644
index e5baf7b..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.log4j.configuration/log4j.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
-
-	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-	    <layout class="org.apache.log4j.PatternLayout">
-			<param name="ConversionPattern" value="%m%n" />
-	    </layout>
-	</appender>
-
-	<root>
-		<!-- set the log level to debug to catch everything -->
-		<!-- on the appenders the threshold is set to filter further -->
-		<level value="INFO" />
-		<appender-ref ref="CONSOLE" />
-	</root>
-
-</log4j:configuration>
\ No newline at end of file
diff --git a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.product/.project b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.product/.project
deleted file mode 100644
index a3ce0b4..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.product/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.app4mc.validation.cloud.product</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.product/about.html b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.product/about.html
deleted file mode 100644
index 164f781..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.product/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!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.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.product/epl-2.0.html b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.product/epl-2.0.html
deleted file mode 100644
index 637a181..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.product/epl-2.0.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!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.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.product/validation_service.product b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.product/validation_service.product
deleted file mode 100644
index 3706d8e..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.product/validation_service.product
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product uid="org.eclipse.app4mc.validation.cloud.product" version="1.0.0.qualifier" useFeatures="false" includeLaunchers="true">
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <vmArgs>-Dorg.osgi.service.http.port=8181 -Declipse.ignoreApp=true -Dosgi.noShutdown=true -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.ibm.icu"/>
-      <plugin id="javax.servlet"/>
-      <plugin id="javax.xml"/>
-      <plugin id="log4j"/>
-      <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.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.amalthea.validations.inchron"/>
-      <plugin id="org.eclipse.app4mc.amalthea.validations.standard"/>
-      <plugin id="org.eclipse.app4mc.amalthea.validations.ta"/>
-      <plugin id="org.eclipse.app4mc.validation.cloud.http"/>
-      <plugin id="org.eclipse.app4mc.validation.cloud.log4j.configuration" fragment="true"/>
-      <plugin id="org.eclipse.app4mc.validation.core"/>
-      <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.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.common"/>
-      <plugin id="org.eclipse.equinox.console"/>
-      <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.jetty.util.ajax"/>
-      <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="slf4j.api"/>
-      <plugin id="slf4j.log4j12" fragment="true"/>
-   </plugins>
-
-   <configurations>
-      <plugin id="org.apache.felix.scr" 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" />
-   </configurations>
-
-   <preferencesInfo>
-      <targetfile overwrite="false"/>
-   </preferencesInfo>
-
-   <cssInfo>
-   </cssInfo>
-
-</product>
diff --git a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.target/.project b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.target/.project
deleted file mode 100644
index 10f38f7..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.target/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.app4mc.validation.cloud.target</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.target/about.html b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.target/about.html
deleted file mode 100644
index 164f781..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.target/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!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.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.target/epl-2.0.html b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.target/epl-2.0.html
deleted file mode 100644
index 637a181..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.target/epl-2.0.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!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.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.target/org.eclipse.app4mc.validation.cloud.target.target b/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.target/org.eclipse.app4mc.validation.cloud.target.target
deleted file mode 100644
index 9ee0676..0000000
--- a/org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.target/org.eclipse.app4mc.validation.cloud.target.target
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde?>
-<target name="Amalthea Validation Cloud Target" sequenceNumber="1611663325">
-  <locations>
-    <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
-      <unit id="org.eclipse.sdk.feature.group" version="4.18.0.v20201202-1800"/>
-      <unit id="org.eclipse.equinox.sdk.feature.group" version="3.21.0.v20201128-0731"/>
-      <unit id="org.eclipse.equinox.compendium.sdk.feature.group" version="3.20.400.v20201102-2042"/>
-      <unit id="org.eclipse.equinox.server.jetty.feature.group" version="1.10.500.v20201127-2226"/>
-      <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.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.xalan" version="2.7.2.v20201124-1837"/>
-      <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.1.0.v20201023-1558"/>
-      <unit id="org.apache.felix.gogo.runtime" version="1.1.2.v20201023-1558"/>
-      <unit id="org.apache.felix.gogo.shell" version="1.1.2.v20201023-1558"/>
-      <unit id="org.eclipse.equinox.console" version="1.4.200.v20200828-1034"/>
-      <unit id="org.eclipse.emf.sdk.feature.group" version="2.24.0.v20200917-1439"/>
-      <unit id="org.eclipse.emf.ecore.xcore.sdk.feature.group" version="1.16.0.v20201105-0712"/>
-      <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.2.202008210805"/>
-      <unit id="org.eclipse.xtend.sdk.feature.group" version="2.24.0.v20201130-1016"/>
-      <unit id="org.eclipse.xtend.lib" version="2.24.0.v20201130-0911"/>
-      <unit id="org.eclipse.xtend.lib.macro" version="2.24.0.v20201130-0911"/>
-      <unit id="org.eclipse.xtext.xbase.lib.feature.group" version="2.24.0.v20201130-0912"/>
-      <repository location="http://download.eclipse.org/releases/2020-12"/>
-    </location>
-    <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
-      <unit id="org.eclipse.app4mc.amalthea.models.feature.group" version="1.0.0.202011301553"/>
-      <unit id="org.eclipse.app4mc.validation.feature.group" version="1.0.0.202011301553"/>
-      <repository location="https://download.eclipse.org/app4mc/updatesites/releases/1.0.0/"/>
-    </location>
-    <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" 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="http://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/repository"/>
-    </location>
-    <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" 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 includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
-      <unit id="org.eclipse.license.feature.group" version="2.0.2.v20181016-2210"/>
-      <repository location="http://download.eclipse.org/cbi/updates/license"/>
-    </location>
-	  <location includeDependencyScope="compile" includeSource="true" missingManifest="generate" type="Maven">
-		  <groupId>org.slf4j</groupId>
-		  <artifactId>slf4j-log4j12</artifactId>
-		  <version>1.7.30</version>
-		  <type>jar</type>
-	  </location>
-  </locations>
-</target>
\ No newline at end of file
diff --git a/org.eclipse.app4mc.validation.cloud/pom.xml b/org.eclipse.app4mc.validation.cloud/pom.xml
deleted file mode 100644
index 35b3030..0000000
--- a/org.eclipse.app4mc.validation.cloud/pom.xml
+++ /dev/null
@@ -1,224 +0,0 @@
-<?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.validation.cloud</artifactId>
-	<version>1.0.0-SNAPSHOT</version>
-
-	<packaging>pom</packaging>
-
-	<url>http://projects.eclipse.org/projects/technology.app4mc</url>
-	<name>APP4MC Validation Cloud Service</name>
-
-	<properties>
-		<app4mc.version>1.0.0-SNAPSHOT</app4mc.version>
-
-		<tycho.version>2.2.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.validation.cloud.target</module>
-		<module>org.eclipse.app4mc.validation.cloud.http</module>
-		<module>org.eclipse.app4mc.validation.cloud.log4j.configuration</module>
-		<module>org.eclipse.app4mc.validation.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.validation.cloud.target</artifactId>
-							<version>${app4mc.version}</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/start.bat b/start.bat
index e3e2607..a06a03e 100644
--- a/start.bat
+++ b/start.bat
@@ -1,5 +1,6 @@
-start java -jar org.eclipse.app4mc.converter.cloud/converter-app/target/converter-app.jar
-start org.eclipse.app4mc.validation.cloud/org.eclipse.app4mc.validation.cloud.product/target/products/org.eclipse.app4mc.validation.cloud.product/win32/win32/x86_64/eclipse.exe -console
-start java -jar manager/target/manager-0.0.1-SNAPSHOT.jar
+start java -jar org.eclipse.app4mc.cloud.amlt2systemc/amlt2systemc-app/target/amlt2systemc-app.jar
+start java -jar org.eclipse.app4mc.cloud.migration/migration-app/target/migration-app.jar
+start java -jar org.eclipse.app4mc.cloud.validation/validation-app/target/validation-app.jar
+start java -jar -Dserver.port=9090 -Dservice.configuration=manager/app4mc-cloud-manager-app/src/main/resources/services.txt  manager/app4mc-cloud-manager-app/target/app4mc-cloud-manager-app-0.0.1-SNAPSHOT.jar
 timeout /T 10
 start firefox.exe "http://localhost:9090"
\ No newline at end of file
