General refactoring of components

* Renaming of InsufficientConfigurationDataException
* Renaming of BaSysNativeDeviceStatusIF to fit to code style
* Extraction of String constants
* Removal of obsolete constructors
* TCPDeviceManagerComponent: Fixes bug where the thread
  tried to close was never assigned
* BaseSmartDevice: Generalized constructor to take arbitrary CC
* Introduction of getters for variables directly accessed
* processengineconnector/tests: Exceptions that could potentially
  fail the test case were ignored
* Removes BaSyxStandaloneServer, is not used

Change-Id: I0be9e81f811a65c69fb702e9e4b827cb07c49b3c
Signed-off-by: Frank Schnicke <frank.schnicke@iese.fraunhofer.de>
diff --git a/components/basys.components/src/main/java/org/eclipse/basyx/components/cfgprovider/RawCFGSubModelProvider.java b/components/basys.components/src/main/java/org/eclipse/basyx/components/cfgprovider/RawCFGSubModelProvider.java
index bc1969e..5ac99c8 100644
--- a/components/basys.components/src/main/java/org/eclipse/basyx/components/cfgprovider/RawCFGSubModelProvider.java
+++ b/components/basys.components/src/main/java/org/eclipse/basyx/components/cfgprovider/RawCFGSubModelProvider.java
@@ -13,6 +13,8 @@
  */
 public class RawCFGSubModelProvider extends BaseConfiguredProvider {
 
+	private static final String FTYPE = "$ftype";
+
 	/**
 	 * Constructor
 	 */
@@ -31,7 +33,7 @@
 		// Load properties
 		for (Object key : cfgValues.keySet()) {
 			// Do not put meta data keys into map
-			if (((String) key).endsWith("$ftype"))
+			if (((String) key).endsWith(FTYPE))
 				continue;
 
 			// Get path to element
@@ -49,8 +51,8 @@
 			// Get and optionally convert value
 			Object value = cfgValues.get(key);
 			// - Cast value if requested by user
-			if (cfgValues.get(key + "$ftype") != null)
-				switch ((String) cfgValues.get(key + "$ftype")) {
+			if (cfgValues.get(key + FTYPE) != null)
+				switch ((String) cfgValues.get(key + FTYPE)) {
 				case "int":
 					value = Integer.parseInt((String) value);
 					break;
@@ -62,7 +64,7 @@
 					break;
 
 				default:
-					System.out.println("Unknown type:" + cfgValues.get(key + "$ftype"));
+					System.out.println("Unknown type:" + cfgValues.get(key + FTYPE));
 				}
 
 			System.out.println("Putting:" + key + " = " + cfgValues.get(key) + " as " + value.getClass().getName());
diff --git a/components/basys.components/src/main/java/org/eclipse/basyx/components/configuration/CFGBaSyxProtocolType.java b/components/basys.components/src/main/java/org/eclipse/basyx/components/configuration/CFGBaSyxProtocolType.java
index 6678d1a..c3b5fda 100644
--- a/components/basys.components/src/main/java/org/eclipse/basyx/components/configuration/CFGBaSyxProtocolType.java
+++ b/components/basys.components/src/main/java/org/eclipse/basyx/components/configuration/CFGBaSyxProtocolType.java
@@ -41,17 +41,6 @@
 		}
 	}
 	
-	
-	
-	/**
-	 * Constructor
-	 */
-	private CFGBaSyxProtocolType() {
-		// Do nothing
-	}
-	
-	
-	
 	/**
 	 * Create protocol instance
 	 */
diff --git a/components/basys.components/src/main/java/org/eclipse/basyx/components/configuration/exception/InsufficientConfigurationDateException.java b/components/basys.components/src/main/java/org/eclipse/basyx/components/configuration/exception/InsufficientConfigurationDataException.java
similarity index 75%
rename from components/basys.components/src/main/java/org/eclipse/basyx/components/configuration/exception/InsufficientConfigurationDateException.java
rename to components/basys.components/src/main/java/org/eclipse/basyx/components/configuration/exception/InsufficientConfigurationDataException.java
index 31f4340..49dbaec 100644
--- a/components/basys.components/src/main/java/org/eclipse/basyx/components/configuration/exception/InsufficientConfigurationDateException.java
+++ b/components/basys.components/src/main/java/org/eclipse/basyx/components/configuration/exception/InsufficientConfigurationDataException.java
@@ -7,7 +7,7 @@
  * @author kuhn
  *
  */
-public class InsufficientConfigurationDateException extends RuntimeException {
+public class InsufficientConfigurationDataException extends RuntimeException {
 
 	
 	/**
@@ -21,7 +21,7 @@
 	/**
 	 * Default constructor
 	 */
-	public InsufficientConfigurationDateException() {
+	public InsufficientConfigurationDataException() {
 		// Invoke base constructor
 		super();
 	}
@@ -30,7 +30,7 @@
 	/**
 	 * Constructor with additional message
 	 */
-	public InsufficientConfigurationDateException(String message) {
+	public InsufficientConfigurationDataException(String message) {
 		// Invoke base constructor
 		super(message);
 	}
diff --git a/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseDevice.java b/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseDevice.java
index 9948a2d..e2aae53 100644
--- a/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseDevice.java
+++ b/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseDevice.java
@@ -15,20 +15,11 @@
  * @author kuhn
  *
  */
-public abstract class BaseDevice extends BaseBaSyxService implements BaSysNativeDeviceStatusIF {
-
-	
+public abstract class BaseDevice extends BaseBaSyxService implements IBaSysNativeDeviceStatus {
 	
 	/**
-	 * Constructor
-	 */
-	public BaseDevice() {
-		// Do nothing
-	}
-	
-	
-	/**
-	 * Device interface function: (usually native code) indicates that device has been initialized
+	 * Device interface function: (usually native code) indicates that device has
+	 * been initialized
 	 */
 	@Override
 	public void deviceInitialized() {
@@ -41,7 +32,8 @@
 	
 	
 	/**
-	 * Device interface function: (usually native code) indicates that device service is running
+	 * Device interface function: (usually native code) indicates that device
+	 * service is running
 	 */
 	@Override
 	public void serviceRunning() {
@@ -54,7 +46,8 @@
 	
 	
 	/**
-	 * Device interface function: (usually native code) indicates that device service execution has completed
+	 * Device interface function: (usually native code) indicates that device
+	 * service execution has completed
 	 */
 	@Override
 	public void serviceCompleted() {
@@ -67,7 +60,8 @@
 
 	
 	/**
-	 * Device interface function: (usually native code) indicates that device is ready again
+	 * Device interface function: (usually native code) indicates that device is
+	 * ready again
 	 */
 	@Override
 	public void resetCompleted() {
@@ -93,7 +87,7 @@
 	 */
 	protected void onInitialize() {
 		// Here: Initialize device
-		System.out.println("DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDevice status change: initialize");		
+		System.out.println("Device " + name + " status change: initialize");
 	}
 
 	
@@ -102,7 +96,7 @@
 	 */
 	protected void onServiceInvocation() {
 		// Here: Invoke device service
-		System.out.println("DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDevice status change: invoke");		
+		System.out.println("Device " + name + " status change: invoke");
 	}
 	
 	
@@ -111,7 +105,7 @@
 	 */
 	protected void onServiceEnd() {
 		// Here: Perform device operation after device service end (if necessary)
-		System.out.println("DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDevice status change: end");
+		System.out.println("Device " + name + " status change: end");
 	}
 	
 	
@@ -120,7 +114,7 @@
 	 */
 	protected void onReset() {
 		// Here: Reset device
-		System.out.println("DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDevice status change: reset");
+		System.out.println("Device " + name + " status change: reset");
 	}
 }
 
diff --git a/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseSmartDevice.java b/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseSmartDevice.java
index 261d2d6..3ade7a1 100644
--- a/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseSmartDevice.java
+++ b/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseSmartDevice.java
@@ -1,5 +1,6 @@
 package org.eclipse.basyx.components.device;
 
+import org.eclipse.basyx.models.controlcomponent.ControlComponent;
 import org.eclipse.basyx.models.controlcomponent.ControlComponentChangeListener;
 import org.eclipse.basyx.models.controlcomponent.ExecutionMode;
 import org.eclipse.basyx.models.controlcomponent.ExecutionState;
@@ -17,43 +18,48 @@
  * @author kuhn
  *
  */
-public abstract class BaseSmartDevice extends BaseDevice implements ControlComponentChangeListener, BaSysNativeDeviceStatusIF {
+public abstract class BaseSmartDevice extends BaseDevice implements ControlComponentChangeListener, IBaSysNativeDeviceStatus {
 
 	
 	/**
 	 * Device control component
 	 */
-	protected SimpleControlComponent simpleControlComponent = null;
-	
-	
+	protected ControlComponent controlComponent = null;
 
-	
 	/**
-	 * Constructor
+	 * Initializes BaseSmartDevice with a SimpleControlComponent
 	 */
 	public BaseSmartDevice() {
-		// Do nothing
+		// Create control component
+		controlComponent = new SimpleControlComponent();
+		// - Register this component as event listener
+		controlComponent.addControlComponentChangeListener(this);
 	}
 
+	/**
+	 * Initializes BaseSmartDevice with an arbitary {@link ControlComponent}
+	 * 
+	 * @param component
+	 */
+	public BaseSmartDevice(ControlComponent component) {
+		controlComponent = component;
+		component.addControlComponentChangeListener(this);
+	}
 
 	/**
 	 * Start smart device
 	 */
 	@Override
 	public void start() {
-		// Create control component
-		simpleControlComponent = new SimpleControlComponent();
-		// - Register this component as event listener
-		simpleControlComponent.addControlComponentChangeListener(this);
 	}
 	
 	
 	/**
 	 * Get control component instance
 	 */
-	public SimpleControlComponent getControlComponent() {
+	public ControlComponent getControlComponent() {
 		// Return control component instance
-		return simpleControlComponent;
+		return controlComponent;
 	}
 	
 	
@@ -63,7 +69,7 @@
 	@Override
 	public void statusChange(String newStatus) {
 		// Change control component execution status
-		simpleControlComponent.setExecutionState(newStatus);
+		controlComponent.setExecutionState(newStatus);
 	}
 
 	
@@ -74,8 +80,6 @@
 	 */
 	@Override
 	public void onVariableChange(String varName, Object newValue) {
-		// TODO Auto-generated method stub
-		
 	}
 
 
@@ -84,8 +88,6 @@
 	 */
 	@Override
 	public void onNewOccupier(String occupierId) {
-		// TODO Auto-generated method stub
-		
 	}
 
 
@@ -94,8 +96,6 @@
 	 */
 	@Override
 	public void onNewOccupationState(OccupationState state) {
-		// TODO Auto-generated method stub
-		
 	}
 
 
@@ -104,8 +104,6 @@
 	 */
 	@Override
 	public void onChangedExecutionMode(ExecutionMode newExecutionMode) {
-		// TODO Auto-generated method stub
-		
 	}
 
 
@@ -124,8 +122,6 @@
 	 */
 	@Override
 	public void onChangedOperationMode(String newOperationMode) {
-		// TODO Auto-generated method stub
-		
 	}
 
 
@@ -134,8 +130,6 @@
 	 */
 	@Override
 	public void onChangedWorkState(String newWorkState) {
-		// TODO Auto-generated method stub
-		
 	}
 
 
@@ -144,8 +138,6 @@
 	 */
 	@Override
 	public void onChangedErrorState(String newWorkState) {
-		// TODO Auto-generated method stub
-		
 	}
 }
 
diff --git a/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseTCPControllableDeviceAdapter.java b/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseTCPControllableDeviceAdapter.java
index 0a6afe1..37fee53 100644
--- a/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseTCPControllableDeviceAdapter.java
+++ b/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseTCPControllableDeviceAdapter.java
@@ -15,7 +15,7 @@
  * @author kuhn
  *
  */
-public abstract class BaseTCPControllableDeviceAdapter extends BaseTCPDeviceAdapter implements BaSysNativeDeviceStatusIF, NetworkReceiver {
+public abstract class BaseTCPControllableDeviceAdapter extends BaseTCPDeviceAdapter implements IBaSysNativeDeviceStatus, NetworkReceiver {
 
 	
 	/**
@@ -27,17 +27,15 @@
 	/**
 	 * Selected device operation mode
 	 */
-	public String opMode = "";
+	protected String opMode = "";
 	
 	
 	/**
 	 * Device execution state
 	 */
-	public ExecutionState exState = null;
+	protected ExecutionState exState = null;
 
-	
-	
-	
+
 	/**
 	 * Constructor
 	 */
@@ -130,4 +128,13 @@
 		// Indicate exception
 		throw new RuntimeException("Unexpected message received:"+rxMessage);
 	}
+
+	public String getOpMode() {
+		return opMode;
+	}
+
+	public ExecutionState getExState() {
+		return exState;
+	}
+
 }
diff --git a/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseTCPDeviceAdapter.java b/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseTCPDeviceAdapter.java
index 2012dac..354f885 100644
--- a/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseTCPDeviceAdapter.java
+++ b/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaseTCPDeviceAdapter.java
@@ -18,7 +18,7 @@
  * @author kuhn
  *
  */
-public abstract class BaseTCPDeviceAdapter extends BaseDevice implements BaSysNativeDeviceStatusIF {
+public abstract class BaseTCPDeviceAdapter extends BaseDevice implements IBaSysNativeDeviceStatus {
 
 	
 	/**
diff --git a/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaSysNativeDeviceStatusIF.java b/components/basys.components/src/main/java/org/eclipse/basyx/components/device/IBaSysNativeDeviceStatus.java
similarity index 96%
rename from components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaSysNativeDeviceStatusIF.java
rename to components/basys.components/src/main/java/org/eclipse/basyx/components/device/IBaSysNativeDeviceStatus.java
index 7a3f7c6..a5a8f1b 100644
--- a/components/basys.components/src/main/java/org/eclipse/basyx/components/device/BaSysNativeDeviceStatusIF.java
+++ b/components/basys.components/src/main/java/org/eclipse/basyx/components/device/IBaSysNativeDeviceStatus.java
@@ -18,7 +18,7 @@
  * @author kuhn
  *
  */
-public interface BaSysNativeDeviceStatusIF {
+public interface IBaSysNativeDeviceStatus {
 
 	
 	/**
diff --git a/components/basys.components/src/main/java/org/eclipse/basyx/components/devicemanager/DeviceManagerComponent.java b/components/basys.components/src/main/java/org/eclipse/basyx/components/devicemanager/DeviceManagerComponent.java
index a71111a..4695058 100644
--- a/components/basys.components/src/main/java/org/eclipse/basyx/components/devicemanager/DeviceManagerComponent.java
+++ b/components/basys.components/src/main/java/org/eclipse/basyx/components/devicemanager/DeviceManagerComponent.java
@@ -34,18 +34,8 @@
 	 * Store HTTP URL of AAS server
 	 */
 	protected String aasServerURL = null;
+	
 
-
-	/**
-	 * Constructor
-	 */
-	public DeviceManagerComponent() {
-		// Do nothing
-	}
-	
-	
-	
-	
 	/**
 	 * Set AAS server VAB object ID
 	 */
diff --git a/components/basys.components/src/main/java/org/eclipse/basyx/components/devicemanager/TCPDeviceManagerComponent.java b/components/basys.components/src/main/java/org/eclipse/basyx/components/devicemanager/TCPDeviceManagerComponent.java
index 2f089ca..8aa6fd8 100644
--- a/components/basys.components/src/main/java/org/eclipse/basyx/components/devicemanager/TCPDeviceManagerComponent.java
+++ b/components/basys.components/src/main/java/org/eclipse/basyx/components/devicemanager/TCPDeviceManagerComponent.java
@@ -60,7 +60,8 @@
 		tcpServer.addTCPMessageListener(this);
 		
 		// Start TCP server
-		new Thread(tcpServer).start();
+		tcpServerThread = new Thread(tcpServer);
+		tcpServerThread.start();
 	}
 	
 	
diff --git a/components/basys.components/src/test/java/org/eclipse/basyx/regression/processengineconnector/tests/TestDeviceAdministrationShell.java b/components/basys.components/src/test/java/org/eclipse/basyx/regression/processengineconnector/tests/TestDeviceAdministrationShell.java
index f74a25e..74f77bc 100644
--- a/components/basys.components/src/test/java/org/eclipse/basyx/regression/processengineconnector/tests/TestDeviceAdministrationShell.java
+++ b/components/basys.components/src/test/java/org/eclipse/basyx/regression/processengineconnector/tests/TestDeviceAdministrationShell.java
@@ -40,7 +40,7 @@
 	public static AASHTTPServerResource res = new AASHTTPServerResource(new ComponentsRegressionContext());
 
 	@Before
-	public void setupConnection() {
+	public void setupConnection() throws Exception {
 		InMemoryRegistry registry = new InMemoryRegistry();
 		ModelUrn coilcarUrn = new ModelUrn("coilcar");
 		IIdentifier id = new Identifier(IdentifierType.Custom, "coilcar");
@@ -56,11 +56,8 @@
 		manager = new ConnectedAssetAdministrationShellManager(registry, new HTTPConnectorProvider());
 		
 		// create the connected AAS using the manager
-		try {
-			connectedAAS = manager.retrieveAAS(coilcarUrn);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
+		connectedAAS = manager.retrieveAAS(coilcarUrn);
+
 	}
 	
 	@Test
diff --git a/components/basys.components/src/test/java/org/eclipse/basyx/regression/processengineconnector/tests/TestJavaDelegate.java b/components/basys.components/src/test/java/org/eclipse/basyx/regression/processengineconnector/tests/TestJavaDelegate.java
index da0c0e9..dcd1b8a 100644
--- a/components/basys.components/src/test/java/org/eclipse/basyx/regression/processengineconnector/tests/TestJavaDelegate.java
+++ b/components/basys.components/src/test/java/org/eclipse/basyx/regression/processengineconnector/tests/TestJavaDelegate.java
@@ -30,9 +30,11 @@
 	
 	/**
 	 * Test the invocation of service "moveTo" through the java-delegate
+	 * 
+	 * @throws Exception
 	 */
 	@Test
-	public void testMoveToCall() {
+	public void testMoveToCall() throws Exception {
 		// service parameter
 		Object params[] = new Object[]{5};
 		
@@ -41,25 +43,22 @@
 		
 		// Set the service executor to the java-delegate
 		DeviceServiceDelegate.setDeviceServiceExecutor(new DeviceServiceExecutorStub());
-		try {
-			// deliver the service information to the java-delegate
-			bpmnstub.callJavaDelegate();
-			
-			// Asset the java-delegate gets the information from the Engine-stub
-			assertEquals("moveTo", DeviceServiceDelegate.getExecutor().getServiceName());
-			assertEquals("coilcar", DeviceServiceDelegate.getExecutor().getServiceProvider());
-			assertArrayEquals(new Object[]{5}, DeviceServiceDelegate.getExecutor().getParams().toArray());
-			
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
+		// deliver the service information to the java-delegate
+		bpmnstub.callJavaDelegate();
+
+		// Asset the java-delegate gets the information from the Engine-stub
+		assertEquals("moveTo", DeviceServiceDelegate.getExecutor().getServiceName());
+		assertEquals("coilcar", DeviceServiceDelegate.getExecutor().getServiceProvider());
+		assertArrayEquals(new Object[] { 5 }, DeviceServiceDelegate.getExecutor().getParams().toArray());
 	}
 	
 	/**
 	 * Test the invocation of service "liftTo" through the java-delegate
+	 * 
+	 * @throws Exception
 	 */
 	@Test
-	public void testLiftToCall() {
+	public void testLiftToCall() throws Exception {
 		// service parameter
 		Object params[] = new Object[]{123}; 
 		
@@ -68,19 +67,15 @@
 		
 		// Set the service executor to the java-delegate
 		DeviceServiceDelegate.setDeviceServiceExecutor(new DeviceServiceExecutorStub());
-		try {
 			
-			// deliver the service information to the java-delegate
-			bpmnstub.callJavaDelegate();
+		// deliver the service information to the java-delegate
+		bpmnstub.callJavaDelegate();
+
+		// Asset the java-delegate gets the information from the Engine-stub
+		assertEquals("liftTo", DeviceServiceDelegate.getExecutor().getServiceName());
+		assertEquals("coilcar", DeviceServiceDelegate.getExecutor().getServiceProvider());
+		assertArrayEquals(new Object[] { 123 }, DeviceServiceDelegate.getExecutor().getParams().toArray());
 			
-			// Asset the java-delegate gets the information from the Engine-stub
-			assertEquals("liftTo", DeviceServiceDelegate.getExecutor().getServiceName());
-			assertEquals("coilcar", DeviceServiceDelegate.getExecutor().getServiceProvider());
-			assertArrayEquals(new Object[]{123}, DeviceServiceDelegate.getExecutor().getParams().toArray());
-			
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
 	}
 
 }
diff --git a/components/basys.components/src/test/java/org/eclipse/basyx/regression/processengineconnector/tests/TestTransportProcess_ConfigureEngineProgrammatically.java b/components/basys.components/src/test/java/org/eclipse/basyx/regression/processengineconnector/tests/TestTransportProcess_ConfigureEngineProgrammatically.java
index d683502..c06a77e 100644
--- a/components/basys.components/src/test/java/org/eclipse/basyx/regression/processengineconnector/tests/TestTransportProcess_ConfigureEngineProgrammatically.java
+++ b/components/basys.components/src/test/java/org/eclipse/basyx/regression/processengineconnector/tests/TestTransportProcess_ConfigureEngineProgrammatically.java
@@ -73,7 +73,7 @@
 		
 	}
 	@Test
-	public void deploy() {
+	public void deploy() throws FileNotFoundException {
 		/* create a configuration for the process engine with associated database configuration
 	 		For activating timer function, asynchronous executor must be set to true */
 		ProcessEngineConfiguration cfg = new StandaloneProcessEngineConfiguration()
@@ -92,18 +92,12 @@
 		
 		// deploy the BPMN-model defined in the xml file on the process engine
 		RepositoryService repositoryService = processEngine.getRepositoryService();
-		
-		try {
-			// Add the XML-file with the BPMN-Model to the repository and deploy it
-			String relativeConfigPath = "/WebContent/WEB-INF/config/processengine/SimpleTransportProcess.bpmn20.xml";
-			File configFile = new File(System.getProperty("user.dir") + relativeConfigPath);
-			repositoryService.createDeployment()
-					.addInputStream("SimpleTransportProcess.bpmn20.xml", new FileInputStream(configFile))
-					.deploy();
-		} catch (FileNotFoundException e) {
-			e.printStackTrace();
-		}
-				
+
+		// Add the XML-file with the BPMN-Model to the repository and deploy it
+		String relativeConfigPath = "/WebContent/WEB-INF/config/processengine/SimpleTransportProcess.bpmn20.xml";
+		File configFile = new File(System.getProperty("user.dir") + relativeConfigPath);
+		repositoryService.createDeployment().addInputStream("SimpleTransportProcess.bpmn20.xml", new FileInputStream(configFile)).deploy();
+
 		// define the variables in a list which are shared through the execution of the BPMN-process
 		Map<String, Object> variables = new HashMap<String, Object>();
 		variables.put("coilposition", 2);
diff --git a/components/basys.components/src/test/java/org/eclipse/basyx/regression/support/server/BaSyxStandaloneServer.java b/components/basys.components/src/test/java/org/eclipse/basyx/regression/support/server/BaSyxStandaloneServer.java
deleted file mode 100644
index 0e4c37e..0000000
--- a/components/basys.components/src/test/java/org/eclipse/basyx/regression/support/server/BaSyxStandaloneServer.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.basyx.regression.support.server;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-import org.eclipse.basyx.vab.protocol.http.server.AASHTTPServer;
-import org.eclipse.basyx.vab.protocol.http.server.BaSyxContext;
-
-
-
-
-/**
- * Stand alone server implementation
- * 
- * @author kuhn
- *
- */
-public class BaSyxStandaloneServer {
-	
-	
-    /**
-     * Main method if you would like to start the Server manually. Stop the server by typing 'Please stop tomcat' (without quotation marks)
-     * @param args
-     * @throws IOException 
-     */
-    public static void main(String args[]) throws IOException {
-    	
-    	// Start server and allocate resource
-		AASHTTPServer server = new AASHTTPServer(new BaSyxContext("", ""));
-		server.start();
-    	
-    	// Prompt for user input
-    	InputStreamReader in = new InputStreamReader(System.in);
-    	BufferedReader keyboard = new BufferedReader(in);
-
-    	// Wait for end command
-        System.out.println("Enter 'Please stop tomcat' to stop the server.");
-        while (true) {
-        	String command = keyboard.readLine();
-        	if (command.equals("Please stop tomcat")) {
-				server.shutdown();
-        		break;
-        	} else {
-        		System.out.println("Command " + command + " not recognized!");
-        	}
-        }
-    }
-}
-
diff --git a/examples/basys.examples/src/test/java/org/eclipse/basyx/examples/mockup/device/SmartBaSyxTCPDeviceMockup.java b/examples/basys.examples/src/test/java/org/eclipse/basyx/examples/mockup/device/SmartBaSyxTCPDeviceMockup.java
index 27691df..6887235 100644
--- a/examples/basys.examples/src/test/java/org/eclipse/basyx/examples/mockup/device/SmartBaSyxTCPDeviceMockup.java
+++ b/examples/basys.examples/src/test/java/org/eclipse/basyx/examples/mockup/device/SmartBaSyxTCPDeviceMockup.java
@@ -145,7 +145,7 @@
 		
 		// Register control component as local sub model
 		// - This sub model will stay with the device
-		server = new BaSyxTCPServer<>(new VABMapProvider(simpleControlComponent), serverPort);
+		server = new BaSyxTCPServer<>(new VABMapProvider(controlComponent), serverPort);
 		// - Start local BaSyx/TCP server
 		server.start();
 
diff --git a/examples/basys.examples/src/test/java/org/eclipse/basyx/examples/scenarios/device/controllable/RunExampleSimpleControllableTCPDevice.java b/examples/basys.examples/src/test/java/org/eclipse/basyx/examples/scenarios/device/controllable/RunExampleSimpleControllableTCPDevice.java
index f6fc499..8e195b2 100644
--- a/examples/basys.examples/src/test/java/org/eclipse/basyx/examples/scenarios/device/controllable/RunExampleSimpleControllableTCPDevice.java
+++ b/examples/basys.examples/src/test/java/org/eclipse/basyx/examples/scenarios/device/controllable/RunExampleSimpleControllableTCPDevice.java
@@ -90,13 +90,13 @@
 		// Application waits for status change
 		waitfor( () -> ((ReceiveDeviceDashboardStatusApplication) context.getRunnable("Application")).getDeviceStatus().equals("IDLE") );
 		// - Validate device status
-		waitfor( () -> ((ControllableTCPDeviceMockup) context.getRunnable("Device")).exState == ExecutionState.IDLE );
+		waitfor(() -> ((ControllableTCPDeviceMockup) context.getRunnable("Device")).getExState() == ExecutionState.IDLE);
 
 		
 		// Change device operation mode
 		toControlComponent.setModelPropertyValue("status/opMode", "RegularMilling");
 		// - Validate device operation mode
-		waitfor( () -> ((ControllableTCPDeviceMockup) context.getRunnable("Device")).opMode.equals("RegularMilling") );
+		waitfor(() -> ((ControllableTCPDeviceMockup) context.getRunnable("Device")).getOpMode().equals("RegularMilling"));
 
 		// Application checks invocation counter
 		assertTrue( ((ReceiveDeviceDashboardStatusApplication) context.getRunnable("Application")).getDeviceInvocationCounter() == 0 );		
@@ -107,7 +107,7 @@
 		// - Application waits for status change
 		waitfor( () -> ((ReceiveDeviceDashboardStatusApplication) context.getRunnable("Application")).getDeviceStatus().equals("EXECUTE") );
 		// - Validate device status
-		waitfor( () -> ((ControllableTCPDeviceMockup) context.getRunnable("Device")).exState == ExecutionState.EXECUTE );
+		waitfor(() -> ((ControllableTCPDeviceMockup) context.getRunnable("Device")).getExState() == ExecutionState.EXECUTE);
 
 		
 		// Device indicates service end
@@ -115,7 +115,7 @@
 		// - Application waits for status change
 		waitfor( () -> ((ReceiveDeviceDashboardStatusApplication) context.getRunnable("Application")).getDeviceStatus().equals("COMPLETE") );
 		// - Validate device status
-		waitfor( () -> ((ControllableTCPDeviceMockup) context.getRunnable("Device")).exState == ExecutionState.COMPLETE );
+		waitfor(() -> ((ControllableTCPDeviceMockup) context.getRunnable("Device")).getExState() == ExecutionState.COMPLETE);
 
 
 		// Reset device to enable subsequent service calls
@@ -123,7 +123,7 @@
 		// - Application waits for status change
 		waitfor( () -> ((ReceiveDeviceDashboardStatusApplication) context.getRunnable("Application")).getDeviceStatus().equals("RESETTING") );
 		// - Validate device status
-		waitfor( () -> ((ControllableTCPDeviceMockup) context.getRunnable("Device")).exState == ExecutionState.RESETTING );
+		waitfor(() -> ((ControllableTCPDeviceMockup) context.getRunnable("Device")).getExState() == ExecutionState.RESETTING);
 
 		
 		// Device finishes reset and moves to idle state
@@ -131,7 +131,7 @@
 		// - Application waits for status change
 		waitfor( () -> ((ReceiveDeviceDashboardStatusApplication) context.getRunnable("Application")).getDeviceStatus().equals("IDLE") );
 		// - Validate device status
-		waitfor( () -> ((ControllableTCPDeviceMockup) context.getRunnable("Device")).exState == ExecutionState.IDLE );
+		waitfor(() -> ((ControllableTCPDeviceMockup) context.getRunnable("Device")).getExState() == ExecutionState.IDLE);
 
 		
 		// Application checks invocation counter