diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/ModelExtractionService.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/ModelExtractionService.java
index 0f66755cb3e411e204d97964b5cd8f8d997ff6a8..5a52c0cf531fa01fe6293033abb87c0b371bcfef 100644
--- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/ModelExtractionService.java
+++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/ModelExtractionService.java
@@ -301,7 +301,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 				if (wildFlyContainer != null) {
 					for (AssemblyContext curContext : undeployedAssemblyContexts) {
 						DeploymentContext curDeployment = DeploymentFactory.eINSTANCE.createDeploymentContext();
-						curDeployment.setName(curContext.getName() + "@" + wildFlyContainer.getName());
+						curDeployment.setName(toName(curContext.getName() + "@" + wildFlyContainer.getName()));
 						curDeployment.setAssemblyContext(curContext);
 						curDeployment.setResourceContainer(wildFlyContainer);
 						ModelSkeletonUtil.insert(skeleton.getDeployment().getDeploymentContexts(), curDeployment);
@@ -360,11 +360,11 @@ public class ModelExtractionService extends AgentController implements Service<M
 
 		// 1. add the incoming interface to the repository
 		Interface incomingInterface = RepositoryFactory.eINSTANCE.createInterface();
-		incomingInterface.setName(incomingInterfaceName);
+		incomingInterface.setName(toName(incomingInterfaceName));
 		incomingInterface = ModelSkeletonUtil.insert(skeleton.getRepository().getInterfaces(), incomingInterface);
 
 		Signature incomingSignature = RepositoryFactory.eINSTANCE.createSignature();
-		incomingSignature.setName(getSignatureName(incomingIrec));
+		incomingSignature.setName(toName(getSignatureName(incomingIrec)));
 		incomingSignature = ModelSkeletonUtil.insert(incomingInterface.getSignatures(), incomingSignature);
 		
 		// 2. add the outgoing interface to the repository (if applicable)
@@ -372,21 +372,21 @@ public class ModelExtractionService extends AgentController implements Service<M
 		Signature outgoingSignature = null;
 		if (outgoingIrec != null) {
 			outgoingInterface = RepositoryFactory.eINSTANCE.createInterface();
-			outgoingInterface.setName(outgoingInterfaceName);
+			outgoingInterface.setName(toName(outgoingInterfaceName));
 			outgoingInterface = ModelSkeletonUtil.insert(skeleton.getRepository().getInterfaces(), outgoingInterface);
 			outgoingSignature = RepositoryFactory.eINSTANCE.createSignature();
-			outgoingSignature.setName(getSignatureName(outgoingIrec));
+			outgoingSignature.setName(toName(getSignatureName(outgoingIrec)));
 			outgoingSignature = ModelSkeletonUtil.insert(outgoingInterface.getSignatures(), outgoingSignature);
 		}
 
 		// 3. Create the implementation component for the caller component
 		BasicComponent implementationComponent = RepositoryFactory.eINSTANCE.createBasicComponent();
-		implementationComponent.setName(incomingCrec.getComponentClass());
+		implementationComponent.setName(toName(incomingCrec.getComponentClass()));
 		implementationComponent = (BasicComponent) ModelSkeletonUtil.insert(skeleton.getRepository().getComponents(),
 				implementationComponent);
 		String providingPortName = getInterfaceProvidingRoleName(incomingIrec, "");
 		InterfaceProvidingRole callerProvidingRole = RepositoryFactory.eINSTANCE.createInterfaceProvidingRole();
-		callerProvidingRole.setName(providingPortName);
+		callerProvidingRole.setName(toName(providingPortName));
 		callerProvidingRole.setInterface(incomingInterface);
 		callerProvidingRole = ModelSkeletonUtil.insert(implementationComponent.getInterfaceProvidingRoles(),
 				callerProvidingRole);
@@ -403,7 +403,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 				roleName = roleName + "/" + callerRoleIdx;
 			}
 			callerRequiringRole = RepositoryFactory.eINSTANCE.createInterfaceRequiringRole();
-			callerRequiringRole.setName(roleName);
+			callerRequiringRole.setName(toName(roleName));
 			callerRequiringRole.setInterface(outgoingInterface);
 			callerRequiringRole = ModelSkeletonUtil.insert(implementationComponent.getInterfaceRequiringRoles(),
 					callerRequiringRole);
@@ -434,7 +434,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 			}
 
 			calledProvidingRole = RepositoryFactory.eINSTANCE.createInterfaceProvidingRole();
-			calledProvidingRole.setName(calledProvingRoleName);
+			calledProvidingRole.setName(toName(calledProvingRoleName));
 			calledProvidingRole.setInterface(outgoingInterface);
 			calledProvidingRole = ModelSkeletonUtil.insert(calledComponent.getInterfaceProvidingRoles(),
 					calledProvidingRole);
@@ -456,14 +456,14 @@ public class ModelExtractionService extends AgentController implements Service<M
 				String providingRemotePortName = getInterfaceProvidingRoleName(incomingIrec,
 						incomingCrec.getComponentName());
 				InterfaceProvidingRole remoteProvidingRole = RepositoryFactory.eINSTANCE.createInterfaceProvidingRole();
-				remoteProvidingRole.setName(providingRemotePortName);
+				remoteProvidingRole.setName(toName(providingRemotePortName));
 				remoteProvidingRole.setInterface(incomingInterface);
 				remoteProvidingRole = ModelSkeletonUtil.insert(compositeComponent.getInterfaceProvidingRoles(),
 						remoteProvidingRole);
 
 				ProvidingDelegationConnector providingConnector = RepositoryFactory.eINSTANCE
 						.createProvidingDelegationConnector();
-				providingConnector.setName(innerAssemblyContext.getName());
+				providingConnector.setName(toName(innerAssemblyContext.getName()));
 				providingConnector.setOuterInterfaceProvidingRole(remoteProvidingRole);
 				providingConnector.setInnerInterfaceProvidingRole(callerProvidingRole);
 				providingConnector.setAssemblyContext(innerAssemblyContext);
@@ -486,14 +486,14 @@ public class ModelExtractionService extends AgentController implements Service<M
 						requiringRemotePortName = requiringRemotePortName + "/" + callerRoleIdx;
 					}
 					remoteRequiringRole = RepositoryFactory.eINSTANCE.createInterfaceRequiringRole();
-					remoteRequiringRole.setName(requiringRemotePortName);
+					remoteRequiringRole.setName(toName(requiringRemotePortName));
 					remoteRequiringRole.setInterface(outgoingInterface);
 					remoteRequiringRole = ModelSkeletonUtil.insert(compositeComponent.getInterfaceRequiringRoles(),
 							remoteRequiringRole);
 
 					RequiringDelegationConnector requiringConnector = RepositoryFactory.eINSTANCE
 							.createRequiringDelegationConnector();
-					requiringConnector.setName(innerAssemblyContext.getName());
+					requiringConnector.setName(toName(innerAssemblyContext.getName()));
 					requiringConnector.setOuterInterfaceRequiringRole(remoteRequiringRole);
 					requiringConnector.setInnerInterfaceRequiringRole(callerRequiringRole);
 					requiringConnector.setAssemblyContext(innerAssemblyContext);
@@ -506,7 +506,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 							calledComponent);
 
 					AssemblyConnector connector = RepositoryFactory.eINSTANCE.createAssemblyConnector();
-					connector.setName(innerAssemblyContext.getName() + " -> " + calledAssembly.getName());
+					connector.setName(toName(innerAssemblyContext.getName() + " -> " + calledAssembly.getName()));
 					connector.setInterfaceProvidingRole(calledProvidingRole);
 					connector.setInterfaceRequiringRole(callerRequiringRole);
 					connector.setProvidingAssemblyContext(calledAssembly);
@@ -524,7 +524,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 			AssemblyContext calledContext = addAssemblyContext(skeleton.getSystem(), outgoingCrec, calledComponent);
 
 			AssemblyConnector connector = RepositoryFactory.eINSTANCE.createAssemblyConnector();
-			connector.setName(callerContext.getName() + " -> " + calledContext.getName());
+			connector.setName(toName(callerContext.getName() + " -> " + calledContext.getName()));
 			connector.setInterfaceProvidingRole(calledProvidingRole);
 			connector.setInterfaceRequiringRole(callerRequiringRole);
 			connector.setProvidingAssemblyContext(calledContext);
@@ -540,7 +540,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 		// This way a user can control which interfaces are exposed at the
 		// system level by creating them manually.
 		InterfaceProvidingRole systemProvidingRole = RepositoryFactory.eINSTANCE.createInterfaceProvidingRole();
-		systemProvidingRole.setName(systemProvidingRoleName);
+		systemProvidingRole.setName(toName(systemProvidingRoleName));
 		systemProvidingRole.setInterface(incomingInterface);
 		systemProvidingRole = ModelSkeletonUtil.find(
 				getContainerScope().getSystemScope().getSystem().getInterfaceProvidingRoles(), systemProvidingRole);
@@ -550,7 +550,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 
 			ProvidingDelegationConnector systemProvidingConnector = RepositoryFactory.eINSTANCE
 					.createProvidingDelegationConnector();
-			systemProvidingConnector.setName(callerContext.getName());
+			systemProvidingConnector.setName(toName(callerContext.getName()));
 			systemProvidingConnector.setOuterInterfaceProvidingRole(systemProvidingRole);
 			systemProvidingConnector.setInnerInterfaceProvidingRole(callerProvidingRole);
 			systemProvidingConnector.setAssemblyContext(callerContext);
@@ -560,7 +560,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 		if (callerRequiringRole != null) {
 			String systemRequiringRoleName = getInterfaceRequiringRoleName(outgoingIrec, callerContext.getName());
 			InterfaceRequiringRole systemRequiringRole = RepositoryFactory.eINSTANCE.createInterfaceRequiringRole();
-			systemRequiringRole.setName(systemRequiringRoleName);
+			systemRequiringRole.setName(toName(systemRequiringRoleName));
 			systemRequiringRole.setInterface(outgoingInterface);
 			systemRequiringRole = ModelSkeletonUtil.find(
 					getContainerScope().getSystemScope().getSystem().getInterfaceRequiringRoles(), systemRequiringRole);
@@ -570,7 +570,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 
 				RequiringDelegationConnector systemRequiringConnector = RepositoryFactory.eINSTANCE
 						.createRequiringDelegationConnector();
-				systemRequiringConnector.setName(callerContext.getName());
+				systemRequiringConnector.setName(toName(callerContext.getName()));
 				systemRequiringConnector.setInnerInterfaceRequiringRole(callerRequiringRole);
 				systemRequiringConnector.setOuterInterfaceRequiringRole(systemRequiringRole);
 				systemRequiringConnector.setAssemblyContext(callerContext);
@@ -688,7 +688,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 		} else {
 			contextName.append(componentRecord.getComponentName());
 		}
-		context.setName(contextName.toString());
+		context.setName(toName(contextName.toString()));
 		context.setEncapsulatedComponent(component);
 		return ModelSkeletonUtil.insert(parent.getAssemblyContexts(), context);
 	}
@@ -697,7 +697,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 			FineGrainedBehavior behavior, InterfaceRequiringRole requiringRole, Signature outgoingSignature) {
 		ExternalCallAction callAction = ServicebehaviorFactory.eINSTANCE.createExternalCallAction();
 		ExternalCall call = ServicebehaviorFactory.eINSTANCE.createExternalCall();
-		call.setName(requiringRole.getName() + "#" + outgoingSignature.getName());
+		call.setName(toName(requiringRole.getName() + "#" + outgoingSignature.getName()));
 		call.setSignature(outgoingSignature);
 		call.setInterfaceRequiringRole(requiringRole);
 		callAction.setExternalCall(call);
@@ -718,7 +718,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 		} else {
 			LoopAction loop = ServicebehaviorFactory.eINSTANCE.createLoopAction();
 			LoopIterationCount iterationCount = ServicebehaviorFactory.eINSTANCE.createLoopIterationCount();
-			iterationCount.setName(call.getName());
+			iterationCount.setName(toName(call.getName()));
 			iterationCount.setCharacterization(ModelVariableCharacterizationType.EMPIRICAL);
 			loop.setLoopIterationCount(iterationCount);
 			loop.setLoopBodyBehavior(ServicebehaviorFactory.eINSTANCE.createComponentInternalBehavior());
@@ -751,7 +751,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 		String compositeName = getCompositeComponentName(crec);
 		if (compositeName.length() > 0) {
 			CompositeComponent compositeComponent = RepositoryFactory.eINSTANCE.createCompositeComponent();
-			compositeComponent.setName(compositeName.toString());
+			compositeComponent.setName(toName(compositeName.toString()));
 			return (CompositeComponent) ModelSkeletonUtil.insert(skeleton.getRepository().getComponents(),
 					compositeComponent);
 		}
@@ -766,14 +766,14 @@ public class ModelExtractionService extends AgentController implements Service<M
 			String calleeCompositeName = getCompositeComponentName(callee);
 			if (calleeCompositeName.length() > 0) {
 				CompositeComponent compositeComponent = RepositoryFactory.eINSTANCE.createCompositeComponent();
-				compositeComponent.setName(calleeCompositeName);
+				compositeComponent.setName(toName(calleeCompositeName));
 				return (CompositeComponent) ModelSkeletonUtil.insert(skeleton.getRepository().getComponents(),
 						compositeComponent);
 			}
 		}
 		if (callee.getComponentClass() != null) {
 			BasicComponent basicComponent = RepositoryFactory.eINSTANCE.createBasicComponent();
-			basicComponent.setName(callee.getComponentClass());
+			basicComponent.setName(toName(callee.getComponentClass()));
 			return (BasicComponent) ModelSkeletonUtil.insert(skeleton.getRepository().getComponents(), basicComponent);
 		}
 		throw new IllegalStateException("Could not create called component for " + callee.getComponentName());
@@ -853,4 +853,9 @@ public class ModelExtractionService extends AgentController implements Service<M
 		res.append(record.getOperation().getInterfaceName());
 		return res.toString();
 	}
+
+	private String toName(String name) {
+		// The DML text editors do not like colons in names.
+		return name.replace(".", "_");
+	}
 }