diff --git a/tools.descartes.pmx.builder/META-INF/MANIFEST.MF b/tools.descartes.pmx.builder/META-INF/MANIFEST.MF
index 54c733439f5fdccc5523aa433624f4782f496ef1..eb2475e8c162c3912ca38a92f707a4c4478f1f85 100644
--- a/tools.descartes.pmx.builder/META-INF/MANIFEST.MF
+++ b/tools.descartes.pmx.builder/META-INF/MANIFEST.MF
@@ -10,4 +10,5 @@ Require-Bundle: org.eclipse.emf.ecore,
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: tools.descartes.pmx.builder,
  tools.descartes.pmx.filter.controlflow,
- tools.descartes.pmx.filter.util
+ tools.descartes.pmx.filter.util,
+ tools.descartes.pmx.util.cmbg
diff --git a/tools.descartes.pmx.builder/src/tools/descartes/pmx/builder/ModelBuilder.java b/tools.descartes.pmx.builder/src/tools/descartes/pmx/builder/ModelBuilder.java
index a68de6ff452e861efeafd17fef3fa24f1206e9d7..26e42499c147daebb910b6ef615e69eeb443f34f 100644
--- a/tools.descartes.pmx.builder/src/tools/descartes/pmx/builder/ModelBuilder.java
+++ b/tools.descartes.pmx.builder/src/tools/descartes/pmx/builder/ModelBuilder.java
@@ -132,7 +132,7 @@ public abstract class ModelBuilder implements IModelBuilder{
 				+ " -> " + "Assembly_" + providingAssemblyName + " <"
 				+ providingAssemblyName + ">";
 		if(!connectorMap.containsKey(key)){
-			EObject connector = connectAssemblies(requiringAssemblyName, providingAssemblyName);
+			EObject connector = connectAssemblies(providingAssemblyName, requiringAssemblyName);
 			connectorMap.put(key, connector);
 		}
 	}
diff --git a/tools.descartes.pmx.console/META-INF/MANIFEST.MF b/tools.descartes.pmx.console/META-INF/MANIFEST.MF
index b7d48cae80fe60da3b2fb6b00b8129af8eca8a4d..a7e4429873fff03cec1a28d5fd87c984e23dd486 100644
--- a/tools.descartes.pmx.console/META-INF/MANIFEST.MF
+++ b/tools.descartes.pmx.console/META-INF/MANIFEST.MF
@@ -10,6 +10,7 @@ Require-Bundle: kieker,
  org.apache.commons.cli,
  org.apache.log4j,
  tools.descartes.pmx,
- tools.descartes.pmx.builder
+ tools.descartes.pmx.builder,
+ tools.descartes.pmx.pcm.builder
 Import-Package: tools.descartes.pmx
 Export-Package: tools.descartes.pmx.console
diff --git a/tools.descartes.pmx.console/src/tools/descartes/pmx/console/PMXCommandLine.java b/tools.descartes.pmx.console/src/tools/descartes/pmx/console/PMXCommandLine.java
index 600a42ac464a7759a18bf6c8326ca7a15e142ff5..75747f784869c16dd753b7a4996cc74ff5b48760 100644
--- a/tools.descartes.pmx.console/src/tools/descartes/pmx/console/PMXCommandLine.java
+++ b/tools.descartes.pmx.console/src/tools/descartes/pmx/console/PMXCommandLine.java
@@ -55,6 +55,7 @@ import kieker.common.configuration.Configuration;
 import kieker.common.util.filesystem.FSUtil;
 import tools.descartes.pmx.PMXController;
 import tools.descartes.pmx.builder.IModelBuilder;
+import tools.descartes.pmx.pcm.builder.PCMBuilder;
 
 public class PMXCommandLine {
 
@@ -129,6 +130,7 @@ public class PMXCommandLine {
 		initConsoleLogging();
 		PMXCommandLine cmd = PMXCommandLine.parse(args);
 		PMXController pmx = cmd.createPMX();
+		setModelBuilder(new PCMBuilder(args[3]));
 		try{			
 			pmx.run();
 			return true;
diff --git a/tools.descartes.pmx.pcm.builder/META-INF/MANIFEST.MF b/tools.descartes.pmx.pcm.builder/META-INF/MANIFEST.MF
index d49f7fa6ebaaf8aae5626df51fcd7340aadc3657..c9566db2c3e770d15bbfef9d6af9d10816637f8c 100644
--- a/tools.descartes.pmx.pcm.builder/META-INF/MANIFEST.MF
+++ b/tools.descartes.pmx.pcm.builder/META-INF/MANIFEST.MF
@@ -7,7 +7,8 @@ Require-Bundle: org.eclipse.emf.ecore,
  kieker,
  org.apache.log4j,
  org.eclipse.emf.common,
- org.palladiosimulator.pcm;visibility:=reexport
+ org.palladiosimulator.pcm;visibility:=reexport,
+ tools.descartes.pmx.builder
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: tools.descartes.pmx.pcm.builder,
  tools.descartes.pmx.pcm.builder,
diff --git a/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMBuilder.java b/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMBuilder.java
index d48d882766d3c8be333fad4a197d9f94a97bd1f1..ed736ca15109ae189c90b1d9fbf71182d00d2e2f 100644
--- a/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMBuilder.java
+++ b/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMBuilder.java
@@ -148,10 +148,9 @@ public class PCMBuilder extends ModelBuilder implements IModelBuilder {
 		Map<String, Object> m = reg.getExtensionToFactoryMap();
 		m.put("repository", new XMIResourceFactoryImpl()); // file ending
 		Resource resource;
-		resource = resourceSet.createResource(URI.createURI("pathmap://PCM_MODELS/PrimitiveTypes.repository"));
+		resource = resourceSet.getResource(URI.createURI("pathmap://PCM_MODELS/PrimitiveTypes.repository"), true);
 		try {
-			InputStream inputStream = getClass().getResourceAsStream("PrimitiveTypes.repository");
-			resource.load(inputStream, Collections.EMPTY_MAP);
+			resource.load(Collections.EMPTY_MAP);
 			Repository dataTypeRepository = (Repository) resource.getContents().get(0);
 			for (DataType dataType : ((Repository) dataTypeRepository).getDataTypes__Repository()) {
 				dataTypeMap.put(((PrimitiveDataType) dataType).getType().getName(), dataType);
@@ -175,10 +174,9 @@ public class PCMBuilder extends ModelBuilder implements IModelBuilder {
 		Map<String, Object> m = reg.getExtensionToFactoryMap();
 		m.put("resourcetype", new XMIResourceFactoryImpl()); // file ending
 		Resource resource;
-		resource = resourceSet.createResource(URI.createURI("pathmap://PCM_MODELS/Palladio.resourcetype"));
+		resource = resourceSet.getResource(URI.createURI("pathmap://PCM_MODELS/Palladio.resourcetype"), true);
 		try {
-			InputStream inputStream = getClass().getResourceAsStream("Palladio.resourcetype");
-			resource.load(inputStream, Collections.EMPTY_MAP);
+			resource.load(Collections.EMPTY_MAP);
 			resourceRepository = (ResourceRepository) resource.getContents().get(0);
 		} catch (IOException e) {
 			log.error("IOException: Failed to read Palladio.resourcetype from file", e);
diff --git a/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMSEFFFactory.java b/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMSEFFFactory.java
index 2f45c77f1ae63815ec351197e7e6b66dfadb30aa..477dda5d92ae81bc53dbb87e3cb6209cb2a37440 100644
--- a/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMSEFFFactory.java
+++ b/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMSEFFFactory.java
@@ -280,7 +280,7 @@ public class PCMSEFFFactory {
 		externalCallAction.setCalledService_ExternalService(
 				(OperationSignature) builder.getMethod(Util.createMethodKey(externalCall.getMethodName(),
 						ModelBuilder.applyComponentNameFix(externalCall.getClassName()))));
-		builder.addRequiredRole(externalCall.getClassName(), "I"+component.getEntityName());
+		builder.addRequiredRole(component.getEntityName(), "I"+externalCall.getClassName());
 		OperationRequiredRole role = (OperationRequiredRole) builder.getRole("Required_" + "I"
 				+ externalCall.getClassName() + ModelBuilder.seperatorChar + component.getEntityName());
 		externalCallAction.setRole_ExternalService(role);
diff --git a/tools.descartes.pmx.pcm.eclipse/META-INF/MANIFEST.MF b/tools.descartes.pmx.pcm.eclipse/META-INF/MANIFEST.MF
index 0e200238aa57335942cdd14206575ee4de03a0f8..db007f90de6cfa8d130bceeeb140c74ad7b38513 100644
--- a/tools.descartes.pmx.pcm.eclipse/META-INF/MANIFEST.MF
+++ b/tools.descartes.pmx.pcm.eclipse/META-INF/MANIFEST.MF
@@ -9,6 +9,7 @@ Require-Bundle: org.eclipse.ui,
  org.eclipse.ui.ide,
  org.eclipse.core.resources,
  tools.descartes.pmx.console,
- org.eclipse.ui.console
+ org.eclipse.ui.console,
+ tools.descartes.pmx.pcm.builder
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tools.descartes.pmx.pcm.eclipse/src/tools/descartes/pmx/frontend/pcm/PMXCommandLinePCM.java b/tools.descartes.pmx.pcm.eclipse/src/tools/descartes/pmx/frontend/pcm/PMXCommandLinePCM.java
index 5347e5cd2a4e85e5a83fba824cb242395edb5f60..4da6a8dc02fa5b67bccc766a2032269ee50e31aa 100644
--- a/tools.descartes.pmx.pcm.eclipse/src/tools/descartes/pmx/frontend/pcm/PMXCommandLinePCM.java
+++ b/tools.descartes.pmx.pcm.eclipse/src/tools/descartes/pmx/frontend/pcm/PMXCommandLinePCM.java
@@ -5,8 +5,8 @@ import tools.descartes.pmx.console.PMXCommandLine;
 public class PMXCommandLinePCM extends PMXCommandLine {
 
 	public static void main(String[] args) {
-		setModelBuilder(new PCMBuilder());
-		run(args);
+		//setModelBuilder(new PCMBuilder(null));
+		//run(args);
 	}
 
 }