diff --git a/build.gradle b/build.gradle
index 89db210..ad62af5 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,8 +1,8 @@
 ext {
-	xtext_version = '+'
-	emf_version = '+'
-	core_version = '+'
-	commons_io_version = '+'
+	core_runtime_version = '3.12.0'
+	core_resources_version = '3.11.1'
+	xtext_version = '2.12.0'
+	commons_io_version = '2.5'
 
 	etUnitConverter = "$rootDir/plugins/org.eclipse.etrice.etunit.converter/etUnitConverter.gradle"
 	etGenerator = "$rootDir/plugins/org.eclipse.etrice.generator/etGenerator.gradle"
@@ -11,7 +11,7 @@
 
 allprojects {
 	group = 'org.eclipse.etrice'
-	version = '1.0.0-SNAPSHOT'
+	version = '1.1.1-SNAPSHOT'
 	
 	repositories {
 		maven {
diff --git a/plugins/build.gradle b/plugins/build.gradle
index fb1a53d..8eea3b5 100644
--- a/plugins/build.gradle
+++ b/plugins/build.gradle
@@ -10,7 +10,7 @@
 		repositories {
 			maven {
 				name 'snapshots'
-				url "https://repo.eclipse.org/content/repositories/etrice-snapshots"
+				url 'https://repo.eclipse.org/content/repositories/etrice-snapshots'
 				credentials {
 					username project.properties.eclipseRepoUsername
 					password project.properties.eclipseRepoPassword
@@ -18,7 +18,7 @@
 			}
 			maven {
 				name 'releases'
-				url "https://repo.eclipse.org/content/repositories/etrice-releases"
+				url 'https://repo.eclipse.org/content/repositories/etrice-releases'
 				credentials {
 					username project.properties.eclipseRepoUsername
 					password project.properties.eclipseRepoPassword
diff --git a/plugins/org.eclipse.etrice.abstractexec.behavior/build.gradle b/plugins/org.eclipse.etrice.abstractexec.behavior/build.gradle
index 6309d33..c150635 100644
--- a/plugins/org.eclipse.etrice.abstractexec.behavior/build.gradle
+++ b/plugins/org.eclipse.etrice.abstractexec.behavior/build.gradle
@@ -8,7 +8,7 @@
 	compile project(':plugins:org.eclipse.etrice.core.genmodel.fsm')
 	compile project(':plugins:org.eclipse.etrice.generator.fsm')
 
-	compile "org.eclipse.platform:org.eclipse.core.runtime:$core_version"
+	compile "org.eclipse.platform:org.eclipse.core.runtime:$core_runtime_version"
 	compile "org.eclipse.xtext:org.eclipse.xtext:$xtext_version"
 }
 
diff --git a/plugins/org.eclipse.etrice.core.common/build.gradle b/plugins/org.eclipse.etrice.core.common/build.gradle
index d4a3f77..f89b435 100644
--- a/plugins/org.eclipse.etrice.core.common/build.gradle
+++ b/plugins/org.eclipse.etrice.core.common/build.gradle
@@ -3,8 +3,8 @@
 }
 
 dependencies {
-	compile "org.eclipse.platform:org.eclipse.core.runtime:$core_version"
-	compile "org.eclipse.platform:org.eclipse.core.resources:$core_version"
+	compile "org.eclipse.platform:org.eclipse.core.runtime:$core_runtime_version"
+	compile "org.eclipse.platform:org.eclipse.core.resources:$core_resources_version"
 	compile "org.eclipse.xtext:org.eclipse.xtext:$xtext_version"
 }
 
diff --git a/plugins/org.eclipse.etrice.core.room/build.gradle b/plugins/org.eclipse.etrice.core.room/build.gradle
index bead8b3..20efac2 100644
--- a/plugins/org.eclipse.etrice.core.room/build.gradle
+++ b/plugins/org.eclipse.etrice.core.room/build.gradle
@@ -7,7 +7,7 @@
 	compile project(':plugins:org.eclipse.etrice.core.fsm')
 	runtime project(':plugins:org.eclipse.etrice.abstractexec.behavior')
 	
-	compile "org.eclipse.platform:org.eclipse.core.runtime:$core_version"
+	compile "org.eclipse.platform:org.eclipse.core.runtime:$core_runtime_version"
 	compile "org.eclipse.xtext:org.eclipse.xtext:$xtext_version"
 }
 
diff --git a/plugins/org.eclipse.etrice.etunit.converter/build.gradle b/plugins/org.eclipse.etrice.etunit.converter/build.gradle
index 0309c7d..e44d587 100644
--- a/plugins/org.eclipse.etrice.etunit.converter/build.gradle
+++ b/plugins/org.eclipse.etrice.etunit.converter/build.gradle
@@ -3,10 +3,10 @@
 }
 
 dependencies {
-	compile "org.eclipse.platform:org.eclipse.core.runtime:$core_version"
-	compile "org.eclipse.emf:org.eclipse.emf.common:$emf_version"
-	compile "org.eclipse.emf:org.eclipse.emf.ecore:$emf_version"
-	compile "org.eclipse.emf:org.eclipse.emf.ecore.xmi:$emf_version"
+	compile "org.eclipse.platform:org.eclipse.core.runtime:$core_runtime_version"
+	compile "org.eclipse.emf:org.eclipse.emf.common:$xtext_version"
+	compile "org.eclipse.emf:org.eclipse.emf.ecore:$xtext_version"
+	compile "org.eclipse.emf:org.eclipse.emf.ecore.xmi:$xtext_version"
 }
 
 sourceSets {
diff --git a/plugins/org.eclipse.etrice.etunit.converter/etUnitConverter.gradle b/plugins/org.eclipse.etrice.etunit.converter/etUnitConverter.gradle
index 35fa139..0c38bed 100644
--- a/plugins/org.eclipse.etrice.etunit.converter/etUnitConverter.gradle
+++ b/plugins/org.eclipse.etrice.etunit.converter/etUnitConverter.gradle
@@ -5,6 +5,7 @@
 /**
  * Creates a tasks that converts etu files to xml files
  * @param name: The name of the new task
+ * @param etuFiles: A list of etu files
  * @param options: The options passed to the converter
  */
 ext.createEtUnitConverterTask = { name, etuFiles, options = [] ->
@@ -17,5 +18,7 @@
 		args etuFiles
 		inputs.files etuFiles
 		outputs.files xmlFiles
+		inputs.files.each { println it }
+		outputs.files.each { println it }
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.generator.fsm/build.gradle b/plugins/org.eclipse.etrice.generator.fsm/build.gradle
index e5f81ea..74ebd8b 100644
--- a/plugins/org.eclipse.etrice.generator.fsm/build.gradle
+++ b/plugins/org.eclipse.etrice.generator.fsm/build.gradle
@@ -6,8 +6,8 @@
 	compile project(':plugins:org.eclipse.etrice.core.fsm')
 	compile project(':plugins:org.eclipse.etrice.core.genmodel.fsm')
 	
-	compile "org.eclipse.platform:org.eclipse.core.runtime:$core_version"
-	compile "org.eclipse.platform:org.eclipse.core.resources:$core_version"
+	compile "org.eclipse.platform:org.eclipse.core.runtime:$core_runtime_version"
+	compile "org.eclipse.platform:org.eclipse.core.resources:$core_resources_version"
 	compile "commons-io:commons-io:$commons_io_version"
 }
 
diff --git a/plugins/org.eclipse.etrice.generator/etGenerator.gradle b/plugins/org.eclipse.etrice.generator/etGenerator.gradle
index 4255697..399088d 100644
--- a/plugins/org.eclipse.etrice.generator/etGenerator.gradle
+++ b/plugins/org.eclipse.etrice.generator/etGenerator.gradle
@@ -6,7 +6,7 @@
 /**
  * Creates an eTrice generator task
  * @param name: The name of the new task
- * @param models: The models passed to the generator
+ * @param models: A list of models passed to the generator
  * @param genDir: The generation directory
  * @param options: The eTrice generator options
  */
diff --git a/tests/org.eclipse.etrice.generator.common.tests/etTest.gradle b/tests/org.eclipse.etrice.generator.common.tests/etTest.gradle
index e17d1d8..544b6f8 100644
--- a/tests/org.eclipse.etrice.generator.common.tests/etTest.gradle
+++ b/tests/org.eclipse.etrice.generator.common.tests/etTest.gradle
@@ -104,7 +104,7 @@
 	
 	runTask.doFirst { file("$workingDir/log").mkdirs() }
 	
-	def convertTask = createEtUnitConverterTask("convert$testNameCap", etuFile, ['-suite', suiteName])
+	def convertTask = createEtUnitConverterTask("convert$testNameCap", [etuFile], ['-suite', suiteName])
 	convertTask.dependsOn runTask
 	
 	check.dependsOn tasks.create(name: testName, dependsOn: convertTask, group: 'verification')
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/build.gradle b/tests/org.eclipse.etrice.runtime.cpp.tests/build.gradle
index 3105e15..f4a919d 100644
--- a/tests/org.eclipse.etrice.runtime.cpp.tests/build.gradle
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/build.gradle
@@ -43,7 +43,7 @@
 	doFirst { file('log').mkdirs() }
 }
 
-createEtUnitConverterTask('convert', etuFile)
+createEtUnitConverterTask('convert', [etuFile])
 convert.dependsOn run
 
 check.dependsOn convert
\ No newline at end of file
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/DebuggingServiceTest.cpp b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/DebuggingServiceTest.cpp
index 38ba099..8f5d716 100644
--- a/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/DebuggingServiceTest.cpp
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/DebuggingServiceTest.cpp
@@ -13,6 +13,7 @@
 #include "debugging/DebuggingServiceTest.h"
 #include "common/debugging/DebuggingService.h"
 #include "common/messaging/MessageService.h"
+#include "common/messaging/MessageServiceController.h"
 #include "common/messaging/RTServices.h"
 #include "common/messaging/StaticMessageMemory.h"
 #include "etUnit/etUnit.h"
@@ -22,10 +23,11 @@
 
 void DebuggingServiceTest::testLogging() {
 
+	MessageServiceController& msgSvcCtrl = RTServices::getInstance().getMsgSvcCtrl();
 	MessageService msgSvc(NULL, IMessageService::BLOCKED, 0, 0,
 			"TestMessageService", new StaticMessageMemory(NULL, "TestMemory", 64, 100));
-	RTServices::getInstance().getMsgSvcCtrl().addMsgSvc(msgSvc);
-	RTServices::getInstance().getMsgSvcCtrl().start();
+	msgSvcCtrl.addMsgSvc(msgSvc);
+	msgSvcCtrl.start();
 	SubSystemClass subSystem(NULL, "TestSubSystem");
 	ActorClass actor1(&subSystem, "TestActor1");
 	ActorClass actor2(&subSystem, "TestActor2");
@@ -59,7 +61,8 @@
 	dbgSvc.removePortInstance(port2);
 
 	dbgSvc.getAsyncLogger().close();
-	RTServices::getInstance().getMsgSvcCtrl().stop();
+	msgSvcCtrl.stop();
+	msgSvcCtrl.removeMsgSvc(msgSvc);
 
 	const char* failMsg = "DebuggingServiceTest failed";
 	Vector<String>& result = dbgSvc.getAsyncLogger().getCommandList();
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/MessageDispatcherTest.cpp b/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/MessageDispatcherTest.cpp
index 0c04fd1..c59d763 100644
--- a/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/MessageDispatcherTest.cpp
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/MessageDispatcherTest.cpp
@@ -15,6 +15,8 @@
 #include "common/messaging/MessageDispatcher.h"
 #include "common/messaging/MessageService.h"
 #include "common/messaging/StaticMessageMemory.h"
+#include "common/messaging/MessageServiceController.h"
+#include "common/messaging/RTServices.h"
 
 using namespace etRuntime;
 
@@ -70,8 +72,11 @@
 	const char *failMsg = "MessageDispatcher dispatching test failed";
 
 	// Test dispatching Messages
+	MessageServiceController& msgSvcCtrl = RTServices::getInstance().getMsgSvcCtrl();
 	MessageService msgSvc(NULL, IMessageService::BLOCKED, 1, 2,
 				"Test MessageService", new StaticMessageMemory(NULL, "TestMemory", 64, 100));
+	msgSvcCtrl.addMsgSvc(msgSvc);
+	msgSvcCtrl.start();
 	MessageDispatcher msgDisp(&msgSvc, Address(1, 2, 0), "TestMessageDispatcher");
 	Address addr1 = msgDisp.getFreeAddress();
 	Address addr2 = msgDisp.getFreeAddress();
@@ -133,6 +138,8 @@
 	msgDisp.removePollingMessageReceiver(recv1);
 	msgDisp.removePollingMessageReceiver(recv2);
 	msgDisp.removePollingMessageReceiver(recv3);
+	msgSvcCtrl.stop();
+	msgSvcCtrl.removeMsgSvc(msgSvc);
 }
 
 void MessageDispatcherTest::runAllTestCases() {
