diff --git a/.settings/org.eclipse.buildship.core.prefs b/.settings/org.eclipse.buildship.core.prefs
index e8c143f59f7f625da9d9e7f2858e46485cae0b72..52a12ada97239aa7659183911f1661461dae3cf3 100644
--- a/.settings/org.eclipse.buildship.core.prefs
+++ b/.settings/org.eclipse.buildship.core.prefs
@@ -1,2 +1,2 @@
-connection.project.dir=de.ugoe.cs.rwm.mocci.connector
+connection.project.dir=de.ugoe.cs.rwm.mocci.connector.dummy
 eclipse.preferences.version=1
diff --git a/de.ugoe.cs.rwm.mocci.connector.dummy/bin/.gitignore b/de.ugoe.cs.rwm.mocci.connector.dummy/bin/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..fd04598cccd1eb791debf5b0edfff26368dbb294
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.connector.dummy/bin/.gitignore
@@ -0,0 +1 @@
+/de/
diff --git a/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/ConnectorFactory.java b/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/ConnectorFactory.java
index 1676048ef49ea66c0b368c9570178776ab381169..c9f4312a2cf97d761b4a29c4e6d9b29530ad7c54 100644
--- a/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/ConnectorFactory.java
+++ b/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/ConnectorFactory.java
@@ -10,10 +10,12 @@
  * - Philippe Merle <philippe.merle@inria.fr>
  * - Faiez Zalila <faiez.zalila@inria.fr>
  *
- * Generated at Wed Dec 19 10:30:40 CET 2018 from platform:/resource/monitoring/model/monitoring.occie by org.eclipse.cmf.occi.core.gen.connector
+ * Generated at Thu Jan 03 13:17:39 CET 2019 from platform:/resource/monitoring/model/monitoring.occie by org.eclipse.cmf.occi.core.gen.connector
  */
 package de.ugoe.cs.rwm.mocci.connector;
 
+import monitoring.Dataprocessor;
+
 /**
  * Connector EFactory for the OCCI extension:
  * - name: monitoring
@@ -50,8 +52,8 @@ public class ConnectorFactory extends monitoring.impl.MonitoringFactoryImpl
 	 * - title: Processor Resource
 	 */
 	@Override
-	public monitoring.Processor createProcessor() {
-		return new ProcessorConnector();
+	public monitoring.Dataprocessor createDataprocessor() {
+		return new DataprocessorConnector();
 	}
 
 	/**
@@ -61,19 +63,30 @@ public class ConnectorFactory extends monitoring.impl.MonitoringFactoryImpl
 	 * - title: Publisher Resource
 	 */
 	@Override
-	public monitoring.Publisher createPublisher() {
-		return new PublisherConnector();
+	public monitoring.Resultprovider createResultprovider() {
+		return new ResultproviderConnector();
 	}
 
 	/**
 	 * EFactory method for OCCI kind:
 	 * - scheme: http://schemas.ugoe.cs.rwm/monitoring#
-	 * - term: monitoringproperties
-	 * - title: MonitoringProperty Mixin
+	 * - term: martpublisher
+	 * - title: MartPublisher Mixin
 	 */
 	@Override
-	public monitoring.Monitoringproperties createMonitoringproperties() {
-		return new MonitoringpropertiesConnector();
+	public monitoring.Occiresultprovider createOcciresultprovider() {
+		return new OcciresultproviderConnector();
 	}
 
+	
+	/**
+	 * EFactory method for OCCI kind:
+	 * - scheme: http://schemas.ugoe.cs.rwm/monitoring#
+	 * - term: monitoringproperty
+	 * - title: MonitoringProperty Component
+	 */
+	@Override
+	public monitoring.Monitorableproperty createMonitorableproperty() {
+		return new MonitorablepropertyConnector();
+	}
 }
diff --git a/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/ProcessorConnector.java b/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/DataprocessorConnector.java
similarity index 89%
rename from de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/ProcessorConnector.java
rename to de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/DataprocessorConnector.java
index a0a790e34d5220a9b2cb91585be313468c539cda..60cb80c7a9451eae3ab18a084db7880eb95dac2d 100644
--- a/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/ProcessorConnector.java
+++ b/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/DataprocessorConnector.java
@@ -14,6 +14,7 @@
  */
 package de.ugoe.cs.rwm.mocci.connector;
 
+import org.eclipse.cmf.occi.core.AttributeState;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -25,18 +26,18 @@ import org.slf4j.LoggerFactory;
  * - term: processor
  * - title: Processor Resource
  */
-public class ProcessorConnector extends monitoring.impl.ProcessorImpl
+public class DataprocessorConnector extends monitoring.impl.DataprocessorImpl
 {
 	/**
 	 * Initialize the logger.
 	 */
-	private static Logger LOGGER = LoggerFactory.getLogger(ProcessorConnector.class);
+	private static Logger LOGGER = LoggerFactory.getLogger(DataprocessorConnector.class);
 
 	// Start of user code Processorconnector_constructor
 	/**
 	 * Constructs a processor connector.
 	 */
-	ProcessorConnector()
+	DataprocessorConnector()
 	{
 		LOGGER.debug("Constructor called on " + this);
 		// TODO: Implement this constructor.
@@ -169,8 +170,12 @@ public class ProcessorConnector extends monitoring.impl.ProcessorImpl
 	public void start()
 	{
 		LOGGER.debug("Action start() called on " + this);
+		LOGGER.debug("Action start() called on " + this);
 
-		// TODO: Implement how to start this processor.
+		System.out.println(this.attributes);
+		LOGGER.debug("Action start() called on " + this);
+		//this.attributes.remove(sensorlocation);
+		System.out.println(this.attributes);
 	}
 	// End of user code
 		
diff --git a/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitorablepropertyConnector.java b/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitorablepropertyConnector.java
new file mode 100644
index 0000000000000000000000000000000000000000..ac8d9a601124de874d57ee214923ebb0d7b44154
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitorablepropertyConnector.java
@@ -0,0 +1,104 @@
+/**
+ * Copyright (c) 2016-2017 Inria
+ *  
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ * - Philippe Merle <philippe.merle@inria.fr>
+ * - Faiez Zalila <faiez.zalila@inria.fr>
+ *
+ * Generated at Thu Jan 03 13:17:39 CET 2019 from platform:/resource/monitoring/model/monitoring.occie by org.eclipse.cmf.occi.core.gen.connector
+ */
+package de.ugoe.cs.rwm.mocci.connector;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+
+/**
+ * Connector implementation for the OCCI kind:
+ * - scheme: http://schemas.ugoe.cs.rwm/monitoring#
+ * - term: monitoringproperty
+ * - title: MonitoringProperty Component
+ */
+public class MonitorablepropertyConnector extends monitoring.impl.MonitorablepropertyImpl
+{
+	/**
+	 * Initialize the logger.
+	 */
+	private static Logger LOGGER = LoggerFactory.getLogger(MonitorablepropertyConnector.class);
+
+	// Start of user code Monitoringpropertyconnector_constructor
+	/**
+	 * Constructs a monitoringproperty connector.
+	 */
+	MonitorablepropertyConnector()
+	{
+		LOGGER.debug("Constructor called on " + this);
+		// TODO: Implement this constructor.
+	}
+	// End of user code
+	//
+	// OCCI CRUD callback operations.
+	//
+	
+	// Start of user code MonitoringpropertyocciCreate
+	/**
+	 * Called when this Monitoringproperty instance is completely created.
+	 */
+	@Override
+	public void occiCreate()
+	{
+		LOGGER.debug("occiCreate() called on " + this);
+		// TODO: Implement this callback or remove this method.
+	}
+	// End of user code
+
+	// Start of user code Monitoringproperty_occiRetrieve_method
+	/**
+	 * Called when this Monitoringproperty instance must be retrieved.
+	 */
+	@Override
+	public void occiRetrieve()
+	{
+		LOGGER.debug("occiRetrieve() called on " + this);
+		// TODO: Implement this callback or remove this method.
+	}
+	// End of user code
+
+	// Start of user code Monitoringproperty_occiUpdate_method
+	/**
+	 * Called when this Monitoringproperty instance is completely updated.
+	 */
+	@Override
+	public void occiUpdate()
+	{
+		LOGGER.debug("occiUpdate() called on " + this);
+		// TODO: Implement this callback or remove this method.
+	}
+	// End of user code
+
+	// Start of user code MonitoringpropertyocciDelete_method
+	/**
+	 * Called when this Monitoringproperty instance will be deleted.
+	 */
+	@Override
+	public void occiDelete()
+	{
+		LOGGER.debug("occiDelete() called on " + this);
+		// TODO: Implement this callback or remove this method.
+	}
+	// End of user code
+
+	//
+	// Monitoringproperty actions.
+	//
+
+		
+
+
+}	
diff --git a/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitoringpropertiesConnector.java b/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/OcciresultproviderConnector.java
similarity index 65%
rename from de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitoringpropertiesConnector.java
rename to de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/OcciresultproviderConnector.java
index 3286ff50d7e38d66ded1d857d1b22d829ab024f2..6b2ec517c4dcf19d6198793da5c92c966274c6b1 100644
--- a/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitoringpropertiesConnector.java
+++ b/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/OcciresultproviderConnector.java
@@ -10,7 +10,7 @@
  * - Philippe Merle <philippe.merle@inria.fr>
  * - Faiez Zalila <faiez.zalila@inria.fr>
  *
- * Generated at Wed Dec 19 10:30:40 CET 2018 from platform:/resource/monitoring/model/monitoring.occie by org.eclipse.cmf.occi.core.gen.connector
+ * Generated at Thu Jan 03 13:17:39 CET 2019 from platform:/resource/monitoring/model/monitoring.occie by org.eclipse.cmf.occi.core.gen.connector
  */
 package de.ugoe.cs.rwm.mocci.connector;
 
@@ -22,21 +22,21 @@ import org.slf4j.LoggerFactory;
 /**
  * Connector implementation for the OCCI kind:
  * - scheme: http://schemas.ugoe.cs.rwm/monitoring#
- * - term: monitoringproperties
- * - title: MonitoringProperty Mixin
+ * - term: martpublisher
+ * - title: MartPublisher Mixin
  */
-public class MonitoringpropertiesConnector extends monitoring.impl.MonitoringpropertiesImpl
+public class OcciresultproviderConnector extends monitoring.impl.OcciresultproviderImpl
 {
 	/**
 	 * Initialize the logger.
 	 */
-	private static Logger LOGGER = LoggerFactory.getLogger(MonitoringpropertiesConnector.class);
+	private static Logger LOGGER = LoggerFactory.getLogger(OcciresultproviderConnector.class);
 
-	// Start of user code Monitoringpropertiesconnector_constructor
+	// Start of user code Martpublisherconnector_constructor
 	/**
-	 * Constructs a monitoringproperties connector.
+	 * Constructs a martpublisher connector.
 	 */
-	MonitoringpropertiesConnector()
+	OcciresultproviderConnector()
 	{
 		LOGGER.debug("Constructor called on " + this);
 		// TODO: Implement this constructor.
diff --git a/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/PublisherConnector.java b/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/ResultproviderConnector.java
similarity index 60%
rename from de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/PublisherConnector.java
rename to de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/ResultproviderConnector.java
index dbb00b3f4219f6deccb36900e4ac58ccc4055c82..0edcbf5e8fbe91c5e797dd6f02481fd7ce055bc7 100644
--- a/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/PublisherConnector.java
+++ b/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/ResultproviderConnector.java
@@ -14,9 +14,22 @@
  */
 package de.ugoe.cs.rwm.mocci.connector;
 
+import java.util.LinkedList;
+import java.util.List;
+import java.util.NoSuchElementException;
+
+import org.eclipse.cmf.occi.core.AttributeState;
+import org.eclipse.cmf.occi.core.Link;
+import org.eclipse.cmf.occi.core.MixinBase;
+import org.eclipse.cmf.occi.core.Resource;
+import org.eclipse.cmf.occi.core.impl.OCCIFactoryImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import monitoring.Monitorableproperty;
+import monitoring.Occiresultprovider;
+import monitoring.Sensor;
+
 
 
 /**
@@ -25,27 +38,34 @@ import org.slf4j.LoggerFactory;
  * - term: publisher
  * - title: Publisher Resource
  */
-public class PublisherConnector extends monitoring.impl.PublisherImpl
+public class ResultproviderConnector extends monitoring.impl.ResultproviderImpl
 {
 	/**
 	 * Initialize the logger.
 	 */
-	private static Logger LOGGER = LoggerFactory.getLogger(PublisherConnector.class);
+	private static Logger LOGGER = LoggerFactory.getLogger(ResultproviderConnector.class);
+	private OCCIFactoryImpl factory = new OCCIFactoryImpl();
+	private Sensor sensor;
+	private Monitorableproperty monProp;
+	private Resource monObject;
+	//private Occiresultprovider occiResProv;
+	
 
 	// Start of user code Publisherconnector_constructor
 	/**
 	 * Constructs a publisher connector.
 	 */
-	PublisherConnector()
+	ResultproviderConnector()
 	{
 		LOGGER.debug("Constructor called on " + this);
+		//occiResProv = getMartMixin();
 		// TODO: Implement this constructor.
 	}
 	// End of user code
 	//
 	// OCCI CRUD callback operations.
 	//
-	
+
 	// Start of user code PublisherocciCreate
 	/**
 	 * Called when this Publisher instance is completely created.
@@ -109,7 +129,7 @@ public class PublisherConnector extends monitoring.impl.PublisherImpl
 	public void configure()
 	{
 		LOGGER.debug("Action configure() called on " + this);
-
+		setRuntimeInformation();
 		// TODO: Implement how to configure this publisher.
 	}
 	// End of user code
@@ -124,9 +144,12 @@ public class PublisherConnector extends monitoring.impl.PublisherImpl
 	public void deploy()
 	{
 		LOGGER.debug("Action deploy() called on " + this);
+			setRuntimeInformation();
 
+			
 		// TODO: Implement how to deploy this publisher.
 	}
+
 	// End of user code
 	// Start of user code Publisher_Kind_undeploy_action
 	/**
@@ -139,7 +162,7 @@ public class PublisherConnector extends monitoring.impl.PublisherImpl
 	public void undeploy()
 	{
 		LOGGER.debug("Action undeploy() called on " + this);
-
+		setRuntimeInformation();
 		// TODO: Implement how to undeploy this publisher.
 	}
 	// End of user code
@@ -154,7 +177,7 @@ public class PublisherConnector extends monitoring.impl.PublisherImpl
 	public void stop()
 	{
 		LOGGER.debug("Action stop() called on " + this);
-
+		setRuntimeInformation();
 		// TODO: Implement how to stop this publisher.
 	}
 	// End of user code
@@ -169,11 +192,64 @@ public class PublisherConnector extends monitoring.impl.PublisherImpl
 	public void start()
 	{
 		LOGGER.debug("Action start() called on " + this);
-
-		// TODO: Implement how to start this publisher.
+		setRuntimeInformation();
 	}
-	// End of user code
+	
+	
+	private void setRuntimeInformation() {
+		sensor = getSensor();
+		AttributeState sensorAttr = factory.createAttributeState();
+		sensorAttr.setName("sensor");
+		sensorAttr.setValue(sensor.getLocation());
+		System.out.println("Sensor: " + sensor);
+		this.attributes.add(sensorAttr);
 		
-
-
+		monProp = getMonProp(sensor);
+		AttributeState monPropAttr = factory.createAttributeState();
+		monPropAttr.setName("monitorable.property");
+		monPropAttr.setValue(monProp.getLocation());
+		System.out.println("MonProp: " + monProp);
+		this.attributes.add(monPropAttr);
+		
+		AttributeState monPropNameAttr = factory.createAttributeState();
+		monPropNameAttr.setName("monitorable.property.property");
+		monPropNameAttr.setValue(monProp.getMonitoringProperty());
+		this.attributes.add(monPropNameAttr);
+		
+		monObject = monProp.getTarget();
+		AttributeState monObjectAttr = factory.createAttributeState();
+		monObjectAttr.setName("monitorable.property.target");
+		monObjectAttr.setValue(monObject.getLocation());
+		
+	}
+	
+	// End of user code
+	
+	private Occiresultprovider getMartMixin() {
+		for(MixinBase mixinBase: this.getParts()) {
+			if(mixinBase instanceof Occiresultprovider) {
+				LOGGER.info("Occiresultprovider found: " + this.title);
+				return ((Occiresultprovider)mixinBase);
+			}
+		}
+		return null;
+	}
+	
+	private Sensor getSensor() {
+		for(Link link: this.getRlinks()) {
+			if(link.getSource() instanceof Sensor) {
+				return ((Sensor) link.getSource());
+			}
+		}
+		throw new NoSuchElementException("No containing sensor found!");
+	}
+	
+	private Monitorableproperty getMonProp(Sensor sensor) {
+		for(Link link: sensor.getLinks()) {
+			if(link instanceof Monitorableproperty) {
+				return ((Monitorableproperty) link);
+			}
+		}
+		throw new NoSuchElementException("No monitorableproperty found in sensor!");
+	}
 }	
diff --git a/de.ugoe.cs.rwm.mocci.connector/.settings/org.eclipse.buildship.core.prefs b/de.ugoe.cs.rwm.mocci.connector/.settings/org.eclipse.buildship.core.prefs
index e8895216fd3c0c3af4c4522334775f41b7deb42e..dacbfbbb556df1dcb4ebf4c7b408cfe7886777ed 100644
--- a/de.ugoe.cs.rwm.mocci.connector/.settings/org.eclipse.buildship.core.prefs
+++ b/de.ugoe.cs.rwm.mocci.connector/.settings/org.eclipse.buildship.core.prefs
@@ -1,2 +1,2 @@
-connection.project.dir=
+connection.project.dir=../de.ugoe.cs.rwm.mocci.connector.dummy
 eclipse.preferences.version=1
diff --git a/de.ugoe.cs.rwm.mocci.connector/bin/.gitignore b/de.ugoe.cs.rwm.mocci.connector/bin/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..fd04598cccd1eb791debf5b0edfff26368dbb294
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.connector/bin/.gitignore
@@ -0,0 +1 @@
+/de/
diff --git a/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/ConnectorFactory.java b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/ConnectorFactory.java
index b597b3be34c3023f0b6dc12acb0b8de59c232fcd..812be75c8b67141a89b3d925e8ec2054538b7882 100644
--- a/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/ConnectorFactory.java
+++ b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/ConnectorFactory.java
@@ -10,7 +10,7 @@
  * - Philippe Merle <philippe.merle@inria.fr>
  * - Faiez Zalila <faiez.zalila@inria.fr>
  *
- * Generated at Wed Dec 19 11:10:50 CET 2018 from platform:/resource/monitoring/model/monitoring.occie by org.eclipse.cmf.occi.core.gen.connector
+ * Generated at Wed Jan 02 16:14:48 CET 2019 from platform:/resource/monitoring/model/monitoring.occie by org.eclipse.cmf.occi.core.gen.connector
  */
 package de.ugoe.cs.rwm.mocci.connector;
 
@@ -50,8 +50,8 @@ public class ConnectorFactory extends monitoring.impl.MonitoringFactoryImpl
 	 * - title: Processor Resource
 	 */
 	@Override
-	public monitoring.Processor createProcessor() {
-		return new ProcessorConnector();
+	public monitoring.Dataprocessor createDataprocessor() {
+		return new DataprocessorConnector();
 	}
 
 	/**
@@ -61,19 +61,30 @@ public class ConnectorFactory extends monitoring.impl.MonitoringFactoryImpl
 	 * - title: Publisher Resource
 	 */
 	@Override
-	public monitoring.Publisher createPublisher() {
-		return new PublisherConnector();
+	public monitoring.Resultprovider createResultprovider() {
+		return new ResultproviderConnector();
 	}
 
 	/**
 	 * EFactory method for OCCI kind:
 	 * - scheme: http://schemas.ugoe.cs.rwm/monitoring#
-	 * - term: monitoringproperties
-	 * - title: MonitoringProperty Mixin
+	 * - term: monitoringproperty
+	 * - title: MonitoringProperty Component
 	 */
 	@Override
-	public monitoring.Monitoringproperties createMonitoringproperties() {
-		return new MonitoringpropertiesConnector();
+	public monitoring.Monitorableproperty createMonitorableproperty() {
+		return new MonitorablepropertyConnector();
+	}
+
+	/**
+	 * EFactory method for OCCI kind:
+	 * - scheme: http://schemas.ugoe.cs.rwm/monitoring#
+	 * - term: martpublisher
+	 * - title: MartPublisher Mixin
+	 */
+	@Override
+	public monitoring.Occiresultprovider createOcciresultprovider() {
+		return new OcciresultproviderConnector();
 	}
 
 }
diff --git a/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/ProcessorConnector.java b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/DataprocessorConnector.java
similarity index 95%
rename from de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/ProcessorConnector.java
rename to de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/DataprocessorConnector.java
index 4074e4349981f84b8be45c6e696dd9f88c1e703c..3bc593b78de510c5e723e5c38c64577e1fcc5d57 100644
--- a/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/ProcessorConnector.java
+++ b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/DataprocessorConnector.java
@@ -25,18 +25,18 @@ import org.slf4j.LoggerFactory;
  * - term: processor
  * - title: Processor Resource
  */
-public class ProcessorConnector extends monitoring.impl.ProcessorImpl
+public class DataprocessorConnector extends monitoring.impl.DataprocessorImpl
 {
 	/**
 	 * Initialize the logger.
 	 */
-	private static Logger LOGGER = LoggerFactory.getLogger(ProcessorConnector.class);
+	private static Logger LOGGER = LoggerFactory.getLogger(DataprocessorConnector.class);
 	private ComponentManager compMan;
 	// Start of user code Processorconnector_constructor
 	/**
 	 * Constructs a processor connector.
 	 */
-	ProcessorConnector()
+	DataprocessorConnector()
 	{
 		LOGGER.debug("Constructor called on " + this);
 		this.compMan = new ComponentManager(this);
diff --git a/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitorablepropertyConnector.java b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitorablepropertyConnector.java
new file mode 100644
index 0000000000000000000000000000000000000000..bb67a61a95584536e0dff979cf62b827d3878faf
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitorablepropertyConnector.java
@@ -0,0 +1,104 @@
+/**
+ * Copyright (c) 2016-2017 Inria
+ *  
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ * - Philippe Merle <philippe.merle@inria.fr>
+ * - Faiez Zalila <faiez.zalila@inria.fr>
+ *
+ * Generated at Wed Jan 02 16:14:48 CET 2019 from platform:/resource/monitoring/model/monitoring.occie by org.eclipse.cmf.occi.core.gen.connector
+ */
+package de.ugoe.cs.rwm.mocci.connector;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+
+/**
+ * Connector implementation for the OCCI kind:
+ * - scheme: http://schemas.ugoe.cs.rwm/monitoring#
+ * - term: monitoringproperty
+ * - title: MonitoringProperty Component
+ */
+public class MonitorablepropertyConnector extends monitoring.impl.MonitorablepropertyImpl
+{
+	/**
+	 * Initialize the logger.
+	 */
+	private static Logger LOGGER = LoggerFactory.getLogger(MonitorablepropertyConnector.class);
+
+	// Start of user code Monitoringpropertyconnector_constructor
+	/**
+	 * Constructs a monitoringproperty connector.
+	 */
+	MonitorablepropertyConnector()
+	{
+		LOGGER.debug("Constructor called on " + this);
+		// TODO: Implement this constructor.
+	}
+	// End of user code
+	//
+	// OCCI CRUD callback operations.
+	//
+	
+	// Start of user code MonitoringpropertyocciCreate
+	/**
+	 * Called when this Monitoringproperty instance is completely created.
+	 */
+	@Override
+	public void occiCreate()
+	{
+		LOGGER.debug("occiCreate() called on " + this);
+		// TODO: Implement this callback or remove this method.
+	}
+	// End of user code
+
+	// Start of user code Monitoringproperty_occiRetrieve_method
+	/**
+	 * Called when this Monitoringproperty instance must be retrieved.
+	 */
+	@Override
+	public void occiRetrieve()
+	{
+		LOGGER.debug("occiRetrieve() called on " + this);
+		// TODO: Implement this callback or remove this method.
+	}
+	// End of user code
+
+	// Start of user code Monitoringproperty_occiUpdate_method
+	/**
+	 * Called when this Monitoringproperty instance is completely updated.
+	 */
+	@Override
+	public void occiUpdate()
+	{
+		LOGGER.debug("occiUpdate() called on " + this);
+		// TODO: Implement this callback or remove this method.
+	}
+	// End of user code
+
+	// Start of user code MonitoringpropertyocciDelete_method
+	/**
+	 * Called when this Monitoringproperty instance will be deleted.
+	 */
+	@Override
+	public void occiDelete()
+	{
+		LOGGER.debug("occiDelete() called on " + this);
+		// TODO: Implement this callback or remove this method.
+	}
+	// End of user code
+
+	//
+	// Monitoringproperty actions.
+	//
+
+		
+
+
+}	
diff --git a/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitoringpropertiesConnector.java b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/OcciresultproviderConnector.java
similarity index 65%
rename from de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitoringpropertiesConnector.java
rename to de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/OcciresultproviderConnector.java
index 19effac46d8e25b96d98b7bd5ceed86e9a06da2e..7bcf4241f23ce5796f15b1214cb4dfb9b75ac196 100644
--- a/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitoringpropertiesConnector.java
+++ b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/OcciresultproviderConnector.java
@@ -10,7 +10,7 @@
  * - Philippe Merle <philippe.merle@inria.fr>
  * - Faiez Zalila <faiez.zalila@inria.fr>
  *
- * Generated at Wed Dec 19 11:10:50 CET 2018 from platform:/resource/monitoring/model/monitoring.occie by org.eclipse.cmf.occi.core.gen.connector
+ * Generated at Wed Jan 02 16:14:48 CET 2019 from platform:/resource/monitoring/model/monitoring.occie by org.eclipse.cmf.occi.core.gen.connector
  */
 package de.ugoe.cs.rwm.mocci.connector;
 
@@ -22,21 +22,21 @@ import org.slf4j.LoggerFactory;
 /**
  * Connector implementation for the OCCI kind:
  * - scheme: http://schemas.ugoe.cs.rwm/monitoring#
- * - term: monitoringproperties
- * - title: MonitoringProperty Mixin
+ * - term: martpublisher
+ * - title: MartPublisher Mixin
  */
-public class MonitoringpropertiesConnector extends monitoring.impl.MonitoringpropertiesImpl
+public class OcciresultproviderConnector extends monitoring.impl.OcciresultproviderImpl
 {
 	/**
 	 * Initialize the logger.
 	 */
-	private static Logger LOGGER = LoggerFactory.getLogger(MonitoringpropertiesConnector.class);
+	private static Logger LOGGER = LoggerFactory.getLogger(OcciresultproviderConnector.class);
 
-	// Start of user code Monitoringpropertiesconnector_constructor
+	// Start of user code Martpublisherconnector_constructor
 	/**
-	 * Constructs a monitoringproperties connector.
+	 * Constructs a martpublisher connector.
 	 */
-	MonitoringpropertiesConnector()
+	OcciresultproviderConnector()
 	{
 		LOGGER.debug("Constructor called on " + this);
 		// TODO: Implement this constructor.
diff --git a/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/PublisherConnector.java b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/ResultproviderConnector.java
similarity index 51%
rename from de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/PublisherConnector.java
rename to de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/ResultproviderConnector.java
index 3513962efbba6efdcf9f6d5aa1fbec2b03fa42a3..a2bb2266aa8b0d9f51a4f2b697b3b35e81cae125 100644
--- a/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/PublisherConnector.java
+++ b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/ResultproviderConnector.java
@@ -14,9 +14,25 @@
  */
 package de.ugoe.cs.rwm.mocci.connector;
 
+import java.util.LinkedList;
+import java.util.List;
+import java.util.NoSuchElementException;
+
+import org.eclipse.cmf.occi.core.AttributeState;
+import org.eclipse.cmf.occi.core.Configuration;
+import org.eclipse.cmf.occi.core.Link;
+import org.eclipse.cmf.occi.core.MixinBase;
+import org.eclipse.cmf.occi.core.OCCIFactory;
+import org.eclipse.cmf.occi.core.Resource;
+import org.eclipse.cmf.occi.core.impl.OCCIFactoryImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import monitoring.Monitorableproperty;
+import monitoring.Occiresultprovider;
+import monitoring.Sensor;
+import monitoring.impl.MonitoringFactoryImpl;
+
 
 
 /**
@@ -25,24 +41,31 @@ import org.slf4j.LoggerFactory;
  * - term: publisher
  * - title: Publisher Resource
  */
-public class PublisherConnector extends monitoring.impl.PublisherImpl
+public class ResultproviderConnector extends monitoring.impl.ResultproviderImpl
 {
 	/**
 	 * Initialize the logger.
 	 */
-	private static Logger LOGGER = LoggerFactory.getLogger(PublisherConnector.class);
-private ComponentManager compMan;
-
+	private OCCIFactoryImpl factory = new OCCIFactoryImpl();
+	private static Logger LOGGER = LoggerFactory.getLogger(ResultproviderConnector.class);
+	private ComponentManager compMan;
+	private Sensor sensor;
+	private Monitorableproperty monProp;
+	private Resource monObject;
+	private List<AttributeState> workaround = new LinkedList<AttributeState>();
+	
 	// Start of user code Publisherconnector_constructor
 	/**
 	 * Constructs a publisher connector.
 	 */
-	PublisherConnector()
+	ResultproviderConnector()
 	{
 		LOGGER.debug("Constructor called on " + this);
 		this.compMan = new ComponentManager(this);
-		// TODO: Implement this constructor.
+
 	}
+
+
 	// End of user code
 	//
 	// OCCI CRUD callback operations.
@@ -140,10 +163,15 @@ private ComponentManager compMan;
 	@Override
 	public void start()
 	{
+		setRuntimeInformation();
+		System.out.println(this.attributes);
 		LOGGER.debug("Action start() called on " + this);
 		compMan.start();
-		// TODO: Implement how to start this publisher.
+		removeRuntimeInformation();
+		System.out.println(this.attributes);
 	}
+	
+	
 	// End of user code
 	// Start of user code Publisher_Kind_configure_action
 	/**
@@ -176,6 +204,100 @@ private ComponentManager compMan;
 	}
 	// End of user code
 		
+	private MixinBase getMartMixin() {
+		for(MixinBase mixinBase: this.getParts()) {
+			if(mixinBase instanceof Occiresultprovider) { 
+				LOGGER.info("MartPublisher Mixin found for Publisher:" + this.title);
+				return mixinBase;
+			}
+		}
+		return null;
+	}
+
+	private List<Monitorableproperty> getMonitoringProperties(Sensor sens) {
+		LinkedList<Monitorableproperty> monProps = new LinkedList<Monitorableproperty>();
+		for(Link link: sens.getLinks()) {
+			if(link instanceof Monitorableproperty) {
+				monProps.add((Monitorableproperty) link);
+			}
+		}
+		return monProps;
+	}
+	
+	private void setRuntimeInformation() {
+		sensor = getSensor();
+		AttributeState sensorAttr = factory.createAttributeState();
+		sensorAttr.setName("sensor");
+		sensorAttr.setValue(sensor.getLocation());
+		System.out.println("Sensor: " + sensor);
+		this.attributes.add(sensorAttr);
+		workaround.add(sensorAttr);
+		
+		monProp = getMonProp(sensor);
+		AttributeState monPropAttr = factory.createAttributeState();
+		monPropAttr.setName("monitorable.property");
+		monPropAttr.setValue(monProp.getLocation());
+		System.out.println("MonProp: " + monProp);
+		this.attributes.add(monPropAttr);
+		workaround.add(monPropAttr);
+		
+		AttributeState monPropNameAttr = factory.createAttributeState();
+		monPropNameAttr.setName("monitorable.property.property");
+		monPropNameAttr.setValue(monProp.getMonitoringProperty());
+		this.attributes.add(monPropNameAttr);
+		workaround.add(monPropNameAttr);
+		
+		monObject = monProp.getTarget();
+		AttributeState monObjectAttr = factory.createAttributeState();
+		monObjectAttr.setName("monitorable.property.target");
+		monObjectAttr.setValue(monObject.getLocation());
+		this.attributes.add(monObjectAttr);
+		workaround.add(monObjectAttr);
+	}
+	
+	private Sensor getSensor() {
+		for(Link link: this.getRlinks()) {
+			if(link.getSource() instanceof Sensor) {
+				return ((Sensor) link.getSource());
+			}
+		}
+		throw new NoSuchElementException("No containing sensor found!");
+	}
+	
+	private Monitorableproperty getMonProp(Sensor sensor) {
+		for(Link link: sensor.getLinks()) {
+			if(link instanceof Monitorableproperty) {
+				return ((Monitorableproperty) link);
+			}
+		}
+		throw new NoSuchElementException("No monitorableproperty found in sensor!");
+	}
+	
+	private void removeRuntimeInformation() {
+		for(AttributeState work: workaround) {
+			this.attributes.remove(work);
+		}
+		
+	}
 
 
+	private String getContainingSensorLocation() {
+		for(Link link: this.getRlinks()) {
+			if(link.getSource() instanceof Sensor) {
+				return link.getSource().getLocation();
+			}
+		}
+		return "No containing sensor found";
+	}
+	
+	
+	private Sensor getContainingSensor() {
+		for(Link link: this.getRlinks()) {
+			if(link.getSource() instanceof Sensor) {
+				return (Sensor) link.getSource();
+			}
+		}
+		LOGGER.info("No containing Sensor found");
+		throw new NoSuchElementException();
+	}
 }	
diff --git a/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/SensorConnector.java b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/SensorConnector.java
index 82d814318bb2a29f1383555cca065b83a3d6c26c..c9b77025ff5b00a24b2200fd16f0b2c83e599f24 100644
--- a/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/SensorConnector.java
+++ b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/SensorConnector.java
@@ -28,6 +28,7 @@ import org.slf4j.LoggerFactory;
 
 
 
+
 /**
  * Connector implementation for the OCCI kind:
  * - scheme: http://schemas.ugoe.cs.rwm/monitoring#
@@ -131,7 +132,7 @@ public class SensorConnector extends monitoring.impl.SensorImpl
 			}
 			
 			status = cmtool.configure(this);
-			if (status == 0 && assertCompsStatusEquals(getConnectedComponents(), Status.INACTIVE))
+			if (status == 0)
 				setOcciAppState(Status.INACTIVE);
 			else
 				setOcciAppState(Status.ERROR);
@@ -164,7 +165,7 @@ public class SensorConnector extends monitoring.impl.SensorImpl
 				component.start();
 			}
 			status = cmtool.start(this);
-			if (status == 0 && assertCompsStatusEquals(getConnectedComponents(), Status.ACTIVE))
+			if (status == 0)
 				setOcciAppState(Status.ACTIVE);
 			else
 				setOcciAppState(Status.ERROR);	
@@ -191,7 +192,7 @@ public class SensorConnector extends monitoring.impl.SensorImpl
 			}
 			status = cmtool.start(this);
 			
-			if (status == 0 && assertCompsStatusEquals(getConnectedComponents(), Status.ACTIVE))
+			if (status == 0)
 				setOcciAppState(Status.ACTIVE);
 			else
 				setOcciAppState(Status.ERROR);
@@ -224,7 +225,7 @@ public class SensorConnector extends monitoring.impl.SensorImpl
 				component.stop();
 			}
 			status = cmtool.stop(this);
-			if (status == 0 && assertCompsStatusEquals(getConnectedComponents(), Status.INACTIVE))
+			if (status == 0)
 				setOcciAppState(Status.INACTIVE);
 			else
 				setOcciAppState(Status.ERROR);	
@@ -260,7 +261,7 @@ public class SensorConnector extends monitoring.impl.SensorImpl
 			}
 			
 			status = cmtool.deploy(this);
-			if (status == 0 && assertCompsStatusEquals(getConnectedComponents(), Status.DEPLOYED))
+			if (status == 0)
 				setOcciAppState(Status.DEPLOYED);
 			else
 				setOcciAppState(Status.ERROR);
@@ -298,7 +299,7 @@ public class SensorConnector extends monitoring.impl.SensorImpl
 				component.undeploy();
 			}
 			status = cmtool.undeploy(this);
-			if (status == 0 && assertCompsStatusEquals(getConnectedComponents(), Status.UNDEPLOYED))
+			if (status == 0)
 				setOcciAppState(Status.UNDEPLOYED);
 			else
 				setOcciAppState(Status.ERROR);
@@ -309,7 +310,7 @@ public class SensorConnector extends monitoring.impl.SensorImpl
 				component.undeploy();
 			}
 			status = cmtool.undeploy(this);
-			if (status == 0 && assertCompsStatusEquals(getConnectedComponents(), Status.UNDEPLOYED))
+			if (status == 0)
 				setOcciAppState(Status.UNDEPLOYED);
 			else
 				setOcciAppState(Status.ERROR);
@@ -320,7 +321,7 @@ public class SensorConnector extends monitoring.impl.SensorImpl
 				component.undeploy();
 			}
 			status = cmtool.undeploy(this);
-			if (status == 0 && assertCompsStatusEquals(getConnectedComponents(), Status.UNDEPLOYED))
+			if (status == 0)
 				setOcciAppState(Status.UNDEPLOYED);
 			else
 				setOcciAppState(Status.ERROR);
@@ -331,7 +332,7 @@ public class SensorConnector extends monitoring.impl.SensorImpl
 				component.undeploy();
 			}
 			status = cmtool.undeploy(this);
-			if (status == 0 && assertCompsStatusEquals(getConnectedComponents(), Status.UNDEPLOYED))
+			if (status == 0)
 				setOcciAppState(Status.UNDEPLOYED);
 			else
 				setOcciAppState(Status.ERROR);
@@ -354,6 +355,8 @@ public class SensorConnector extends monitoring.impl.SensorImpl
 		
 	}
 	
+	
+	/*
 	private boolean assertCompsStatusEquals(List<Component> components, Status status) {
 		for (Component component: components) {
 			if (component.getOcciComponentState().getValue() != status.getValue()) {
@@ -364,6 +367,6 @@ public class SensorConnector extends monitoring.impl.SensorImpl
 			}
 		}	
 		return true;
-}
+}*/
 
 }	
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/.classpath b/de.ugoe.cs.rwm.mocci.model.edit/.classpath
index ba9563870359d6f6776459965a9a63042a32bfb4..9f26f94005a15116e7455333308dcb80ef6440e6 100644
--- a/de.ugoe.cs.rwm.mocci.model.edit/.classpath
+++ b/de.ugoe.cs.rwm.mocci.model.edit/.classpath
@@ -3,5 +3,6 @@
 	<classpathentry kind="src" path="src-gen"/>
 	<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.buildship.core.gradleclasspathcontainer"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/.settings/org.eclipse.buildship.core.prefs b/de.ugoe.cs.rwm.mocci.model.edit/.settings/org.eclipse.buildship.core.prefs
index 1752c9353159a3382e3f642e31d09b45ee82f7c4..dacbfbbb556df1dcb4ebf4c7b408cfe7886777ed 100644
--- a/de.ugoe.cs.rwm.mocci.model.edit/.settings/org.eclipse.buildship.core.prefs
+++ b/de.ugoe.cs.rwm.mocci.model.edit/.settings/org.eclipse.buildship.core.prefs
@@ -1,2 +1,2 @@
-connection.project.dir=../de.ugoe.cs.rwm.mocci.connector
+connection.project.dir=../de.ugoe.cs.rwm.mocci.connector.dummy
 eclipse.preferences.version=1
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Dataprocessor.gif b/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Dataprocessor.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7c2aaac84ee6ea15757df499505e9aa0de4288f9
Binary files /dev/null and b/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Dataprocessor.gif differ
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Gatheringservice.gif b/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Gatheringservice.gif
new file mode 100644
index 0000000000000000000000000000000000000000..136e3b27269e84a045f9b528614d7dfd316e444c
Binary files /dev/null and b/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Gatheringservice.gif differ
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Martpublisher.gif b/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Martpublisher.gif
new file mode 100644
index 0000000000000000000000000000000000000000..420eee177528d9bd6d862c38d2a66c14835a6140
Binary files /dev/null and b/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Martpublisher.gif differ
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Monitorableproperty.gif b/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Monitorableproperty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a17dc7d88e993e89a1d5f913ddfab16b1676c5bb
Binary files /dev/null and b/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Monitorableproperty.gif differ
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Occiresultprovider.gif b/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Occiresultprovider.gif
new file mode 100644
index 0000000000000000000000000000000000000000..afb82ea48a50d3fb875ce03cf0ec154e51c97cb7
Binary files /dev/null and b/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Occiresultprovider.gif differ
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Resultprovider.gif b/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Resultprovider.gif
new file mode 100644
index 0000000000000000000000000000000000000000..badaab0664ae45de5d990f64638197daeabf31bf
Binary files /dev/null and b/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Resultprovider.gif differ
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/plugin.properties b/de.ugoe.cs.rwm.mocci.model.edit/plugin.properties
index 0c40c4969e0d1e52d3ef8fa864523644004e3b11..34af8a7657388f62336ab1cdaa199b588aec6c45 100644
--- a/de.ugoe.cs.rwm.mocci.model.edit/plugin.properties
+++ b/de.ugoe.cs.rwm.mocci.model.edit/plugin.properties
@@ -73,3 +73,25 @@ _UI_MonitoringProperty_value_feature = Value
 _UI_MonitoringProperty_Id_feature = Id
 _UI_MonitoringPropertyArray_monitoringpropertyarrayValues_feature = Monitoringpropertyarray Values
 _UI_Monitoringproperties_monitoringProperties_feature = Monitoring Properties
+_UI_Monitoringproperty_monitoringPropertyResource_feature = Monitoring Property Resource
+_UI_Martpublisher_type = Martpublisher
+_UI_Processor_gathererAddress_feature = Gatherer Address
+_UI_Publisher_publisherEndpoint_feature = Publisher Endpoint
+_UI_Martpublisher_monitoringPropertyName_feature = Monitoring Property Name
+_UI_Martpublisher_monitoringPropertyValue_feature = Monitoring Property Value
+_UI_Martpublisher_monitoringPropertyResource_feature = Monitoring Property Resource
+_UI_Martpublisher_monitoringPropertyId_feature = Monitoring Property Id
+_UI_Dataprocessor_type = Dataprocessor
+_UI_Resultprovider_type = Resultprovider
+_UI_Occiresultprovider_type = Occiresultprovider
+_UI_Gatheringservice_type = Gatheringservice
+_UI_Resultprovider_resultProviderEndpoint_feature = Result Provider Endpoint
+_UI_Monitoringproperty_monitoringPropertyResult_feature = Monitoring Property Result
+_UI_Occiresultprovider_monitoringPropertyName_feature = Monitoring Property Name
+_UI_Occiresultprovider_monitoringPropertyId_feature = Monitoring Property Id
+_UI_Occiresultprovider_monitoringPropertyResource_feature = Monitoring Property Resource
+_UI_Gatheringservice_serviceAddress_feature = Service Address
+_UI_Monitorableproperty_type = Monitorableproperty
+_UI_Monitorableproperty_monitoringProperty_feature = Monitoring Property
+_UI_Monitorableproperty_monitoringResult_feature = Monitoring Result
+_UI_Occiresultprovider_resultProviderEndpoint_feature = Result Provider Endpoint
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/DatagathererItemProvider.java b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/DatagathererItemProvider.java
index b98bd740f7163afd4e7de9c67b64113416083fc3..bb7282ee31e13206d8fed2f416aeb2250c753381 100644
--- a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/DatagathererItemProvider.java
+++ b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/DatagathererItemProvider.java
@@ -62,79 +62,10 @@ public class DatagathererItemProvider extends ComponentItemProvider {
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addOcciCollectorPeriodPropertyDescriptor(object);
-			addOcciCollectorGranularityPropertyDescriptor(object);
-			addOcciCollectorAccuracyPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
-	/**
-	 * This adds a property descriptor for the Occi Collector Period feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addOcciCollectorPeriodPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Datagatherer_occiCollectorPeriod_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_Datagatherer_occiCollectorPeriod_feature", "_UI_Datagatherer_type"),
-				 MonitoringPackage.Literals.DATAGATHERER__OCCI_COLLECTOR_PERIOD,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Occi Collector Granularity feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addOcciCollectorGranularityPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Datagatherer_occiCollectorGranularity_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_Datagatherer_occiCollectorGranularity_feature", "_UI_Datagatherer_type"),
-				 MonitoringPackage.Literals.DATAGATHERER__OCCI_COLLECTOR_GRANULARITY,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Occi Collector Accuracy feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addOcciCollectorAccuracyPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Datagatherer_occiCollectorAccuracy_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_Datagatherer_occiCollectorAccuracy_feature", "_UI_Datagatherer_type"),
-				 MonitoringPackage.Literals.DATAGATHERER__OCCI_COLLECTOR_ACCURACY,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
 	/**
 	 * This returns Datagatherer.gif.
 	 * <!-- begin-user-doc -->
@@ -171,14 +102,6 @@ public class DatagathererItemProvider extends ComponentItemProvider {
 	@Override
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
-
-		switch (notification.getFeatureID(Datagatherer.class)) {
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_PERIOD:
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_GRANULARITY:
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_ACCURACY:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
 		super.notifyChanged(notification);
 	}
 
@@ -196,7 +119,12 @@ public class DatagathererItemProvider extends ComponentItemProvider {
 		newChildDescriptors.add
 			(createChildParameter
 				(OCCIPackage.Literals.ENTITY__PARTS,
-				 MonitoringFactory.eINSTANCE.createMonitoringproperties()));
+				 MonitoringFactory.eINSTANCE.createOcciresultprovider()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(OCCIPackage.Literals.RESOURCE__LINKS,
+				 MonitoringFactory.eINSTANCE.createMonitorableproperty()));
 	}
 
 	/**
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/ProcessorItemProvider.java b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/DataprocessorItemProvider.java
similarity index 82%
rename from de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/ProcessorItemProvider.java
rename to de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/DataprocessorItemProvider.java
index c6e12b8b2347165d35c2de95130287a6bbecf849..ee5c361781af5187038df9c82dd865d506212d7a 100644
--- a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/ProcessorItemProvider.java
+++ b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/DataprocessorItemProvider.java
@@ -16,8 +16,8 @@ package monitoring.provider;
 import java.util.Collection;
 import java.util.List;
 
+import monitoring.Dataprocessor;
 import monitoring.MonitoringFactory;
-import monitoring.Processor;
 
 import org.eclipse.cmf.occi.core.OCCIPackage;
 
@@ -31,19 +31,19 @@ import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
 import org.modmacao.occi.platform.provider.ComponentItemProvider;
 
 /**
- * This is the item provider adapter for a {@link monitoring.Processor} object.
+ * This is the item provider adapter for a {@link monitoring.Dataprocessor} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class ProcessorItemProvider extends ComponentItemProvider {
+public class DataprocessorItemProvider extends ComponentItemProvider {
 	/**
 	 * This constructs an instance from a factory and a notifier.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public ProcessorItemProvider(AdapterFactory adapterFactory) {
+	public DataprocessorItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -63,14 +63,14 @@ public class ProcessorItemProvider extends ComponentItemProvider {
 	}
 
 	/**
-	 * This returns Processor.gif.
+	 * This returns Dataprocessor.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/Processor"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Dataprocessor"));
 	}
 
 	/**
@@ -81,10 +81,10 @@ public class ProcessorItemProvider extends ComponentItemProvider {
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((Processor)object).getId();
+		String label = ((Dataprocessor)object).getId();
 		return label == null || label.length() == 0 ?
-			getString("_UI_Processor_type") :
-			getString("_UI_Processor_type") + " " + label;
+			getString("_UI_Dataprocessor_type") :
+			getString("_UI_Dataprocessor_type") + " " + label;
 	}
 	
 
@@ -115,7 +115,12 @@ public class ProcessorItemProvider extends ComponentItemProvider {
 		newChildDescriptors.add
 			(createChildParameter
 				(OCCIPackage.Literals.ENTITY__PARTS,
-				 MonitoringFactory.eINSTANCE.createMonitoringproperties()));
+				 MonitoringFactory.eINSTANCE.createOcciresultprovider()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(OCCIPackage.Literals.RESOURCE__LINKS,
+				 MonitoringFactory.eINSTANCE.createMonitorableproperty()));
 	}
 
 	/**
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitoringPropertyItemProvider.java b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitorablepropertyItemProvider.java
similarity index 61%
rename from de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitoringPropertyItemProvider.java
rename to de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitorablepropertyItemProvider.java
index 9d567fee3953aef727eae47fd666f08a975c15ee..1d829c56135aa0a060d159da5927b67014c7b579 100644
--- a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitoringPropertyItemProvider.java
+++ b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitorablepropertyItemProvider.java
@@ -16,8 +16,13 @@ package monitoring.provider;
 import java.util.Collection;
 import java.util.List;
 
+import monitoring.Monitorableproperty;
+import monitoring.MonitoringFactory;
 import monitoring.MonitoringPackage;
-import monitoring.MonitoringProperty;
+
+import org.eclipse.cmf.occi.core.OCCIPackage;
+
+import org.eclipse.cmf.occi.core.provider.LinkItemProvider;
 
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
@@ -25,37 +30,26 @@ import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.util.ResourceLocator;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 
+import org.modmacao.occi.platform.PlatformFactory;
+
 /**
- * This is the item provider adapter for a {@link monitoring.MonitoringProperty} object.
+ * This is the item provider adapter for a {@link monitoring.Monitorableproperty} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class MonitoringPropertyItemProvider 
-	extends ItemProviderAdapter
-	implements
-		IEditingDomainItemProvider,
-		IStructuredItemContentProvider,
-		ITreeItemContentProvider,
-		IItemLabelProvider,
-		IItemPropertySource {
+public class MonitorablepropertyItemProvider extends LinkItemProvider {
 	/**
 	 * This constructs an instance from a factory and a notifier.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public MonitoringPropertyItemProvider(AdapterFactory adapterFactory) {
+	public MonitorablepropertyItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -70,27 +64,26 @@ public class MonitoringPropertyItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addNamePropertyDescriptor(object);
-			addValuePropertyDescriptor(object);
-			addIdPropertyDescriptor(object);
+			addMonitoringPropertyPropertyDescriptor(object);
+			addMonitoringResultPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This adds a property descriptor for the Name feature.
+	 * This adds a property descriptor for the Monitoring Property feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addNamePropertyDescriptor(Object object) {
+	protected void addMonitoringPropertyPropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_MonitoringProperty_name_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_MonitoringProperty_name_feature", "_UI_MonitoringProperty_type"),
-				 MonitoringPackage.Literals.MONITORING_PROPERTY__NAME,
+				 getString("_UI_Monitorableproperty_monitoringProperty_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Monitorableproperty_monitoringProperty_feature", "_UI_Monitorableproperty_type"),
+				 MonitoringPackage.Literals.MONITORABLEPROPERTY__MONITORING_PROPERTY,
 				 true,
 				 false,
 				 false,
@@ -100,19 +93,19 @@ public class MonitoringPropertyItemProvider
 	}
 
 	/**
-	 * This adds a property descriptor for the Value feature.
+	 * This adds a property descriptor for the Monitoring Result feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addValuePropertyDescriptor(Object object) {
+	protected void addMonitoringResultPropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_MonitoringProperty_value_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_MonitoringProperty_value_feature", "_UI_MonitoringProperty_type"),
-				 MonitoringPackage.Literals.MONITORING_PROPERTY__VALUE,
+				 getString("_UI_Monitorableproperty_monitoringResult_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Monitorableproperty_monitoringResult_feature", "_UI_Monitorableproperty_type"),
+				 MonitoringPackage.Literals.MONITORABLEPROPERTY__MONITORING_RESULT,
 				 true,
 				 false,
 				 false,
@@ -122,36 +115,14 @@ public class MonitoringPropertyItemProvider
 	}
 
 	/**
-	 * This adds a property descriptor for the Id feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addIdPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_MonitoringProperty_Id_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_MonitoringProperty_Id_feature", "_UI_MonitoringProperty_type"),
-				 MonitoringPackage.Literals.MONITORING_PROPERTY__ID,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns MonitoringProperty.gif.
+	 * This returns Monitorableproperty.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/MonitoringProperty"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Monitorableproperty"));
 	}
 
 	/**
@@ -162,10 +133,10 @@ public class MonitoringPropertyItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((MonitoringProperty)object).getName();
+		String label = ((Monitorableproperty)object).getId();
 		return label == null || label.length() == 0 ?
-			getString("_UI_MonitoringProperty_type") :
-			getString("_UI_MonitoringProperty_type") + " " + label;
+			getString("_UI_Monitorableproperty_type") :
+			getString("_UI_Monitorableproperty_type") + " " + label;
 	}
 	
 
@@ -180,10 +151,9 @@ public class MonitoringPropertyItemProvider
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
 
-		switch (notification.getFeatureID(MonitoringProperty.class)) {
-			case MonitoringPackage.MONITORING_PROPERTY__NAME:
-			case MonitoringPackage.MONITORING_PROPERTY__VALUE:
-			case MonitoringPackage.MONITORING_PROPERTY__ID:
+		switch (notification.getFeatureID(Monitorableproperty.class)) {
+			case MonitoringPackage.MONITORABLEPROPERTY__MONITORING_PROPERTY:
+			case MonitoringPackage.MONITORABLEPROPERTY__MONITORING_RESULT:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 				return;
 		}
@@ -200,6 +170,31 @@ public class MonitoringPropertyItemProvider
 	@Override
 	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
 		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(OCCIPackage.Literals.ENTITY__PARTS,
+				 MonitoringFactory.eINSTANCE.createOcciresultprovider()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(OCCIPackage.Literals.ENTITY__PARTS,
+				 PlatformFactory.eINSTANCE.createApp_tpl()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(OCCIPackage.Literals.ENTITY__PARTS,
+				 PlatformFactory.eINSTANCE.createRes_tpl()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(OCCIPackage.Literals.ENTITY__PARTS,
+				 PlatformFactory.eINSTANCE.createDatabase()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(OCCIPackage.Literals.ENTITY__PARTS,
+				 PlatformFactory.eINSTANCE.createDatabaselink()));
 	}
 
 	/**
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitoringItemProviderAdapterFactory.java b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitoringItemProviderAdapterFactory.java
index 2392515bd9b51816bfe7acc8fa1a225dd9c4bc5d..1bd480e3e65801236ab55afa610c30a89c4048eb 100644
--- a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitoringItemProviderAdapterFactory.java
+++ b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitoringItemProviderAdapterFactory.java
@@ -82,164 +82,141 @@ public class MonitoringItemProviderAdapterFactory extends MonitoringAdapterFacto
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link monitoring.MonitoringProperty} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected MonitoringPropertyItemProvider monitoringPropertyItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link monitoring.MonitoringProperty}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createMonitoringPropertyAdapter() {
-		if (monitoringPropertyItemProvider == null) {
-			monitoringPropertyItemProvider = new MonitoringPropertyItemProvider(this);
-		}
-
-		return monitoringPropertyItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link monitoring.MonitoringPropertyArray} instances.
+	 * This keeps track of the one adapter used for all {@link monitoring.Sensor} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected MonitoringPropertyArrayItemProvider monitoringPropertyArrayItemProvider;
+	protected SensorItemProvider sensorItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link monitoring.MonitoringPropertyArray}.
+	 * This creates an adapter for a {@link monitoring.Sensor}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createMonitoringPropertyArrayAdapter() {
-		if (monitoringPropertyArrayItemProvider == null) {
-			monitoringPropertyArrayItemProvider = new MonitoringPropertyArrayItemProvider(this);
+	public Adapter createSensorAdapter() {
+		if (sensorItemProvider == null) {
+			sensorItemProvider = new SensorItemProvider(this);
 		}
 
-		return monitoringPropertyArrayItemProvider;
+		return sensorItemProvider;
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link monitoring.Sensor} instances.
+	 * This keeps track of the one adapter used for all {@link monitoring.Datagatherer} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected SensorItemProvider sensorItemProvider;
+	protected DatagathererItemProvider datagathererItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link monitoring.Sensor}.
+	 * This creates an adapter for a {@link monitoring.Datagatherer}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createSensorAdapter() {
-		if (sensorItemProvider == null) {
-			sensorItemProvider = new SensorItemProvider(this);
+	public Adapter createDatagathererAdapter() {
+		if (datagathererItemProvider == null) {
+			datagathererItemProvider = new DatagathererItemProvider(this);
 		}
 
-		return sensorItemProvider;
+		return datagathererItemProvider;
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link monitoring.Datagatherer} instances.
+	 * This keeps track of the one adapter used for all {@link monitoring.Dataprocessor} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected DatagathererItemProvider datagathererItemProvider;
+	protected DataprocessorItemProvider dataprocessorItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link monitoring.Datagatherer}.
+	 * This creates an adapter for a {@link monitoring.Dataprocessor}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createDatagathererAdapter() {
-		if (datagathererItemProvider == null) {
-			datagathererItemProvider = new DatagathererItemProvider(this);
+	public Adapter createDataprocessorAdapter() {
+		if (dataprocessorItemProvider == null) {
+			dataprocessorItemProvider = new DataprocessorItemProvider(this);
 		}
 
-		return datagathererItemProvider;
+		return dataprocessorItemProvider;
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link monitoring.Processor} instances.
+	 * This keeps track of the one adapter used for all {@link monitoring.Resultprovider} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected ProcessorItemProvider processorItemProvider;
+	protected ResultproviderItemProvider resultproviderItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link monitoring.Processor}.
+	 * This creates an adapter for a {@link monitoring.Resultprovider}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createProcessorAdapter() {
-		if (processorItemProvider == null) {
-			processorItemProvider = new ProcessorItemProvider(this);
+	public Adapter createResultproviderAdapter() {
+		if (resultproviderItemProvider == null) {
+			resultproviderItemProvider = new ResultproviderItemProvider(this);
 		}
 
-		return processorItemProvider;
+		return resultproviderItemProvider;
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link monitoring.Publisher} instances.
+	 * This keeps track of the one adapter used for all {@link monitoring.Monitorableproperty} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected PublisherItemProvider publisherItemProvider;
+	protected MonitorablepropertyItemProvider monitorablepropertyItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link monitoring.Publisher}.
+	 * This creates an adapter for a {@link monitoring.Monitorableproperty}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createPublisherAdapter() {
-		if (publisherItemProvider == null) {
-			publisherItemProvider = new PublisherItemProvider(this);
+	public Adapter createMonitorablepropertyAdapter() {
+		if (monitorablepropertyItemProvider == null) {
+			monitorablepropertyItemProvider = new MonitorablepropertyItemProvider(this);
 		}
 
-		return publisherItemProvider;
+		return monitorablepropertyItemProvider;
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link monitoring.Monitoringproperties} instances.
+	 * This keeps track of the one adapter used for all {@link monitoring.Occiresultprovider} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected MonitoringpropertiesItemProvider monitoringpropertiesItemProvider;
+	protected OcciresultproviderItemProvider occiresultproviderItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link monitoring.Monitoringproperties}.
+	 * This creates an adapter for a {@link monitoring.Occiresultprovider}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createMonitoringpropertiesAdapter() {
-		if (monitoringpropertiesItemProvider == null) {
-			monitoringpropertiesItemProvider = new MonitoringpropertiesItemProvider(this);
+	public Adapter createOcciresultproviderAdapter() {
+		if (occiresultproviderItemProvider == null) {
+			occiresultproviderItemProvider = new OcciresultproviderItemProvider(this);
 		}
 
-		return monitoringpropertiesItemProvider;
+		return occiresultproviderItemProvider;
 	}
 
 	/**
@@ -341,13 +318,12 @@ public class MonitoringItemProviderAdapterFactory extends MonitoringAdapterFacto
 	 * @generated
 	 */
 	public void dispose() {
-		if (monitoringPropertyItemProvider != null) monitoringPropertyItemProvider.dispose();
-		if (monitoringPropertyArrayItemProvider != null) monitoringPropertyArrayItemProvider.dispose();
 		if (sensorItemProvider != null) sensorItemProvider.dispose();
 		if (datagathererItemProvider != null) datagathererItemProvider.dispose();
-		if (processorItemProvider != null) processorItemProvider.dispose();
-		if (publisherItemProvider != null) publisherItemProvider.dispose();
-		if (monitoringpropertiesItemProvider != null) monitoringpropertiesItemProvider.dispose();
+		if (dataprocessorItemProvider != null) dataprocessorItemProvider.dispose();
+		if (resultproviderItemProvider != null) resultproviderItemProvider.dispose();
+		if (monitorablepropertyItemProvider != null) monitorablepropertyItemProvider.dispose();
+		if (occiresultproviderItemProvider != null) occiresultproviderItemProvider.dispose();
 	}
 
 }
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitoringPropertyArrayItemProvider.java b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitoringPropertyArrayItemProvider.java
deleted file mode 100644
index 0067c3c10a016328b0fddcd1086b99c31abe2bdd..0000000000000000000000000000000000000000
--- a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitoringPropertyArrayItemProvider.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- * Copyright (c) 2015-2017 Obeo, Inria
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 	
- * Contributors:
- * - William Piers <william.piers@obeo.fr>
- * - Philippe Merle <philippe.merle@inria.fr>
- * - Faiez Zalila <faiez.zalila@inria.fr>
- */
-package monitoring.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import monitoring.MonitoringFactory;
-import monitoring.MonitoringPackage;
-import monitoring.MonitoringPropertyArray;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-/**
- * This is the item provider adapter for a {@link monitoring.MonitoringPropertyArray} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class MonitoringPropertyArrayItemProvider 
-	extends ItemProviderAdapter
-	implements
-		IEditingDomainItemProvider,
-		IStructuredItemContentProvider,
-		ITreeItemContentProvider,
-		IItemLabelProvider,
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MonitoringPropertyArrayItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(MonitoringPackage.Literals.MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES);
-		}
-		return childrenFeatures;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		// Check the type of the specified child object and return the proper feature to use for
-		// adding (see {@link AddCommand}) it as a child.
-
-		return super.getChildFeature(object, child);
-	}
-
-	/**
-	 * This returns MonitoringPropertyArray.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/MonitoringPropertyArray"));
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		return getString("_UI_MonitoringPropertyArray_type");
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(MonitoringPropertyArray.class)) {
-			case MonitoringPackage.MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(MonitoringPackage.Literals.MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES,
-				 MonitoringFactory.eINSTANCE.createMonitoringProperty()));
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public ResourceLocator getResourceLocator() {
-		return MonitoringEditPlugin.INSTANCE;
-	}
-
-}
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitoringpropertiesItemProvider.java b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/OcciresultproviderItemProvider.java
similarity index 63%
rename from de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitoringpropertiesItemProvider.java
rename to de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/OcciresultproviderItemProvider.java
index cfaf3d32e15ff739c04603d2d5338136662f484c..ce52301c386be0283639059a05e38ce65bf1a8ab 100644
--- a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitoringpropertiesItemProvider.java
+++ b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/OcciresultproviderItemProvider.java
@@ -16,9 +16,8 @@ package monitoring.provider;
 import java.util.Collection;
 import java.util.List;
 
-import monitoring.MonitoringFactory;
 import monitoring.MonitoringPackage;
-import monitoring.Monitoringproperties;
+import monitoring.Occiresultprovider;
 
 import org.eclipse.cmf.occi.core.provider.MixinBaseItemProvider;
 
@@ -27,25 +26,25 @@ import org.eclipse.emf.common.notify.Notification;
 
 import org.eclipse.emf.common.util.ResourceLocator;
 
-import org.eclipse.emf.ecore.EStructuralFeature;
-
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 
 /**
- * This is the item provider adapter for a {@link monitoring.Monitoringproperties} object.
+ * This is the item provider adapter for a {@link monitoring.Occiresultprovider} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class MonitoringpropertiesItemProvider extends MixinBaseItemProvider {
+public class OcciresultproviderItemProvider extends MixinBaseItemProvider {
 	/**
 	 * This constructs an instance from a factory and a notifier.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public MonitoringpropertiesItemProvider(AdapterFactory adapterFactory) {
+	public OcciresultproviderItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -60,49 +59,42 @@ public class MonitoringpropertiesItemProvider extends MixinBaseItemProvider {
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
+			addResultProviderEndpointPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * This adds a property descriptor for the Result Provider Endpoint feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(MonitoringPackage.Literals.MONITORINGPROPERTIES__MONITORING_PROPERTIES);
-		}
-		return childrenFeatures;
+	protected void addResultProviderEndpointPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Occiresultprovider_resultProviderEndpoint_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Occiresultprovider_resultProviderEndpoint_feature", "_UI_Occiresultprovider_type"),
+				 MonitoringPackage.Literals.OCCIRESULTPROVIDER__RESULT_PROVIDER_ENDPOINT,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		// Check the type of the specified child object and return the proper feature to use for
-		// adding (see {@link AddCommand}) it as a child.
-
-		return super.getChildFeature(object, child);
-	}
-
-	/**
-	 * This returns Monitoringproperties.gif.
+	 * This returns Occiresultprovider.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/Monitoringproperties"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Occiresultprovider"));
 	}
 
 	/**
@@ -113,7 +105,10 @@ public class MonitoringpropertiesItemProvider extends MixinBaseItemProvider {
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_Monitoringproperties_type");
+		String label = ((Occiresultprovider)object).getResultProviderEndpoint();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Occiresultprovider_type") :
+			getString("_UI_Occiresultprovider_type") + " " + label;
 	}
 	
 
@@ -128,9 +123,9 @@ public class MonitoringpropertiesItemProvider extends MixinBaseItemProvider {
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
 
-		switch (notification.getFeatureID(Monitoringproperties.class)) {
-			case MonitoringPackage.MONITORINGPROPERTIES__MONITORING_PROPERTIES:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+		switch (notification.getFeatureID(Occiresultprovider.class)) {
+			case MonitoringPackage.OCCIRESULTPROVIDER__RESULT_PROVIDER_ENDPOINT:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 				return;
 		}
 		super.notifyChanged(notification);
@@ -146,11 +141,6 @@ public class MonitoringpropertiesItemProvider extends MixinBaseItemProvider {
 	@Override
 	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
 		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(MonitoringPackage.Literals.MONITORINGPROPERTIES__MONITORING_PROPERTIES,
-				 MonitoringFactory.eINSTANCE.createMonitoringPropertyArray()));
 	}
 
 	/**
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/PublisherItemProvider.java b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/ResultproviderItemProvider.java
similarity index 77%
rename from de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/PublisherItemProvider.java
rename to de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/ResultproviderItemProvider.java
index e69b72414363bfe8fa68492bf6277cb851913faa..c5332a8768262d08419071f2ccc8a87f8b662a5d 100644
--- a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/PublisherItemProvider.java
+++ b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/ResultproviderItemProvider.java
@@ -17,7 +17,8 @@ import java.util.Collection;
 import java.util.List;
 
 import monitoring.MonitoringFactory;
-import monitoring.Publisher;
+import monitoring.MonitoringPackage;
+import monitoring.Resultprovider;
 
 import org.eclipse.cmf.occi.core.OCCIPackage;
 
@@ -26,24 +27,27 @@ import org.eclipse.emf.common.notify.Notification;
 
 import org.eclipse.emf.common.util.ResourceLocator;
 
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
 
 import org.modmacao.occi.platform.provider.ComponentItemProvider;
 
 /**
- * This is the item provider adapter for a {@link monitoring.Publisher} object.
+ * This is the item provider adapter for a {@link monitoring.Resultprovider} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class PublisherItemProvider extends ComponentItemProvider {
+public class ResultproviderItemProvider extends ComponentItemProvider {
 	/**
 	 * This constructs an instance from a factory and a notifier.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public PublisherItemProvider(AdapterFactory adapterFactory) {
+	public ResultproviderItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -63,14 +67,14 @@ public class PublisherItemProvider extends ComponentItemProvider {
 	}
 
 	/**
-	 * This returns Publisher.gif.
+	 * This returns Resultprovider.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/Publisher"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Resultprovider"));
 	}
 
 	/**
@@ -81,10 +85,10 @@ public class PublisherItemProvider extends ComponentItemProvider {
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((Publisher)object).getId();
+		String label = ((Resultprovider)object).getId();
 		return label == null || label.length() == 0 ?
-			getString("_UI_Publisher_type") :
-			getString("_UI_Publisher_type") + " " + label;
+			getString("_UI_Resultprovider_type") :
+			getString("_UI_Resultprovider_type") + " " + label;
 	}
 	
 
@@ -115,7 +119,12 @@ public class PublisherItemProvider extends ComponentItemProvider {
 		newChildDescriptors.add
 			(createChildParameter
 				(OCCIPackage.Literals.ENTITY__PARTS,
-				 MonitoringFactory.eINSTANCE.createMonitoringproperties()));
+				 MonitoringFactory.eINSTANCE.createOcciresultprovider()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(OCCIPackage.Literals.RESOURCE__LINKS,
+				 MonitoringFactory.eINSTANCE.createMonitorableproperty()));
 	}
 
 	/**
diff --git a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/SensorItemProvider.java b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/SensorItemProvider.java
index e7f38f8565157670f1aa79e8ca2255f4647905d3..4f61c46bf880c2a7d85fe551bf87b5b9238e28af 100644
--- a/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/SensorItemProvider.java
+++ b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/SensorItemProvider.java
@@ -62,148 +62,10 @@ public class SensorItemProvider extends ApplicationItemProvider {
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addOcciSensorTimebasePropertyDescriptor(object);
-			addOcciSensorTimestartPropertyDescriptor(object);
-			addOcciSensorTimestopPropertyDescriptor(object);
-			addOcciSensorPeriodPropertyDescriptor(object);
-			addOcciSensorGranularityPropertyDescriptor(object);
-			addOcciSensorAccuracyPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
-	/**
-	 * This adds a property descriptor for the Occi Sensor Timebase feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addOcciSensorTimebasePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Sensor_occiSensorTimebase_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_Sensor_occiSensorTimebase_feature", "_UI_Sensor_type"),
-				 MonitoringPackage.Literals.SENSOR__OCCI_SENSOR_TIMEBASE,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Occi Sensor Timestart feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addOcciSensorTimestartPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Sensor_occiSensorTimestart_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_Sensor_occiSensorTimestart_feature", "_UI_Sensor_type"),
-				 MonitoringPackage.Literals.SENSOR__OCCI_SENSOR_TIMESTART,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Occi Sensor Timestop feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addOcciSensorTimestopPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Sensor_occiSensorTimestop_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_Sensor_occiSensorTimestop_feature", "_UI_Sensor_type"),
-				 MonitoringPackage.Literals.SENSOR__OCCI_SENSOR_TIMESTOP,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Occi Sensor Period feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addOcciSensorPeriodPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Sensor_occiSensorPeriod_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_Sensor_occiSensorPeriod_feature", "_UI_Sensor_type"),
-				 MonitoringPackage.Literals.SENSOR__OCCI_SENSOR_PERIOD,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Occi Sensor Granularity feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addOcciSensorGranularityPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Sensor_occiSensorGranularity_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_Sensor_occiSensorGranularity_feature", "_UI_Sensor_type"),
-				 MonitoringPackage.Literals.SENSOR__OCCI_SENSOR_GRANULARITY,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Occi Sensor Accuracy feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addOcciSensorAccuracyPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Sensor_occiSensorAccuracy_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_Sensor_occiSensorAccuracy_feature", "_UI_Sensor_type"),
-				 MonitoringPackage.Literals.SENSOR__OCCI_SENSOR_ACCURACY,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
 	/**
 	 * This returns Sensor.gif.
 	 * <!-- begin-user-doc -->
@@ -240,17 +102,6 @@ public class SensorItemProvider extends ApplicationItemProvider {
 	@Override
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
-
-		switch (notification.getFeatureID(Sensor.class)) {
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMEBASE:
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMESTART:
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMESTOP:
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_PERIOD:
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_GRANULARITY:
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_ACCURACY:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
 		super.notifyChanged(notification);
 	}
 
@@ -268,7 +119,12 @@ public class SensorItemProvider extends ApplicationItemProvider {
 		newChildDescriptors.add
 			(createChildParameter
 				(OCCIPackage.Literals.ENTITY__PARTS,
-				 MonitoringFactory.eINSTANCE.createMonitoringproperties()));
+				 MonitoringFactory.eINSTANCE.createOcciresultprovider()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(OCCIPackage.Literals.RESOURCE__LINKS,
+				 MonitoringFactory.eINSTANCE.createMonitorableproperty()));
 	}
 
 	/**
diff --git a/de.ugoe.cs.rwm.mocci.model/.classpath b/de.ugoe.cs.rwm.mocci.model/.classpath
index ba9563870359d6f6776459965a9a63042a32bfb4..9f26f94005a15116e7455333308dcb80ef6440e6 100644
--- a/de.ugoe.cs.rwm.mocci.model/.classpath
+++ b/de.ugoe.cs.rwm.mocci.model/.classpath
@@ -3,5 +3,6 @@
 	<classpathentry kind="src" path="src-gen"/>
 	<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.buildship.core.gradleclasspathcontainer"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/de.ugoe.cs.rwm.mocci.model/.settings/org.eclipse.buildship.core.prefs b/de.ugoe.cs.rwm.mocci.model/.settings/org.eclipse.buildship.core.prefs
index 1752c9353159a3382e3f642e31d09b45ee82f7c4..dacbfbbb556df1dcb4ebf4c7b408cfe7886777ed 100644
--- a/de.ugoe.cs.rwm.mocci.model/.settings/org.eclipse.buildship.core.prefs
+++ b/de.ugoe.cs.rwm.mocci.model/.settings/org.eclipse.buildship.core.prefs
@@ -1,2 +1,2 @@
-connection.project.dir=../de.ugoe.cs.rwm.mocci.connector
+connection.project.dir=../de.ugoe.cs.rwm.mocci.connector.dummy
 eclipse.preferences.version=1
diff --git a/de.ugoe.cs.rwm.mocci.model/model/monitoring.ecore b/de.ugoe.cs.rwm.mocci.model/model/monitoring.ecore
index 827421a1f7d346c6d54169641129b31f22d871b7..5164b96adb8611c26d7e277d1e6ebb091477f39d 100644
--- a/de.ugoe.cs.rwm.mocci.model/model/monitoring.ecore
+++ b/de.ugoe.cs.rwm.mocci.model/model/monitoring.ecore
@@ -11,115 +11,60 @@
     <details key="platform" value="http://schemas.modmacao.org/occi/platform/ecore"/>
     <details key="occi" value="http://schemas.ogf.org/occi/core/ecore"/>
   </eAnnotations>
-  <eClassifiers xsi:type="ecore:EDataType" name="DateTime" instanceClassName="java.lang.String">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="pattern" value="^(\d{4}((-)?(0[1-9]|1[0-2])((-)?(0[1-9]|[1-2][0-9]|3[0-1])(T(24:00(:00(\.[0]+)?)?|(([0-1][0-9]|2[0-3])(:)[0-5][0-9])((:)[0-5][0-9](\.[\d]+)?)?)((\+|-)(14:00|(0[0-9]|1[0-3])(:)[0-5][0-9])|Z))?)?)?)$"/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EDataType" name="Second" instanceClassName="java.lang.String"/>
   <eClassifiers xsi:type="ecore:EDataType" name="String" instanceClassName="java.lang.String"/>
-  <eClassifiers xsi:type="ecore:EClass" name="MonitoringProperty">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="#//String">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value=""/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="#//String">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value=""/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Id" lowerBound="1" eType="#//String">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value=""/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="MonitoringPropertyArray">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="monitoringpropertyarrayValues"
-        upperBound="-1" eType="#//MonitoringProperty" containment="true"/>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Sensor" eSuperTypes="platform:/plugin/org.modmacao.occi.platform/model/platform.ecore#//Application">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="Sensor Component"/>
     </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="occiSensorTimebase" eType="#//DateTime">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Base time reference (ISO8601)"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="occiSensorTimestart" eType="#//Second">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Start time offset (seconds)"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="occiSensorTimestop" eType="#//Second">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value=""/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="occiSensorPeriod" lowerBound="1"
-        eType="#//Second">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Time between two following measurements (seconds)"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="occiSensorGranularity"
-        eType="#//Second">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Granularity of time measument (seconds)"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="occiSensorAccuracy" eType="#//Second">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Accuracy of time measument (seconds)"/>
-      </eAnnotations>
-    </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Datagatherer" eSuperTypes="platform:/plugin/org.modmacao.occi.platform/model/platform.ecore#//Component">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="DataGatherer Resource"/>
     </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="occiCollectorPeriod" lowerBound="1"
-        eType="#//Second">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Time between two following measurements (seconds)."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="occiCollectorGranularity"
-        eType="#//Second">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Granularity of time measurement (seconds)."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="occiCollectorAccuracy"
-        eType="#//Second">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Accuracy of time measurement (seconds)."/>
-      </eAnnotations>
-    </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Processor" eSuperTypes="platform:/plugin/org.modmacao.occi.platform/model/platform.ecore#//Component">
+  <eClassifiers xsi:type="ecore:EClass" name="Dataprocessor" eSuperTypes="platform:/plugin/org.modmacao.occi.platform/model/platform.ecore#//Component">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Processor Resource"/>
+      <details key="documentation" value="DataProcessor Resource"/>
     </eAnnotations>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Publisher" eSuperTypes="platform:/plugin/org.modmacao.occi.platform/model/platform.ecore#//Component">
+  <eClassifiers xsi:type="ecore:EClass" name="Resultprovider" eSuperTypes="platform:/plugin/org.modmacao.occi.platform/model/platform.ecore#//Component">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="Publisher Resource"/>
     </eAnnotations>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Monitoringproperties" eSuperTypes="platform:/plugin/org.eclipse.cmf.occi.core/model/OCCI.ecore#//MixinBase">
+  <eClassifiers xsi:type="ecore:EClass" name="Monitorableproperty" eSuperTypes="platform:/plugin/org.eclipse.cmf.occi.core/model/OCCI.ecore#//Link">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="MonitorableProperty Component"/>
+    </eAnnotations>
+    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+      <details key="constraints" value="targetConstraint"/>
+    </eAnnotations>
+    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+      <details key="targetConstraint" value="self.target.oclIsKindOf(monitoring::Sensor)"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="monitoringProperty" lowerBound="1"
+        eType="#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value=""/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="monitoringResult" eType="#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value=""/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Occiresultprovider" eSuperTypes="platform:/plugin/org.eclipse.cmf.occi.core/model/OCCI.ecore#//MixinBase">
     <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
       <details key="constraints" value="appliesConstraint"/>
     </eAnnotations>
     <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
-      <details key="appliesConstraint" value="self.entity.oclIsKindOf(occi::Resource)"/>
+      <details key="appliesConstraint" value="self.entity.oclIsKindOf(monitoring::Resultprovider)"/>
     </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="monitoringProperties" eType="#//MonitoringPropertyArray"
-        containment="true">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="resultProviderEndpoint"
+        lowerBound="1" eType="#//String">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value=""/>
+        <details key="documentation" value="Genereic address to be used by the result provider."/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
diff --git a/de.ugoe.cs.rwm.mocci.model/model/monitoring.genmodel b/de.ugoe.cs.rwm.mocci.model/model/monitoring.genmodel
index 2c09698452301d5dc27c029de097ee433c6413b3..6c7e2764b16a7149ea9ae4863806ec7fcfde07b4 100644
--- a/de.ugoe.cs.rwm.mocci.model/model/monitoring.genmodel
+++ b/de.ugoe.cs.rwm.mocci.model/model/monitoring.genmodel
@@ -6,76 +6,34 @@
   <foreignModel>monitoring.ecore</foreignModel>
   <genPackages prefix="Monitoring" disposableProviderFactory="true">
     <ecorePackage href="monitoring.ecore#/"/>
-    <genDataTypes>
-      <ecoreDataType href="monitoring.ecore#//DateTime"/>
-    </genDataTypes>
-    <genDataTypes>
-      <ecoreDataType href="monitoring.ecore#//Second"/>
-    </genDataTypes>
     <genDataTypes>
       <ecoreDataType href="monitoring.ecore#//String"/>
     </genDataTypes>
     <genClasses>
-      <ecoreClass href="monitoring.ecore#//MonitoringProperty"/>
-      <genFeatures createChild="false">
-        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//MonitoringProperty/name"/>
-      </genFeatures>
-      <genFeatures createChild="false">
-        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//MonitoringProperty/value"/>
-      </genFeatures>
-      <genFeatures createChild="false">
-        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//MonitoringProperty/Id"/>
-      </genFeatures>
+      <ecoreClass href="monitoring.ecore#//Sensor"/>
     </genClasses>
     <genClasses>
-      <ecoreClass href="monitoring.ecore#//MonitoringPropertyArray"/>
-      <genFeatures property="None" children="true" createChild="true">
-        <ecoreFeature xsi:type="ecore:EReference" href="monitoring.ecore#//MonitoringPropertyArray/monitoringpropertyarrayValues"/>
-      </genFeatures>
+      <ecoreClass href="monitoring.ecore#//Datagatherer"/>
     </genClasses>
     <genClasses>
-      <ecoreClass href="monitoring.ecore#//Sensor"/>
-      <genFeatures createChild="false">
-        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Sensor/occiSensorTimebase"/>
-      </genFeatures>
-      <genFeatures createChild="false">
-        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Sensor/occiSensorTimestart"/>
-      </genFeatures>
-      <genFeatures createChild="false">
-        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Sensor/occiSensorTimestop"/>
-      </genFeatures>
-      <genFeatures createChild="false">
-        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Sensor/occiSensorPeriod"/>
-      </genFeatures>
-      <genFeatures createChild="false">
-        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Sensor/occiSensorGranularity"/>
-      </genFeatures>
-      <genFeatures createChild="false">
-        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Sensor/occiSensorAccuracy"/>
-      </genFeatures>
+      <ecoreClass href="monitoring.ecore#//Dataprocessor"/>
     </genClasses>
     <genClasses>
-      <ecoreClass href="monitoring.ecore#//Datagatherer"/>
-      <genFeatures createChild="false">
-        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Datagatherer/occiCollectorPeriod"/>
-      </genFeatures>
+      <ecoreClass href="monitoring.ecore#//Resultprovider"/>
+    </genClasses>
+    <genClasses>
+      <ecoreClass href="monitoring.ecore#//Monitorableproperty"/>
       <genFeatures createChild="false">
-        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Datagatherer/occiCollectorGranularity"/>
+        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Monitorableproperty/monitoringProperty"/>
       </genFeatures>
       <genFeatures createChild="false">
-        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Datagatherer/occiCollectorAccuracy"/>
+        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Monitorableproperty/monitoringResult"/>
       </genFeatures>
     </genClasses>
     <genClasses>
-      <ecoreClass href="monitoring.ecore#//Processor"/>
-    </genClasses>
-    <genClasses>
-      <ecoreClass href="monitoring.ecore#//Publisher"/>
-    </genClasses>
-    <genClasses>
-      <ecoreClass href="monitoring.ecore#//Monitoringproperties"/>
-      <genFeatures property="None" children="true" createChild="true">
-        <ecoreFeature xsi:type="ecore:EReference" href="monitoring.ecore#//Monitoringproperties/monitoringProperties"/>
+      <ecoreClass href="monitoring.ecore#//Occiresultprovider"/>
+      <genFeatures createChild="false">
+        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Occiresultprovider/resultProviderEndpoint"/>
       </genFeatures>
     </genClasses>
   </genPackages>
diff --git a/de.ugoe.cs.rwm.mocci.model/model/monitoring.occie b/de.ugoe.cs.rwm.mocci.model/model/monitoring.occie
index 4cd16a311c2007d00915a77d076465666a5e17e6..50658e2e70d5246aede87f548c4c68ed65856115 100644
--- a/de.ugoe.cs.rwm.mocci.model/model/monitoring.occie
+++ b/de.ugoe.cs.rwm.mocci.model/model/monitoring.occie
@@ -3,37 +3,25 @@
   <import href="http://schemas.modmacao.org/occi/platform#/"/>
   <import href="http://schemas.ogf.org/occi/core#/"/>
   <kinds name="Sensor" scheme="http://schemas.ugoe.cs.rwm/monitoring#" title="Sensor Component">
-    <attributes name="occi.sensor.timebase" mutable="true" description="Base time reference (ISO8601)" type="//@types.0"/>
-    <attributes name="occi.sensor.timestart" mutable="true" description="Start time offset (seconds)" type="//@types.1"/>
-    <attributes name="occi.sensor.timestop" mutable="true" type="//@types.1"/>
-    <attributes name="occi.sensor.period" mutable="true" required="true" description="Time between two following measurements (seconds)" type="//@types.1"/>
-    <attributes name="occi.sensor.granularity" mutable="true" description="Granularity of time measument (seconds)" type="//@types.1"/>
-    <attributes name="occi.sensor.accuracy" mutable="true" description="Accuracy of time measument (seconds)" type="//@types.1"/>
     <parent href="http://schemas.modmacao.org/occi/platform#//@kinds[term='application']"/>
   </kinds>
   <kinds name="DataGatherer" scheme="http://schemas.ugoe.cs.rwm/monitoring#" title="DataGatherer Resource">
-    <attributes name="occi.collector.period" mutable="true" required="true" description="Time between two following measurements (seconds)." type="//@types.1"/>
-    <attributes name="occi.collector.granularity" mutable="true" description="Granularity of time measurement (seconds)." type="//@types.1"/>
-    <attributes name="occi.collector.accuracy" mutable="true" description="Accuracy of time measurement (seconds)." type="//@types.1"/>
     <parent href="http://schemas.modmacao.org/occi/platform#//@kinds[term='component']"/>
   </kinds>
-  <kinds name="Processor" scheme="http://schemas.ugoe.cs.rwm/monitoring#" title="Processor Resource">
+  <kinds name="DataProcessor" scheme="http://schemas.ugoe.cs.rwm/monitoring#" title="DataProcessor Resource">
     <parent href="http://schemas.modmacao.org/occi/platform#//@kinds[term='component']"/>
   </kinds>
-  <kinds name="Publisher" scheme="http://schemas.ugoe.cs.rwm/monitoring#" title="Publisher Resource">
+  <kinds name="ResultProvider" scheme="http://schemas.ugoe.cs.rwm/monitoring#" title="Publisher Resource">
     <parent href="http://schemas.modmacao.org/occi/platform#//@kinds[term='component']"/>
   </kinds>
-  <mixins name="MonitoringProperties" scheme="http://schemas.ugoe.cs.rwm/monitoring#" title="MonitoringProperty Mixin">
-    <attributes name="monitoring.properties" mutable="true" type="//@types.4"/>
-    <applies href="http://schemas.ogf.org/occi/core#//@kinds[term='resource']"/>
+  <kinds name="MonitorableProperty" scheme="http://schemas.ugoe.cs.rwm/monitoring#" title="MonitorableProperty Component" target="//@kinds[term='sensor']">
+    <attributes name="monitoring.property" mutable="false" required="true" description="" type="//@types.0"/>
+    <attributes name="monitoring.result" mutable="true" description="" type="//@types.0"/>
+    <parent href="http://schemas.ogf.org/occi/core#//@kinds[term='link']"/>
+    <source href="http://schemas.ogf.org/occi/core#//@kinds[term='resource']"/>
+  </kinds>
+  <mixins name="OCCIResultProvider" scheme="http://schemas.ugoe.cs.rwm/monitoring#" title="OCCIResultProvider Mixin" applies="//@kinds[term='resultprovider']">
+    <attributes name="result.provider.endpoint" mutable="true" required="true" description="Genereic address to be used by the result provider." type="//@types.0"/>
   </mixins>
-  <types xsi:type="occi:StringType" name="DateTime" pattern="^(\d{4}((-)?(0[1-9]|1[0-2])((-)?(0[1-9]|[1-2][0-9]|3[0-1])(T(24:00(:00(\.[0]+)?)?|(([0-1][0-9]|2[0-3])(:)[0-5][0-9])((:)[0-5][0-9](\.[\d]+)?)?)((\+|-)(14:00|(0[0-9]|1[0-3])(:)[0-5][0-9])|Z))?)?)?)$"/>
-  <types xsi:type="occi:StringType" name="Second"/>
   <types xsi:type="occi:StringType" name="String"/>
-  <types xsi:type="occi:RecordType" name="MonitoringProperty">
-    <recordFields name="name" mutable="true" type="//@types.2"/>
-    <recordFields name="value" mutable="true" type="//@types.2"/>
-    <recordFields name="Id" mutable="true" type="//@types.2"/>
-  </types>
-  <types xsi:type="occi:ArrayType" name="MonitoringPropertyArray" type="//@types.3"/>
 </occi:Extension>
diff --git a/de.ugoe.cs.rwm.mocci.model/new Extension diagram2.svg b/de.ugoe.cs.rwm.mocci.model/new Extension diagram2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fc6f2368bb088b05ef0cb8d398ed04ac54224971
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.model/new Extension diagram2.svg	
@@ -0,0 +1,698 @@
+<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-dasharray="none" shape-rendering="auto" font-family="'Dialog'" width="1276" text-rendering="auto" fill-opacity="1" contentScriptType="text/ecmascript" color-interpolation="auto" color-rendering="auto" preserveAspectRatio="xMidYMid meet" font-size="12" viewBox="0 0 1276 629" fill="black" stroke="black" image-rendering="auto" stroke-miterlimit="10" zoomAndPan="magnify" version="1.0" stroke-linecap="square" stroke-linejoin="miter" contentStyleType="text/css" font-style="normal" height="629" stroke-width="1" stroke-dashoffset="0" font-weight="normal" stroke-opacity="1">
+<!--Generated by the Batik Graphics2D SVG Generator-->
+<defs id="genericDefs"/>
+<g>
+<defs id="defs1">
+<linearGradient x1="298" x2="788" y1="82" gradientUnits="userSpaceOnUse" y2="82" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient1" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="white" offset="0%"/>
+<stop stop-opacity="1" stop-color="rgb(214,214,214)" offset="100%"/>
+</linearGradient>
+<linearGradient x1="334" x2="334" y1="118" gradientUnits="userSpaceOnUse" y2="309" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient2" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="rgb(187,242,196)" offset="0%"/>
+<stop stop-opacity="1" stop-color="white" offset="100%"/>
+</linearGradient>
+<linearGradient x1="550" x2="550" y1="118" gradientUnits="userSpaceOnUse" y2="261" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient3" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="rgb(187,242,196)" offset="0%"/>
+<stop stop-opacity="1" stop-color="white" offset="100%"/>
+</linearGradient>
+<linearGradient x1="298" x2="298" y1="334" gradientUnits="userSpaceOnUse" y2="461" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient4" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="rgb(187,242,196)" offset="0%"/>
+<stop stop-opacity="1" stop-color="white" offset="100%"/>
+</linearGradient>
+<linearGradient x1="730" x2="730" y1="334" gradientUnits="userSpaceOnUse" y2="413" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient5" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="rgb(187,242,196)" offset="0%"/>
+<stop stop-opacity="1" stop-color="white" offset="100%"/>
+</linearGradient>
+<linearGradient x1="694" x2="694" y1="380" gradientUnits="userSpaceOnUse" y2="427" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient6" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="rgb(187,242,196)" offset="0%"/>
+<stop stop-opacity="1" stop-color="white" offset="100%"/>
+</linearGradient>
+<linearGradient x1="550" x2="550" y1="334" gradientUnits="userSpaceOnUse" y2="381" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient7" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="rgb(187,242,196)" offset="0%"/>
+<stop stop-opacity="1" stop-color="white" offset="100%"/>
+</linearGradient>
+<linearGradient x1="958" x2="1264" y1="82" gradientUnits="userSpaceOnUse" y2="82" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient8" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="white" offset="0%"/>
+<stop stop-opacity="1" stop-color="rgb(214,214,214)" offset="100%"/>
+</linearGradient>
+<linearGradient x1="982" x2="982" y1="110" gradientUnits="userSpaceOnUse" y2="173" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient9" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="rgb(187,242,196)" offset="0%"/>
+<stop stop-opacity="1" stop-color="white" offset="100%"/>
+</linearGradient>
+<linearGradient x1="1119" x2="1119" y1="136" gradientUnits="userSpaceOnUse" y2="183" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient10" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="rgb(187,242,196)" offset="0%"/>
+<stop stop-opacity="1" stop-color="white" offset="100%"/>
+</linearGradient>
+<linearGradient x1="154" x2="154" y1="526" gradientUnits="userSpaceOnUse" y2="589" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient11" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="rgb(187,242,196)" offset="0%"/>
+<stop stop-opacity="1" stop-color="white" offset="100%"/>
+</linearGradient>
+<linearGradient x1="526" x2="526" y1="538" gradientUnits="userSpaceOnUse" y2="617" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient12" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="rgb(187,221,255)" offset="0%"/>
+<stop stop-opacity="1" stop-color="white" offset="100%"/>
+</linearGradient>
+<linearGradient x1="10" x2="108" y1="69" gradientUnits="userSpaceOnUse" y2="140" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient13" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="white" offset="0%"/>
+<stop stop-opacity="1" stop-color="rgb(255,250,191)" offset="100%"/>
+</linearGradient>
+<linearGradient x1="10" x2="108" y1="-3" gradientUnits="userSpaceOnUse" y2="68" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient14" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="white" offset="0%"/>
+<stop stop-opacity="1" stop-color="rgb(255,250,191)" offset="100%"/>
+</linearGradient>
+<linearGradient x1="166" x2="264" y1="-3" gradientUnits="userSpaceOnUse" y2="68" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient15" xlink:show="other" spreadMethod="pad">
+<stop stop-opacity="1" stop-color="white" offset="0%"/>
+<stop stop-opacity="1" stop-color="rgb(255,250,191)" offset="100%"/>
+</linearGradient>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
+<path d="M297 81 L791 81 L791 320 L297 320 L297 81 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
+<path d="M297 81 L789 81 L789 318 L297 318 L297 81 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
+<path d="M498 86 L588 86 L588 106 L498 106 L498 86 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
+<path d="M498 86 L592 86 L592 106 L498 106 L498 86 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
+<path d="M333 117 L524 117 L524 312 L333 312 L333 117 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
+<path d="M333 117 L522 117 L522 310 L333 310 L333 117 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
+<path d="M381 122 L477 122 L477 142 L381 142 L381 122 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
+<path d="M338 147 L478 147 L478 165 L338 165 L338 147 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
+<path d="M338 147 L481 147 L481 165 L338 165 L338 147 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
+<path d="M338 163 L487 163 L487 181 L338 181 L338 163 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
+<path d="M338 163 L490 163 L490 181 L338 181 L338 163 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
+<path d="M338 179 L461 179 L461 197 L338 197 L338 179 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
+<path d="M338 179 L464 179 L464 197 L338 197 L338 179 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
+<path d="M338 195 L488 195 L488 213 L338 213 L338 195 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
+<path d="M338 195 L490 195 L490 213 L338 213 L338 195 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
+<path d="M338 211 L517 211 L517 229 L338 229 L338 211 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
+<path d="M338 211 L519 211 L519 229 L338 229 L338 211 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
+<path d="M338 227 L409 227 L409 245 L338 245 L338 227 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
+<path d="M338 227 L412 227 L412 245 L338 245 L338 227 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
+<path d="M338 243 L423 243 L423 261 L338 261 L338 243 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
+<path d="M338 243 L426 243 L426 261 L338 261 L338 243 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
+<path d="M338 259 L424 259 L424 277 L338 277 L338 259 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
+<path d="M338 259 L426 259 L426 277 L338 277 L338 259 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
+<path d="M338 275 L396 275 L396 293 L338 293 L338 275 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
+<path d="M338 275 L398 275 L398 293 L338 293 L338 275 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
+<path d="M338 291 L395 291 L395 309 L338 309 L338 291 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
+<path d="M338 291 L398 291 L398 309 L338 309 L338 291 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath28">
+<path d="M334 145 L521 145 L521 309 L334 309 L334 145 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath29">
+<path d="M549 117 L783 117 L783 264 L549 264 L549 117 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath30">
+<path d="M549 117 L781 117 L781 262 L549 262 L549 117 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath31">
+<path d="M620 122 L714 122 L714 142 L620 142 L620 122 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath32">
+<path d="M554 147 L745 147 L745 165 L554 165 L554 147 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath33">
+<path d="M554 147 L748 147 L748 165 L554 165 L554 147 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath34">
+<path d="M554 163 L776 163 L776 181 L554 181 L554 163 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath35">
+<path d="M554 163 L778 163 L778 181 L554 181 L554 163 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath36">
+<path d="M554 179 L625 179 L625 197 L554 197 L554 179 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath37">
+<path d="M554 179 L628 179 L628 197 L554 197 L554 179 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath38">
+<path d="M554 195 L639 195 L639 213 L554 213 L554 195 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath39">
+<path d="M554 195 L642 195 L642 213 L554 213 L554 195 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath40">
+<path d="M554 211 L640 211 L640 229 L554 229 L554 211 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath41">
+<path d="M554 211 L642 211 L642 229 L554 229 L554 211 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath42">
+<path d="M554 227 L612 227 L612 245 L554 245 L554 227 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath43">
+<path d="M554 227 L614 227 L614 245 L554 245 L554 227 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath44">
+<path d="M554 243 L611 243 L611 261 L554 261 L554 243 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath45">
+<path d="M554 243 L614 243 L614 261 L554 261 L554 243 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath46">
+<path d="M550 145 L780 145 L780 261 L550 261 L550 145 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath47">
+<path d="M297 333 L513 333 L513 464 L297 464 L297 333 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath48">
+<path d="M297 333 L511 333 L511 462 L297 462 L297 333 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath49">
+<path d="M377 338 L435 338 L435 358 L377 358 L377 338 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath50">
+<path d="M302 363 L506 363 L506 381 L302 381 L302 363 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath51">
+<path d="M302 363 L509 363 L509 381 L302 381 L302 363 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath52">
+<path d="M302 379 L493 379 L493 397 L302 397 L302 379 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath53">
+<path d="M302 379 L495 379 L495 397 L302 397 L302 379 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath54">
+<path d="M302 395 L492 395 L492 413 L302 413 L302 395 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath55">
+<path d="M302 395 L495 395 L495 413 L302 413 L302 395 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath56">
+<path d="M302 411 L489 411 L489 429 L302 429 L302 411 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath57">
+<path d="M302 411 L492 411 L492 429 L302 429 L302 411 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath58">
+<path d="M302 427 L503 427 L503 445 L302 445 L302 427 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath59">
+<path d="M302 427 L505 427 L505 445 L302 445 L302 427 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath60">
+<path d="M302 443 L489 443 L489 461 L302 461 L302 443 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath61">
+<path d="M302 443 L491 443 L491 461 L302 461 L302 443 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath62">
+<path d="M298 361 L510 361 L510 461 L298 461 L298 361 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath63">
+<path d="M729 333 L956 333 L956 416 L729 416 L729 333 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath64">
+<path d="M729 333 L954 333 L954 414 L729 414 L729 333 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath65">
+<path d="M788 338 L899 338 L899 358 L788 358 L788 338 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath66">
+<path d="M734 363 L937 363 L937 381 L734 381 L734 363 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath67">
+<path d="M734 363 L940 363 L940 381 L734 381 L734 363 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath68">
+<path d="M734 379 L949 379 L949 397 L734 397 L734 379 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath69">
+<path d="M734 379 L951 379 L951 397 L734 397 L734 379 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath70">
+<path d="M734 395 L935 395 L935 413 L734 413 L734 395 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath71">
+<path d="M734 395 L937 395 L937 413 L734 413 L734 395 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath72">
+<path d="M730 361 L953 361 L953 413 L730 413 L730 361 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath73">
+<path d="M693 379 L867 379 L867 430 L693 430 L693 379 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath74">
+<path d="M693 379 L865 379 L865 428 L693 428 L693 379 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath75">
+<path d="M739 384 L822 384 L822 404 L739 404 L739 384 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath76">
+<path d="M698 409 L860 409 L860 427 L698 427 L698 409 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath77">
+<path d="M698 409 L862 409 L862 427 L698 427 L698 409 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath78">
+<path d="M694 407 L864 407 L864 427 L694 427 L694 407 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath79">
+<path d="M549 333 L746 333 L746 384 L549 384 L549 333 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath80">
+<path d="M549 333 L744 333 L744 382 L549 382 L549 333 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath81">
+<path d="M609 338 L687 338 L687 358 L609 358 L609 338 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath82">
+<path d="M554 363 L739 363 L739 381 L554 381 L554 363 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath83">
+<path d="M554 363 L742 363 L742 381 L554 381 L554 363 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath84">
+<path d="M550 361 L743 361 L743 381 L550 381 L550 361 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath85">
+<path d="M957 81 L1267 81 L1267 194 L957 194 L957 81 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath86">
+<path d="M957 81 L1265 81 L1265 192 L957 192 L957 81 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath87">
+<path d="M1083 86 L1138 86 L1138 106 L1083 106 L1083 86 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath88">
+<path d="M1083 86 L1142 86 L1142 106 L1083 106 L1083 86 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath89">
+<path d="M981 109 L1093 109 L1093 176 L981 176 L981 109 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath90">
+<path d="M981 109 L1091 109 L1091 174 L981 174 L981 109 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath91">
+<path d="M1011 114 L1063 114 L1063 134 L1011 134 L1011 114 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath92">
+<path d="M986 139 L1074 139 L1074 157 L986 157 L986 139 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath93">
+<path d="M986 139 L1076 139 L1076 157 L986 157 L986 139 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath94">
+<path d="M986 155 L1086 155 L1086 173 L986 173 L986 155 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath95">
+<path d="M986 155 L1088 155 L1088 173 L986 173 L986 155 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath96">
+<path d="M982 137 L1090 137 L1090 173 L982 173 L982 137 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath97">
+<path d="M1118 135 L1259 135 L1259 186 L1118 186 L1118 135 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath98">
+<path d="M1118 135 L1257 135 L1257 184 L1118 184 L1118 135 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath99">
+<path d="M1151 140 L1228 140 L1228 160 L1151 160 L1151 140 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath100">
+<path d="M1123 165 L1252 165 L1252 183 L1123 183 L1123 165 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath101">
+<path d="M1123 165 L1255 165 L1255 183 L1123 183 L1123 165 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath102">
+<path d="M1119 163 L1256 163 L1256 183 L1119 183 L1119 163 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath103">
+<path d="M153 525 L386 525 L386 592 L153 592 L153 525 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath104">
+<path d="M153 525 L384 525 L384 590 L153 590 L153 525 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath105">
+<path d="M190 530 L351 530 L351 550 L190 550 L190 530 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath106">
+<path d="M158 555 L379 555 L379 573 L158 573 L158 555 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath107">
+<path d="M158 555 L382 555 L382 573 L158 573 L158 555 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath108">
+<path d="M158 571 L375 571 L375 589 L158 589 L158 571 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath109">
+<path d="M158 571 L377 571 L377 589 L158 589 L158 571 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath110">
+<path d="M154 553 L383 553 L383 589 L154 589 L154 553 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath111">
+<path d="M525 537 L778 537 L778 620 L525 620 L525 537 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath112">
+<path d="M525 537 L776 537 L776 618 L525 618 L525 537 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath113">
+<path d="M595 542 L710 542 L710 562 L595 562 L595 542 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath114">
+<path d="M530 567 L751 567 L751 585 L530 585 L530 567 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath115">
+<path d="M530 567 L754 567 L754 585 L530 585 L530 567 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath116">
+<path d="M530 583 L726 583 L726 601 L530 601 L530 583 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath117">
+<path d="M530 583 L728 583 L728 601 L530 601 L530 583 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath118">
+<path d="M530 599 L771 599 L771 617 L530 617 L530 599 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath119">
+<path d="M530 599 L774 599 L774 617 L530 617 L530 599 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath120">
+<path d="M526 565 L775 565 L775 617 L526 617 L526 565 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath121">
+<path d="M9 81 L111 81 L111 130 L9 130 L9 81 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath122">
+<path d="M9 81 L109 81 L109 128 L9 128 L9 81 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath123">
+<path d="M20 86 L101 86 L101 106 L20 106 L20 86 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath124">
+<path d="M14 111 L106 111 L106 127 L14 127 L14 111 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath125">
+<path d="M10 109 L108 109 L108 127 L10 127 L10 109 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath126">
+<path d="M9 9 L111 9 L111 58 L9 58 L9 9 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath127">
+<path d="M9 9 L109 9 L109 56 L9 56 L9 9 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath128">
+<path d="M30 14 L91 14 L91 34 L30 34 L30 14 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath129">
+<path d="M14 39 L106 39 L106 55 L14 55 L14 39 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath130">
+<path d="M10 37 L108 37 L108 55 L10 55 L10 37 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath131">
+<path d="M165 9 L267 9 L267 58 L165 58 L165 9 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath132">
+<path d="M165 9 L265 9 L265 56 L165 56 L165 9 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath133">
+<path d="M190 14 L242 14 L242 34 L190 34 L190 14 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath134">
+<path d="M170 39 L262 39 L262 55 L170 55 L170 39 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath135">
+<path d="M166 37 L264 37 L264 55 L166 55 L166 37 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath136">
+<path d="M-1 -1 L1277 -1 L1277 630 L-1 630 L-1 -1 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath137">
+<path d="M1088 145 L1101 145 L1101 158 L1088 158 L1088 145 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath138">
+<path d="M731 259 L744 259 L744 273 L731 273 L731 259 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath139">
+<path d="M408 307 L421 307 L421 320 L408 320 L408 307 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath140">
+<path d="M680 259 L693 259 L693 273 L680 273 L680 259 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath141">
+<path d="M624 259 L636 259 L636 273 L624 273 L624 259 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath142">
+<path d="M642 379 L653 379 L653 391 L642 391 L642 379 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath143">
+<path d="M318 475 L363 475 L363 491 L318 491 L318 475 Z"/>
+</clipPath>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath144">
+<path d="M395 459 L408 459 L408 470 L395 470 L395 459 Z"/>
+</clipPath>
+</defs>
+<g font-size="16" fill="rgb(131,122,133)" font-family="'Ubuntu'" stroke-linejoin="round" stroke="rgb(131,122,133)" font-weight="bold" stroke-width="0" stroke-miterlimit="0">
+<rect x="299" y="83" clip-path="url(#clipPath1)" width="490" rx="0" opacity="0.2549" ry="0" height="235" stroke="none"/>
+<rect x="300" y="84" clip-path="url(#clipPath1)" width="490" rx="0" opacity="0.2549" ry="0" height="235" stroke="none"/>
+<rect x="298" y="82" clip-path="url(#clipPath2)" fill="url(#linearGradient1)" width="490" rx="0" ry="0" height="235" stroke="none"/>
+</g>
+<g stroke-width="1.1" font-size="16" font-family="'Ubuntu'" font-weight="bold" stroke-linecap="butt">
+<rect x="298" y="82" clip-path="url(#clipPath2)" fill="none" width="489" rx="0" ry="0" height="234"/>
+<image x="499" y="88" clip-path="url(#clipPath3)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAXUlEQVR42mNgGPKA&#10;EUTExsb+x6Vg8eLFjPgMYIExFi1ahCEZFxdHuQvwAZDr4C5obW0lSXN1dTWqF0CA&#10;n5+fZFcwURoLKC5gYWGhzABGRkbKDGBiYiLfAFiojkAAAOmKD9Q+w1PmAAAAAElF&#10;TkSuQmCC" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/>
+<text xml:space="preserve" x="518" y="102" clip-path="url(#clipPath4)" stroke="none">platform</text>
+<rect x="335" y="119" clip-path="url(#clipPath5)" fill="rgb(131,122,133)" width="187" rx="4" opacity="0.2549" ry="4" height="191" stroke="none"/>
+<rect x="336" y="120" clip-path="url(#clipPath5)" fill="rgb(131,122,133)" width="187" rx="4" opacity="0.2549" ry="4" height="191" stroke="none"/>
+<rect x="334" y="118" clip-path="url(#clipPath6)" fill="url(#linearGradient2)" width="187" rx="4" ry="4" height="191" stroke="none"/>
+<rect x="334" y="118" clip-path="url(#clipPath6)" fill="none" width="186" rx="4" ry="4" height="190" stroke="rgb(0,47,0)"/>
+<text xml:space="preserve" x="382" y="138" clip-path="url(#clipPath7)" stroke="none">Application</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath8)" preserveAspectRatio="none" height="16" x="339" y="148" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="358" font-size="13" y="162" clip-path="url(#clipPath9)" stroke="none" xml:space="preserve">occi.app.name: null</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath10)" preserveAspectRatio="none" height="16" font-style="italic" x="339" y="164" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="358" font-size="13" y="178" clip-path="url(#clipPath11)" font-style="italic" stroke="none" xml:space="preserve">occi.app.context: URL</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath12)" preserveAspectRatio="none" height="16" font-style="italic" x="339" y="180" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="358" font-size="13" y="194" clip-path="url(#clipPath13)" font-style="italic" stroke="none" xml:space="preserve">occi.app.url: URL</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath14)" preserveAspectRatio="none" height="16" font-style="italic" x="339" y="196" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="358" font-size="13" y="210" clip-path="url(#clipPath15)" font-style="italic" stroke="none" xml:space="preserve">occi.app.state: Status</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath16)" preserveAspectRatio="none" font-weight="normal" height="16" font-style="italic" x="339" y="212" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="358" font-size="13" y="226" clip-path="url(#clipPath17)" font-style="italic" stroke="none" font-weight="normal" xml:space="preserve">occi.app.state.message: null</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath18)" preserveAspectRatio="none" font-weight="normal" height="16" x="339" y="228" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUElEQVR42s1TsY6C&#10;QBB9cBYUFP6MtRXfIIkfAJWGUGtAa0M0/o2hovAnCJ3EANFILCjQPWaCRE683F11&#10;WzA7b+a9md0dgH+7LMsSlRHT6VR8lyd3kWjveR6EEFiv14+wqOPdAlTpQaLk4/HI&#10;eJIk7BNO8a8dSU97UZOfAUiS1MJqX+oSYE6e57jf79hsNgzcbjfYts1Yv99/4ciP&#10;9okcBAHO5zO22y0T5vM5VySxy+UCilNeJShaAnRRvu+jLEuEYcjWcRw+AlnyoyhC&#10;URTY7XZYrVZNBx/0qRQd0zQxGAwYTNMUmqZhOBxisVhwF4qi4HA4QNd1PtJ+v3c7&#10;74DapYrX67UBVVVFr9fDZDJ54bReYTab8dllWW6/deWTKNnlctniNZmGYXDwdDqx&#10;jeMYWZbxHLiu2+DVML0fy9Fo1Ewi2fF43PKfb//H/8KvSH9Zny/Wwn+ks4LSAAAA&#10;AElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="358" font-size="13" y="242" clip-path="url(#clipPath19)" stroke="none" font-weight="normal" xml:space="preserve">deploy()</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath20)" preserveAspectRatio="none" font-weight="normal" height="16" x="339" y="244" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUElEQVR42s1TsY6C&#10;QBB9cBYUFP6MtRXfIIkfAJWGUGtAa0M0/o2hovAnCJ3EANFILCjQPWaCRE683F11&#10;WzA7b+a9md0dgH+7LMsSlRHT6VR8lyd3kWjveR6EEFiv14+wqOPdAlTpQaLk4/HI&#10;eJIk7BNO8a8dSU97UZOfAUiS1MJqX+oSYE6e57jf79hsNgzcbjfYts1Yv99/4ciP&#10;9okcBAHO5zO22y0T5vM5VySxy+UCilNeJShaAnRRvu+jLEuEYcjWcRw+AlnyoyhC&#10;URTY7XZYrVZNBx/0qRQd0zQxGAwYTNMUmqZhOBxisVhwF4qi4HA4QNd1PtJ+v3c7&#10;74DapYrX67UBVVVFr9fDZDJ54bReYTab8dllWW6/deWTKNnlctniNZmGYXDwdDqx&#10;jeMYWZbxHLiu2+DVML0fy9Fo1Ewi2fF43PKfb//H/8KvSH9Zny/Wwn+ks4LSAAAA&#10;AElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="358" font-size="13" y="258" clip-path="url(#clipPath21)" stroke="none" font-weight="normal" xml:space="preserve">undeploy()</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath22)" preserveAspectRatio="none" font-weight="normal" height="16" x="339" y="260" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUElEQVR42s1TsY6C&#10;QBB9cBYUFP6MtRXfIIkfAJWGUGtAa0M0/o2hovAnCJ3EANFILCjQPWaCRE683F11&#10;WzA7b+a9md0dgH+7LMsSlRHT6VR8lyd3kWjveR6EEFiv14+wqOPdAlTpQaLk4/HI&#10;eJIk7BNO8a8dSU97UZOfAUiS1MJqX+oSYE6e57jf79hsNgzcbjfYts1Yv99/4ciP&#10;9okcBAHO5zO22y0T5vM5VySxy+UCilNeJShaAnRRvu+jLEuEYcjWcRw+AlnyoyhC&#10;URTY7XZYrVZNBx/0qRQd0zQxGAwYTNMUmqZhOBxisVhwF4qi4HA4QNd1PtJ+v3c7&#10;74DapYrX67UBVVVFr9fDZDJ54bReYTab8dllWW6/deWTKNnlctniNZmGYXDwdDqx&#10;jeMYWZbxHLiu2+DVML0fy9Fo1Ewi2fF43PKfb//H/8KvSH9Zny/Wwn+ks4LSAAAA&#10;AElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="358" font-size="13" y="274" clip-path="url(#clipPath23)" stroke="none" font-weight="normal" xml:space="preserve">configure()</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath24)" preserveAspectRatio="none" font-weight="normal" height="16" x="339" y="276" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUElEQVR42s1TsY6C&#10;QBB9cBYUFP6MtRXfIIkfAJWGUGtAa0M0/o2hovAnCJ3EANFILCjQPWaCRE683F11&#10;WzA7b+a9md0dgH+7LMsSlRHT6VR8lyd3kWjveR6EEFiv14+wqOPdAlTpQaLk4/HI&#10;eJIk7BNO8a8dSU97UZOfAUiS1MJqX+oSYE6e57jf79hsNgzcbjfYts1Yv99/4ciP&#10;9okcBAHO5zO22y0T5vM5VySxy+UCilNeJShaAnRRvu+jLEuEYcjWcRw+AlnyoyhC&#10;URTY7XZYrVZNBx/0qRQd0zQxGAwYTNMUmqZhOBxisVhwF4qi4HA4QNd1PtJ+v3c7&#10;74DapYrX67UBVVVFr9fDZDJ54bReYTab8dllWW6/deWTKNnlctniNZmGYXDwdDqx&#10;jeMYWZbxHLiu2+DVML0fy9Fo1Ewi2fF43PKfb//H/8KvSH9Zny/Wwn+ks4LSAAAA&#10;AElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="358" font-size="13" y="290" clip-path="url(#clipPath25)" stroke="none" font-weight="normal" xml:space="preserve">start()</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath26)" preserveAspectRatio="none" font-weight="normal" height="16" x="339" y="292" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUElEQVR42s1TsY6C&#10;QBB9cBYUFP6MtRXfIIkfAJWGUGtAa0M0/o2hovAnCJ3EANFILCjQPWaCRE683F11&#10;WzA7b+a9md0dgH+7LMsSlRHT6VR8lyd3kWjveR6EEFiv14+wqOPdAlTpQaLk4/HI&#10;eJIk7BNO8a8dSU97UZOfAUiS1MJqX+oSYE6e57jf79hsNgzcbjfYts1Yv99/4ciP&#10;9okcBAHO5zO22y0T5vM5VySxy+UCilNeJShaAnRRvu+jLEuEYcjWcRw+AlnyoyhC&#10;URTY7XZYrVZNBx/0qRQd0zQxGAwYTNMUmqZhOBxisVhwF4qi4HA4QNd1PtJ+v3c7&#10;74DapYrX67UBVVVFr9fDZDJ54bReYTab8dllWW6/deWTKNnlctniNZmGYXDwdDqx&#10;jeMYWZbxHLiu2+DVML0fy9Fo1Ewi2fF43PKfb//H/8KvSH9Zny/Wwn+ks4LSAAAA&#10;AElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="358" font-size="13" y="306" clip-path="url(#clipPath27)" stroke="none" font-weight="normal" xml:space="preserve">stop()</text>
+<line clip-path="url(#clipPath28)" fill="none" x1="335" x2="520" y1="146" y2="146" stroke="rgb(0,47,0)"/>
+<rect x="551" y="119" clip-path="url(#clipPath29)" fill="rgb(131,122,133)" width="230" rx="4" opacity="0.2549" ry="4" height="143" stroke="none"/>
+<rect x="552" y="120" clip-path="url(#clipPath29)" fill="rgb(131,122,133)" width="230" rx="4" opacity="0.2549" ry="4" height="143" stroke="none"/>
+<rect x="550" y="118" clip-path="url(#clipPath30)" fill="url(#linearGradient3)" width="230" rx="4" ry="4" height="143" stroke="none"/>
+<rect x="550" y="118" clip-path="url(#clipPath30)" fill="none" width="229" rx="4" ry="4" height="142" stroke="rgb(0,47,0)"/>
+<text xml:space="preserve" x="621" y="138" clip-path="url(#clipPath31)" stroke="none">Component</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath32)" preserveAspectRatio="none" height="16" font-style="italic" x="555" y="148" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="574" font-size="13" y="162" clip-path="url(#clipPath33)" font-style="italic" stroke="none" xml:space="preserve">occi.component.state: Status</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath34)" preserveAspectRatio="none" font-weight="normal" height="16" font-style="italic" x="555" y="164" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="574" font-size="13" y="178" clip-path="url(#clipPath35)" font-style="italic" stroke="none" font-weight="normal" xml:space="preserve">occi.component.state.message: null</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath36)" preserveAspectRatio="none" font-weight="normal" height="16" x="555" y="180" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUElEQVR42s1TsY6C&#10;QBB9cBYUFP6MtRXfIIkfAJWGUGtAa0M0/o2hovAnCJ3EANFILCjQPWaCRE683F11&#10;WzA7b+a9md0dgH+7LMsSlRHT6VR8lyd3kWjveR6EEFiv14+wqOPdAlTpQaLk4/HI&#10;eJIk7BNO8a8dSU97UZOfAUiS1MJqX+oSYE6e57jf79hsNgzcbjfYts1Yv99/4ciP&#10;9okcBAHO5zO22y0T5vM5VySxy+UCilNeJShaAnRRvu+jLEuEYcjWcRw+AlnyoyhC&#10;URTY7XZYrVZNBx/0qRQd0zQxGAwYTNMUmqZhOBxisVhwF4qi4HA4QNd1PtJ+v3c7&#10;74DapYrX67UBVVVFr9fDZDJ54bReYTab8dllWW6/deWTKNnlctniNZmGYXDwdDqx&#10;jeMYWZbxHLiu2+DVML0fy9Fo1Ewi2fF43PKfb//H/8KvSH9Zny/Wwn+ks4LSAAAA&#10;AElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="574" font-size="13" y="194" clip-path="url(#clipPath37)" stroke="none" font-weight="normal" xml:space="preserve">deploy()</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath38)" preserveAspectRatio="none" font-weight="normal" height="16" x="555" y="196" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUElEQVR42s1TsY6C&#10;QBB9cBYUFP6MtRXfIIkfAJWGUGtAa0M0/o2hovAnCJ3EANFILCjQPWaCRE683F11&#10;WzA7b+a9md0dgH+7LMsSlRHT6VR8lyd3kWjveR6EEFiv14+wqOPdAlTpQaLk4/HI&#10;eJIk7BNO8a8dSU97UZOfAUiS1MJqX+oSYE6e57jf79hsNgzcbjfYts1Yv99/4ciP&#10;9okcBAHO5zO22y0T5vM5VySxy+UCilNeJShaAnRRvu+jLEuEYcjWcRw+AlnyoyhC&#10;URTY7XZYrVZNBx/0qRQd0zQxGAwYTNMUmqZhOBxisVhwF4qi4HA4QNd1PtJ+v3c7&#10;74DapYrX67UBVVVFr9fDZDJ54bReYTab8dllWW6/deWTKNnlctniNZmGYXDwdDqx&#10;jeMYWZbxHLiu2+DVML0fy9Fo1Ewi2fF43PKfb//H/8KvSH9Zny/Wwn+ks4LSAAAA&#10;AElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="574" font-size="13" y="210" clip-path="url(#clipPath39)" stroke="none" font-weight="normal" xml:space="preserve">undeploy()</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath40)" preserveAspectRatio="none" font-weight="normal" height="16" x="555" y="212" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUElEQVR42s1TsY6C&#10;QBB9cBYUFP6MtRXfIIkfAJWGUGtAa0M0/o2hovAnCJ3EANFILCjQPWaCRE683F11&#10;WzA7b+a9md0dgH+7LMsSlRHT6VR8lyd3kWjveR6EEFiv14+wqOPdAlTpQaLk4/HI&#10;eJIk7BNO8a8dSU97UZOfAUiS1MJqX+oSYE6e57jf79hsNgzcbjfYts1Yv99/4ciP&#10;9okcBAHO5zO22y0T5vM5VySxy+UCilNeJShaAnRRvu+jLEuEYcjWcRw+AlnyoyhC&#10;URTY7XZYrVZNBx/0qRQd0zQxGAwYTNMUmqZhOBxisVhwF4qi4HA4QNd1PtJ+v3c7&#10;74DapYrX67UBVVVFr9fDZDJ54bReYTab8dllWW6/deWTKNnlctniNZmGYXDwdDqx&#10;jeMYWZbxHLiu2+DVML0fy9Fo1Ewi2fF43PKfb//H/8KvSH9Zny/Wwn+ks4LSAAAA&#10;AElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="574" font-size="13" y="226" clip-path="url(#clipPath41)" stroke="none" font-weight="normal" xml:space="preserve">configure()</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath42)" preserveAspectRatio="none" font-weight="normal" height="16" x="555" y="228" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUElEQVR42s1TsY6C&#10;QBB9cBYUFP6MtRXfIIkfAJWGUGtAa0M0/o2hovAnCJ3EANFILCjQPWaCRE683F11&#10;WzA7b+a9md0dgH+7LMsSlRHT6VR8lyd3kWjveR6EEFiv14+wqOPdAlTpQaLk4/HI&#10;eJIk7BNO8a8dSU97UZOfAUiS1MJqX+oSYE6e57jf79hsNgzcbjfYts1Yv99/4ciP&#10;9okcBAHO5zO22y0T5vM5VySxy+UCilNeJShaAnRRvu+jLEuEYcjWcRw+AlnyoyhC&#10;URTY7XZYrVZNBx/0qRQd0zQxGAwYTNMUmqZhOBxisVhwF4qi4HA4QNd1PtJ+v3c7&#10;74DapYrX67UBVVVFr9fDZDJ54bReYTab8dllWW6/deWTKNnlctniNZmGYXDwdDqx&#10;jeMYWZbxHLiu2+DVML0fy9Fo1Ewi2fF43PKfb//H/8KvSH9Zny/Wwn+ks4LSAAAA&#10;AElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="574" font-size="13" y="242" clip-path="url(#clipPath43)" stroke="none" font-weight="normal" xml:space="preserve">start()</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath44)" preserveAspectRatio="none" font-weight="normal" height="16" x="555" y="244" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUElEQVR42s1TsY6C&#10;QBB9cBYUFP6MtRXfIIkfAJWGUGtAa0M0/o2hovAnCJ3EANFILCjQPWaCRE683F11&#10;WzA7b+a9md0dgH+7LMsSlRHT6VR8lyd3kWjveR6EEFiv14+wqOPdAlTpQaLk4/HI&#10;eJIk7BNO8a8dSU97UZOfAUiS1MJqX+oSYE6e57jf79hsNgzcbjfYts1Yv99/4ciP&#10;9okcBAHO5zO22y0T5vM5VySxy+UCilNeJShaAnRRvu+jLEuEYcjWcRw+AlnyoyhC&#10;URTY7XZYrVZNBx/0qRQd0zQxGAwYTNMUmqZhOBxisVhwF4qi4HA4QNd1PtJ+v3c7&#10;74DapYrX67UBVVVFr9fDZDJ54bReYTab8dllWW6/deWTKNnlctniNZmGYXDwdDqx&#10;jeMYWZbxHLiu2+DVML0fy9Fo1Ewi2fF43PKfb//H/8KvSH9Zny/Wwn+ks4LSAAAA&#10;AElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="574" font-size="13" y="258" clip-path="url(#clipPath45)" stroke="none" font-weight="normal" xml:space="preserve">stop()</text>
+<line clip-path="url(#clipPath46)" fill="none" x1="551" x2="779" y1="146" y2="146" stroke="rgb(0,47,0)"/>
+<rect x="299" y="335" clip-path="url(#clipPath47)" fill="rgb(131,122,133)" width="212" rx="4" opacity="0.2549" ry="4" height="127" stroke="none"/>
+<rect x="300" y="336" clip-path="url(#clipPath47)" fill="rgb(131,122,133)" width="212" rx="4" opacity="0.2549" ry="4" height="127" stroke="none"/>
+<rect x="298" y="334" clip-path="url(#clipPath48)" fill="url(#linearGradient4)" width="212" rx="4" ry="4" height="127" stroke="none"/>
+<rect x="298" y="334" clip-path="url(#clipPath48)" fill="none" width="211" rx="4" ry="4" height="126" stroke="rgb(0,47,0)"/>
+<text xml:space="preserve" x="378" y="354" clip-path="url(#clipPath49)" stroke="none">Sensor</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath50)" preserveAspectRatio="none" font-weight="normal" height="16" x="303" y="364" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="322" font-size="13" y="378" clip-path="url(#clipPath51)" stroke="none" font-weight="normal" xml:space="preserve">occi.sensor.timebase: DateTime</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath52)" preserveAspectRatio="none" font-weight="normal" height="16" x="303" y="380" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="322" font-size="13" y="394" clip-path="url(#clipPath53)" stroke="none" font-weight="normal" xml:space="preserve">occi.sensor.timestart: Second</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath54)" preserveAspectRatio="none" font-weight="normal" height="16" x="303" y="396" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="322" font-size="13" y="410" clip-path="url(#clipPath55)" stroke="none" font-weight="normal" xml:space="preserve">occi.sensor.timestop: Second</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath56)" preserveAspectRatio="none" height="16" x="303" y="412" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="322" font-size="13" y="426" clip-path="url(#clipPath57)" stroke="none" xml:space="preserve">occi.sensor.period: Second</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath58)" preserveAspectRatio="none" font-weight="normal" height="16" x="303" y="428" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="322" font-size="13" y="442" clip-path="url(#clipPath59)" stroke="none" font-weight="normal" xml:space="preserve">occi.sensor.granularity: Second</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath60)" preserveAspectRatio="none" font-weight="normal" height="16" x="303" y="444" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="322" font-size="13" y="458" clip-path="url(#clipPath61)" stroke="none" font-weight="normal" xml:space="preserve">occi.sensor.accuracy: Second</text>
+<line clip-path="url(#clipPath62)" fill="none" x1="299" x2="509" y1="362" y2="362" stroke="rgb(0,47,0)"/>
+<rect x="731" y="335" clip-path="url(#clipPath63)" fill="rgb(131,122,133)" width="223" rx="4" opacity="0.2549" ry="4" height="79" stroke="none"/>
+<rect x="732" y="336" clip-path="url(#clipPath63)" fill="rgb(131,122,133)" width="223" rx="4" opacity="0.2549" ry="4" height="79" stroke="none"/>
+<rect x="730" y="334" clip-path="url(#clipPath64)" fill="url(#linearGradient5)" width="223" rx="4" ry="4" height="79" stroke="none"/>
+<rect x="730" y="334" clip-path="url(#clipPath64)" fill="none" width="222" rx="4" ry="4" height="78" stroke="rgb(0,47,0)"/>
+<text xml:space="preserve" x="789" y="354" clip-path="url(#clipPath65)" stroke="none">DataGatherer</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath66)" preserveAspectRatio="none" height="16" x="735" y="364" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="754" font-size="13" y="378" clip-path="url(#clipPath67)" stroke="none" xml:space="preserve">occi.collector.period: Second</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath68)" preserveAspectRatio="none" font-weight="normal" height="16" x="735" y="380" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="754" font-size="13" y="394" clip-path="url(#clipPath69)" stroke="none" font-weight="normal" xml:space="preserve">occi.collector.granularity: Second</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath70)" preserveAspectRatio="none" font-weight="normal" height="16" x="735" y="396" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="754" font-size="13" y="410" clip-path="url(#clipPath71)" stroke="none" font-weight="normal" xml:space="preserve">occi.collector.accuracy: Second</text>
+<line clip-path="url(#clipPath72)" fill="none" x1="731" x2="952" y1="362" y2="362" stroke="rgb(0,47,0)"/>
+<rect x="695" y="381" clip-path="url(#clipPath73)" fill="rgb(131,122,133)" width="170" rx="4" opacity="0.2549" ry="4" height="47" stroke="none"/>
+<rect x="696" y="382" clip-path="url(#clipPath73)" fill="rgb(131,122,133)" width="170" rx="4" opacity="0.2549" ry="4" height="47" stroke="none"/>
+<rect x="694" y="380" clip-path="url(#clipPath74)" fill="url(#linearGradient6)" width="170" rx="4" ry="4" height="47" stroke="none"/>
+<rect x="694" y="380" clip-path="url(#clipPath74)" fill="none" width="169" rx="4" ry="4" height="46" stroke="rgb(0,47,0)"/>
+<text xml:space="preserve" x="740" y="400" clip-path="url(#clipPath75)" stroke="none">Processor</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath76)" preserveAspectRatio="none" font-weight="normal" height="16" x="699" y="410" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="718" font-size="13" y="424" clip-path="url(#clipPath77)" stroke="none" font-weight="normal" xml:space="preserve">gatherer.address: String</text>
+<line clip-path="url(#clipPath78)" fill="none" x1="695" x2="863" y1="408" y2="408" stroke="rgb(0,47,0)"/>
+<rect x="551" y="335" clip-path="url(#clipPath79)" fill="rgb(131,122,133)" width="193" rx="4" opacity="0.2549" ry="4" height="47" stroke="none"/>
+<rect x="552" y="336" clip-path="url(#clipPath79)" fill="rgb(131,122,133)" width="193" rx="4" opacity="0.2549" ry="4" height="47" stroke="none"/>
+<rect x="550" y="334" clip-path="url(#clipPath80)" fill="url(#linearGradient7)" width="193" rx="4" ry="4" height="47" stroke="none"/>
+<rect x="550" y="334" clip-path="url(#clipPath80)" fill="none" width="192" rx="4" ry="4" height="46" stroke="rgb(0,47,0)"/>
+<text xml:space="preserve" x="610" y="354" clip-path="url(#clipPath81)" stroke="none">Publisher</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath82)" preserveAspectRatio="none" height="16" x="555" y="364" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="574" font-size="13" y="378" clip-path="url(#clipPath83)" stroke="none" xml:space="preserve">publisher.endpoint: String</text>
+<line clip-path="url(#clipPath84)" fill="none" x1="551" x2="742" y1="362" y2="362" stroke="rgb(0,47,0)"/>
+<rect x="959" y="83" clip-path="url(#clipPath85)" fill="rgb(131,122,133)" width="306" rx="0" opacity="0.2549" ry="0" height="109" stroke="none"/>
+<rect x="960" y="84" clip-path="url(#clipPath85)" fill="rgb(131,122,133)" width="306" rx="0" opacity="0.2549" ry="0" height="109" stroke="none"/>
+<rect x="958" y="82" clip-path="url(#clipPath86)" fill="url(#linearGradient8)" width="306" rx="0" ry="0" height="109" stroke="none"/>
+<rect x="958" y="82" clip-path="url(#clipPath86)" fill="none" width="305" rx="0" ry="0" height="108"/>
+<image x="1084" y="88" clip-path="url(#clipPath87)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAXUlEQVR42mNgGPKA&#10;EUTExsb+x6Vg8eLFjPgMYIExFi1ahCEZFxdHuQvwAZDr4C5obW0lSXN1dTWqF0CA&#10;n5+fZFcwURoLKC5gYWGhzABGRkbKDGBiYiLfAFiojkAAAOmKD9Q+w1PmAAAAAElF&#10;TkSuQmCC" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/>
+<text xml:space="preserve" x="1103" y="102" clip-path="url(#clipPath88)" stroke="none">core</text>
+<rect x="983" y="111" clip-path="url(#clipPath89)" fill="rgb(131,122,133)" width="108" rx="4" opacity="0.2549" ry="4" height="63" stroke="none"/>
+<rect x="984" y="112" clip-path="url(#clipPath89)" fill="rgb(131,122,133)" width="108" rx="4" opacity="0.2549" ry="4" height="63" stroke="none"/>
+<rect x="982" y="110" clip-path="url(#clipPath90)" fill="url(#linearGradient9)" width="108" rx="4" ry="4" height="63" stroke="none"/>
+<rect x="982" y="110" clip-path="url(#clipPath90)" fill="none" width="107" rx="4" ry="4" height="62" stroke="rgb(0,47,0)"/>
+<text xml:space="preserve" x="1012" y="130" clip-path="url(#clipPath91)" stroke="none">Entity</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath92)" preserveAspectRatio="none" height="16" font-style="italic" x="987" y="140" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="1006" font-size="13" y="154" clip-path="url(#clipPath93)" font-style="italic" stroke="none" xml:space="preserve">occi.core.id</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath94)" preserveAspectRatio="none" font-weight="normal" height="16" x="987" y="156" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="1006" font-size="13" y="170" clip-path="url(#clipPath95)" stroke="none" font-weight="normal" xml:space="preserve">occi.core.title</text>
+<line clip-path="url(#clipPath96)" fill="none" x1="983" x2="1089" y1="138" y2="138" stroke="rgb(0,47,0)"/>
+<rect x="1120" y="137" clip-path="url(#clipPath97)" fill="rgb(131,122,133)" width="137" rx="4" opacity="0.2549" ry="4" height="47" stroke="none"/>
+<rect x="1121" y="138" clip-path="url(#clipPath97)" fill="rgb(131,122,133)" width="137" rx="4" opacity="0.2549" ry="4" height="47" stroke="none"/>
+<rect x="1119" y="136" clip-path="url(#clipPath98)" fill="url(#linearGradient10)" width="137" rx="4" ry="4" height="47" stroke="none"/>
+<rect x="1119" y="136" clip-path="url(#clipPath98)" fill="none" width="136" rx="4" ry="4" height="46" stroke="rgb(0,47,0)"/>
+<text xml:space="preserve" x="1152" y="156" clip-path="url(#clipPath99)" stroke="none">Resource</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath100)" preserveAspectRatio="none" font-weight="normal" height="16" x="1124" y="166" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="1143" font-size="13" y="180" clip-path="url(#clipPath101)" stroke="none" font-weight="normal" xml:space="preserve">occi.core.summary</text>
+<line clip-path="url(#clipPath102)" fill="none" x1="1120" x2="1255" y1="164" y2="164" stroke="rgb(0,47,0)"/>
+<rect x="155" y="527" clip-path="url(#clipPath103)" fill="rgb(131,122,133)" width="229" rx="4" opacity="0.2549" ry="4" height="63" stroke="none"/>
+<rect x="156" y="528" clip-path="url(#clipPath103)" fill="rgb(131,122,133)" width="229" rx="4" opacity="0.2549" ry="4" height="63" stroke="none"/>
+<rect x="154" y="526" clip-path="url(#clipPath104)" fill="url(#linearGradient11)" width="229" rx="4" ry="4" height="63" stroke="none"/>
+<rect x="154" y="526" clip-path="url(#clipPath104)" fill="none" width="228" rx="4" ry="4" height="62" stroke="rgb(0,47,0)"/>
+<text xml:space="preserve" x="191" y="546" clip-path="url(#clipPath105)" stroke="none">MonitoringProperty</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath106)" preserveAspectRatio="none" height="16" font-style="italic" x="159" y="556" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="178" font-size="13" y="570" clip-path="url(#clipPath107)" font-style="italic" stroke="none" xml:space="preserve">monitoring.property.name: String</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath108)" preserveAspectRatio="none" font-weight="normal" height="16" x="159" y="572" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="178" font-size="13" y="586" clip-path="url(#clipPath109)" stroke="none" font-weight="normal" xml:space="preserve">monitoring.property.value: String</text>
+<line clip-path="url(#clipPath110)" fill="none" x1="155" x2="382" y1="554" y2="554" stroke="rgb(0,47,0)"/>
+<rect x="527" y="539" clip-path="url(#clipPath111)" fill="rgb(131,122,133)" width="249" rx="4" opacity="0.2549" ry="4" height="79" stroke="none"/>
+<rect x="528" y="540" clip-path="url(#clipPath111)" fill="rgb(131,122,133)" width="249" rx="4" opacity="0.2549" ry="4" height="79" stroke="none"/>
+<rect x="526" y="538" clip-path="url(#clipPath112)" fill="url(#linearGradient12)" width="249" rx="4" ry="4" height="79" stroke="none"/>
+<rect x="526" y="538" clip-path="url(#clipPath112)" fill="none" width="248" rx="4" ry="4" height="78" stroke="rgb(0,37,74)"/>
+<text xml:space="preserve" x="596" y="558" clip-path="url(#clipPath113)" stroke="none">MartPublisher</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath114)" preserveAspectRatio="none" height="16" font-style="italic" x="531" y="568" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="550" font-size="13" y="582" clip-path="url(#clipPath115)" font-style="italic" stroke="none" xml:space="preserve">monitoring.property.name: String</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath116)" preserveAspectRatio="none" font-weight="normal" height="16" x="531" y="584" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="550" font-size="13" y="598" clip-path="url(#clipPath117)" stroke="none" font-weight="normal" xml:space="preserve">monitoring.property.id: String</text>
+<image width="16" xlink:show="embed" xlink:type="simple" clip-path="url(#clipPath118)" preserveAspectRatio="none" height="16" font-style="italic" x="531" y="600" font-size="13" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVR42u1TwQ3D&#10;IAx0UAdgGGZiAb4RD8SXBZiJVYAowJe0IIGIkrTpt+o9fAbjM8YC4I+pmHmet28T&#10;pZQ191FMSgmEELeTOefd7wIFjLHKOWdACB38AqVUP98FQgjQWGt9WZlSWjnG2Peq&#10;tPceRr5CizvnzgXWdX0r0OJjoV0L1loghHx8xGVZ9gJN2RhzawrjTessMcZbe+3C&#10;vb+TdZvMS2T6kb/wBKduW9nDgi/SAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
+<text x="550" font-size="13" y="614" clip-path="url(#clipPath119)" font-style="italic" stroke="none" xml:space="preserve">monitoring.property.resource: String</text>
+<line clip-path="url(#clipPath120)" fill="none" x1="527" x2="774" y1="566" y2="566" stroke="rgb(0,37,74)"/>
+<rect x="11" y="83" clip-path="url(#clipPath121)" fill="rgb(131,122,133)" width="98" rx="0" opacity="0.2549" ry="0" height="45" stroke="none"/>
+<rect x="12" y="84" clip-path="url(#clipPath121)" fill="rgb(131,122,133)" width="98" rx="0" opacity="0.2549" ry="0" height="45" stroke="none"/>
+<rect x="10" y="82" clip-path="url(#clipPath122)" fill="url(#linearGradient13)" width="98" rx="0" ry="0" height="45" stroke="none"/>
+<rect x="10" y="82" clip-path="url(#clipPath122)" fill="none" width="97" rx="0" ry="0" height="44"/>
+<text xml:space="preserve" x="21" y="102" clip-path="url(#clipPath123)" stroke="none">DateTime</text>
+<text x="15" font-size="13" y="125" clip-path="url(#clipPath124)" font-style="italic" stroke="none" font-weight="normal" xml:space="preserve">java.lang.String</text>
+<line clip-path="url(#clipPath125)" fill="none" x1="11" x2="107" y1="110" y2="110"/>
+<rect x="11" y="11" clip-path="url(#clipPath126)" fill="rgb(131,122,133)" width="98" rx="0" opacity="0.2549" ry="0" height="45" stroke="none"/>
+<rect x="12" y="12" clip-path="url(#clipPath126)" fill="rgb(131,122,133)" width="98" rx="0" opacity="0.2549" ry="0" height="45" stroke="none"/>
+<rect x="10" y="10" clip-path="url(#clipPath127)" fill="url(#linearGradient14)" width="98" rx="0" ry="0" height="45" stroke="none"/>
+<rect x="10" y="10" clip-path="url(#clipPath127)" fill="none" width="97" rx="0" ry="0" height="44"/>
+<text xml:space="preserve" x="31" y="30" clip-path="url(#clipPath128)" stroke="none">Second</text>
+<text x="15" font-size="13" y="53" clip-path="url(#clipPath129)" font-style="italic" stroke="none" font-weight="normal" xml:space="preserve">java.lang.String</text>
+<line clip-path="url(#clipPath130)" fill="none" x1="11" x2="107" y1="38" y2="38"/>
+<rect x="167" y="11" clip-path="url(#clipPath131)" fill="rgb(131,122,133)" width="98" rx="0" opacity="0.2549" ry="0" height="45" stroke="none"/>
+<rect x="168" y="12" clip-path="url(#clipPath131)" fill="rgb(131,122,133)" width="98" rx="0" opacity="0.2549" ry="0" height="45" stroke="none"/>
+<rect x="166" y="10" clip-path="url(#clipPath132)" fill="url(#linearGradient15)" width="98" rx="0" ry="0" height="45" stroke="none"/>
+<rect x="166" y="10" clip-path="url(#clipPath132)" fill="none" width="97" rx="0" ry="0" height="44"/>
+<text xml:space="preserve" x="191" y="30" clip-path="url(#clipPath133)" stroke="none">String</text>
+<text x="171" font-size="13" y="53" clip-path="url(#clipPath134)" font-style="italic" stroke="none" font-weight="normal" xml:space="preserve">java.lang.String</text>
+<line clip-path="url(#clipPath135)" fill="none" x1="167" x2="263" y1="38" y2="38"/>
+</g>
+<g stroke-linecap="butt" font-size="11" fill="rgb(136,136,136)" font-family="'Ubuntu'" stroke="rgb(136,136,136)" stroke-width="2.1">
+<line clip-path="url(#clipPath136)" fill="none" x1="1119" x2="1090" y1="151" y2="151"/>
+<polygon fill="white" clip-path="url(#clipPath137)" points=" 1090 151 1098 147 1098 155" stroke="none"/>
+<polygon fill="none" clip-path="url(#clipPath137)" points=" 1090 151 1098 147 1098 155"/>
+<line clip-path="url(#clipPath136)" fill="none" x1="803" x2="733" y1="334" y2="261"/>
+<polygon fill="white" clip-path="url(#clipPath138)" points=" 733 261 741 264 736 270" stroke="none"/>
+<polygon fill="none" clip-path="url(#clipPath138)" points=" 733 261 741 264 736 270"/>
+<line clip-path="url(#clipPath136)" fill="none" x1="412" x2="415" y1="334" y2="309"/>
+<polygon fill="white" clip-path="url(#clipPath139)" points=" 415 309 418 317 410 316" stroke="none"/>
+<polygon fill="none" clip-path="url(#clipPath139)" points=" 415 309 418 317 410 316"/>
+<line clip-path="url(#clipPath136)" fill="none" x1="797" x2="682" y1="380" y2="261"/>
+<polygon fill="white" clip-path="url(#clipPath140)" points=" 682 261 690 264 685 270" stroke="none"/>
+<polygon fill="none" clip-path="url(#clipPath140)" points=" 682 261 690 264 685 270"/>
+<line clip-path="url(#clipPath136)" fill="none" x1="642" x2="628" y1="334" y2="261"/>
+<polygon fill="white" clip-path="url(#clipPath141)" points=" 628 261 633 268 626 270" stroke="none"/>
+<polygon fill="none" clip-path="url(#clipPath141)" points=" 628 261 633 268 626 270"/>
+<line clip-path="url(#clipPath136)" fill="none" x1="1119" x2="1090" y1="151" y2="151"/>
+<polygon fill="white" clip-path="url(#clipPath137)" points=" 1090 151 1098 147 1098 155" stroke="none"/>
+<polygon fill="none" clip-path="url(#clipPath137)" points=" 1090 151 1098 147 1098 155"/>
+<line clip-path="url(#clipPath136)" fill="none" x1="647" x2="647" y1="538" y2="381" stroke-dasharray="5,5"/>
+<line clip-path="url(#clipPath142)" fill="none" x1="650" x2="647" y1="388" y2="381"/>
+<line clip-path="url(#clipPath142)" fill="none" x1="647" x2="644" y1="381" y2="388"/>
+</g>
+<g stroke-width="2.1" font-size="13" font-family="'Ubuntu'" font-weight="bold" stroke-linecap="butt">
+<line clip-path="url(#clipPath136)" fill="none" x1="269" x2="405" y1="526" y2="461"/>
+<text xml:space="preserve" x="319" y="489" clip-path="url(#clipPath143)" stroke="none">target</text>
+<line clip-path="url(#clipPath144)" fill="none" x1="400" x2="405" y1="467" y2="461"/>
+<line clip-path="url(#clipPath144)" fill="none" x1="405" x2="397" y1="461" y2="461"/>
+</g>
+</g>
+</svg>
diff --git a/de.ugoe.cs.rwm.mocci.model/representations.aird b/de.ugoe.cs.rwm.mocci.model/representations.aird
index 8e01604e5179f9e69217c1bb077a176f4629ed70..23c7e40418cfc8e7ec27b3cab7d11836394171c7 100644
--- a/de.ugoe.cs.rwm.mocci.model/representations.aird
+++ b/de.ugoe.cs.rwm.mocci.model/representations.aird
@@ -9,11 +9,11 @@
     <semanticResources>model/monitoring.occie</semanticResources>
     <semanticResources>http://schemas.modmacao.org/occi/platform</semanticResources>
     <semanticResources>http://schemas.ogf.org/occi/core</semanticResources>
-    <semanticResources>model/monitoring.ecore</semanticResources>
-    <semanticResources>model/monitoring.genmodel</semanticResources>
     <semanticResources>build/resources/main/model/monitoring.ecore</semanticResources>
     <semanticResources>build/resources/main/model/monitoring.genmodel</semanticResources>
     <semanticResources>build/resources/main/model/monitoring.occie</semanticResources>
+    <semanticResources>model/monitoring.ecore</semanticResources>
+    <semanticResources>model/monitoring.genmodel</semanticResources>
     <ownedViews xmi:type="viewpoint:DView" xmi:id="_y2oZQPcHEeiCiOA5ZDMQdg">
       <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']"/>
       <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" xmi:id="_zR2VoPcHEeiCiOA5ZDMQdg" name="new Extension diagram" repPath="#_zIRi4PcHEeiCiOA5ZDMQdg">
@@ -445,44 +445,26 @@
           <styles xmi:type="notation:ShapeStyle" xmi:id="_zUA40fcHEeiCiOA5ZDMQdg" fontName="Ubuntu" fontHeight="12" bold="true"/>
           <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zUA40vcHEeiCiOA5ZDMQdg" x="720" y="252"/>
         </children>
-        <children xmi:type="notation:Node" xmi:id="_zUDVFPcHEeiCiOA5ZDMQdg" type="2003" element="_zRxdYPcHEeiCiOA5ZDMQdg">
-          <children xmi:type="notation:Node" xmi:id="_zUD8IPcHEeiCiOA5ZDMQdg" type="5007"/>
-          <children xmi:type="notation:Node" xmi:id="_zUD8IfcHEeiCiOA5ZDMQdg" type="7004">
-            <children xmi:type="notation:Node" xmi:id="_zVAXU_cHEeiCiOA5ZDMQdg" type="3010" element="_zRxdYvcHEeiCiOA5ZDMQdg">
-              <styles xmi:type="notation:FontStyle" xmi:id="_zVAXVPcHEeiCiOA5ZDMQdg" fontName="Ubuntu" fontHeight="10" italic="true"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_zVAXVfcHEeiCiOA5ZDMQdg"/>
-            </children>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_zUD8IvcHEeiCiOA5ZDMQdg"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_zUD8I_cHEeiCiOA5ZDMQdg"/>
-          </children>
-          <styles xmi:type="notation:ShapeStyle" xmi:id="_zUDVFfcHEeiCiOA5ZDMQdg" fontName="Ubuntu" fontHeight="12" bold="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zUDVFvcHEeiCiOA5ZDMQdg" x="156" y="54"/>
-        </children>
-        <children xmi:type="notation:Node" xmi:id="_zUD8JPcHEeiCiOA5ZDMQdg" type="2003" element="_zRxdZPcHEeiCiOA5ZDMQdg">
-          <children xmi:type="notation:Node" xmi:id="_zUD8J_cHEeiCiOA5ZDMQdg" type="5007"/>
-          <children xmi:type="notation:Node" xmi:id="_zUEjMPcHEeiCiOA5ZDMQdg" type="7004">
-            <children xmi:type="notation:Node" xmi:id="_zVAXVvcHEeiCiOA5ZDMQdg" type="3010" element="_zRxdZvcHEeiCiOA5ZDMQdg">
-              <styles xmi:type="notation:FontStyle" xmi:id="_zVAXV_cHEeiCiOA5ZDMQdg" fontName="Ubuntu" fontHeight="10" italic="true"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_zVAXWPcHEeiCiOA5ZDMQdg"/>
-            </children>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_zUEjMfcHEeiCiOA5ZDMQdg"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_zUEjMvcHEeiCiOA5ZDMQdg"/>
-          </children>
-          <styles xmi:type="notation:ShapeStyle" xmi:id="_zUD8JfcHEeiCiOA5ZDMQdg" fontName="Ubuntu" fontHeight="12" bold="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zUD8JvcHEeiCiOA5ZDMQdg" x="156"/>
-        </children>
         <children xmi:type="notation:Node" xmi:id="_Cr_IYPcIEeiCiOA5ZDMQdg" type="2003" element="_CqlaMPcIEeiCiOA5ZDMQdg">
           <children xmi:type="notation:Node" xmi:id="_Cr_vcPcIEeiCiOA5ZDMQdg" type="5007"/>
           <children xmi:type="notation:Node" xmi:id="_Cr_vcfcIEeiCiOA5ZDMQdg" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_tnRP4A9aEemWZoTWtpdGMw" type="3010" element="_tlZAkA9aEemWZoTWtpdGMw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_tnRP4Q9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="10"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_tnRP4g9aEemWZoTWtpdGMw"/>
+            </children>
             <styles xmi:type="notation:SortingStyle" xmi:id="_Cr_vcvcIEeiCiOA5ZDMQdg"/>
             <styles xmi:type="notation:FilteringStyle" xmi:id="_Cr_vc_cIEeiCiOA5ZDMQdg"/>
           </children>
           <styles xmi:type="notation:ShapeStyle" xmi:id="_Cr_IYfcIEeiCiOA5ZDMQdg" fontName="Ubuntu" fontHeight="12" bold="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cr_IYvcIEeiCiOA5ZDMQdg" x="624" y="252"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cr_IYvcIEeiCiOA5ZDMQdg" x="684" y="298"/>
         </children>
         <children xmi:type="notation:Node" xmi:id="_IhtloPcIEeiCiOA5ZDMQdg" type="2003" element="_IhgKQPcIEeiCiOA5ZDMQdg">
           <children xmi:type="notation:Node" xmi:id="_Ihtlo_cIEeiCiOA5ZDMQdg" type="5007"/>
           <children xmi:type="notation:Node" xmi:id="_IhtlpPcIEeiCiOA5ZDMQdg" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_tnR28A9aEemWZoTWtpdGMw" type="3010" element="_tla1wA9aEemWZoTWtpdGMw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_tnR28Q9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="10" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_tnR28g9aEemWZoTWtpdGMw"/>
+            </children>
             <styles xmi:type="notation:SortingStyle" xmi:id="_IhtlpfcIEeiCiOA5ZDMQdg"/>
             <styles xmi:type="notation:FilteringStyle" xmi:id="_IhtlpvcIEeiCiOA5ZDMQdg"/>
           </children>
@@ -537,65 +519,82 @@
           <styles xmi:type="notation:ShapeStyle" xmi:id="_SBkLQfcIEeiCiOA5ZDMQdg" fontName="Ubuntu" fontHeight="12" bold="true"/>
           <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SBkLQvcIEeiCiOA5ZDMQdg" x="948"/>
         </children>
-        <children xmi:type="notation:Node" xmi:id="_uIWPwPcIEeiCiOA5ZDMQdg" type="2003" element="_uHIHwPcIEeiCiOA5ZDMQdg">
-          <children xmi:type="notation:Node" xmi:id="_uIWPw_cIEeiCiOA5ZDMQdg" type="5007"/>
-          <children xmi:type="notation:Node" xmi:id="_uIWPxPcIEeiCiOA5ZDMQdg" type="7004">
-            <children xmi:type="notation:Node" xmi:id="_uIW20PcIEeiCiOA5ZDMQdg" type="3010" element="_uID74PcIEeiCiOA5ZDMQdg">
-              <styles xmi:type="notation:FontStyle" xmi:id="_uIW20fcIEeiCiOA5ZDMQdg" fontName="Ubuntu" fontHeight="10" italic="true"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_uIW20vcIEeiCiOA5ZDMQdg"/>
+        <children xmi:type="notation:Node" xmi:id="_tnAxMA9aEemWZoTWtpdGMw" type="2003" element="_tlIh4A9aEemWZoTWtpdGMw">
+          <children xmi:type="notation:Node" xmi:id="_tnIF8A9aEemWZoTWtpdGMw" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_tnItAA9aEemWZoTWtpdGMw" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_tnR28w9aEemWZoTWtpdGMw" type="3010" element="_tlK-IA9aEemWZoTWtpdGMw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_tnR29A9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="10" bold="true" italic="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_tnR29Q9aEemWZoTWtpdGMw"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_tnSeAA9aEemWZoTWtpdGMw" type="3010" element="_tlMzUA9aEemWZoTWtpdGMw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_tnSeAQ9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="10"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_tnSeAg9aEemWZoTWtpdGMw"/>
             </children>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_uIWPxfcIEeiCiOA5ZDMQdg"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_uIWPxvcIEeiCiOA5ZDMQdg"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_tnItAQ9aEemWZoTWtpdGMw"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_tnItAg9aEemWZoTWtpdGMw"/>
           </children>
-          <styles xmi:type="notation:ShapeStyle" xmi:id="_uIWPwfcIEeiCiOA5ZDMQdg" fontName="Ubuntu" fontHeight="12" bold="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uIWPwvcIEeiCiOA5ZDMQdg" x="156" y="108"/>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_tnAxMQ9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="12" bold="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tnAxMg9aEemWZoTWtpdGMw" x="144" y="444"/>
         </children>
-        <children xmi:type="notation:Node" xmi:id="_w0y1IP0tEei-2r9L9rzO0w" type="2003" element="_wzfNkP0tEei-2r9L9rzO0w">
-          <children xmi:type="notation:Node" xmi:id="_w03toP0tEei-2r9L9rzO0w" type="5007"/>
-          <children xmi:type="notation:Node" xmi:id="_w04UsP0tEei-2r9L9rzO0w" type="7004">
-            <children xmi:type="notation:Node" xmi:id="_w09NMP0tEei-2r9L9rzO0w" type="3010" element="_wzgbsP0tEei-2r9L9rzO0w">
-              <styles xmi:type="notation:FontStyle" xmi:id="_w09NMf0tEei-2r9L9rzO0w" fontName="Ubuntu" fontHeight="10" bold="true" italic="true"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_w09NMv0tEei-2r9L9rzO0w"/>
+        <children xmi:type="notation:Node" xmi:id="_tnM-cA9aEemWZoTWtpdGMw" type="2003" element="_tld5EA9aEemWZoTWtpdGMw">
+          <children xmi:type="notation:Node" xmi:id="_tnM-cw9aEemWZoTWtpdGMw" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_tnNlgA9aEemWZoTWtpdGMw" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_tnSeAw9aEemWZoTWtpdGMw" type="3010" element="_tlegIA9aEemWZoTWtpdGMw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_tnSeBA9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="10" bold="true" italic="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_tnSeBQ9aEemWZoTWtpdGMw"/>
             </children>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_w04Usf0tEei-2r9L9rzO0w"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_w04Usv0tEei-2r9L9rzO0w"/>
+            <children xmi:type="notation:Node" xmi:id="_tnTsIA9aEemWZoTWtpdGMw" type="3010" element="_tlfuQA9aEemWZoTWtpdGMw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_tnTsIQ9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="10"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_tnTsIg9aEemWZoTWtpdGMw"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_tnUTMA9aEemWZoTWtpdGMw" type="3010" element="_tloRIA9aEemWZoTWtpdGMw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_tnUTMQ9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="10" bold="true" italic="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_tnUTMg9aEemWZoTWtpdGMw"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_tnNlgQ9aEemWZoTWtpdGMw"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_tnNlgg9aEemWZoTWtpdGMw"/>
           </children>
-          <styles xmi:type="notation:ShapeStyle" xmi:id="_w0y1If0tEei-2r9L9rzO0w" fontName="Ubuntu" fontHeight="12" bold="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w0y1Iv0tEei-2r9L9rzO0w" x="950" y="132" width="303"/>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_tnM-cQ9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="12" bold="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tnM-cg9aEemWZoTWtpdGMw" x="516" y="456"/>
         </children>
-        <children xmi:type="notation:Node" xmi:id="_VZoGAAH6EemtgKPSfKVeNA" type="2003" element="_VXmswAH6EemtgKPSfKVeNA">
-          <children xmi:type="notation:Node" xmi:id="_VZsXcAH6EemtgKPSfKVeNA" type="5007"/>
-          <children xmi:type="notation:Node" xmi:id="_VZsXcQH6EemtgKPSfKVeNA" type="7004">
-            <children xmi:type="notation:Node" xmi:id="_BxEVkAH7EemtgKPSfKVeNA" type="3010" element="_BvN7cAH7EemtgKPSfKVeNA">
-              <styles xmi:type="notation:FontStyle" xmi:id="_BxEVkQH7EemtgKPSfKVeNA" fontName="Ubuntu" fontHeight="10"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_BxEVkgH7EemtgKPSfKVeNA"/>
+        <children xmi:type="notation:Node" xmi:id="_tnNlgw9aEemWZoTWtpdGMw" type="2003" element="_tlpfQA9aEemWZoTWtpdGMw">
+          <children xmi:type="notation:Node" xmi:id="_tnNlhg9aEemWZoTWtpdGMw" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_tnOMkA9aEemWZoTWtpdGMw" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_tnUTMw9aEemWZoTWtpdGMw" type="3010" element="_tlqtYg9aEemWZoTWtpdGMw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_tnUTNA9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="10" italic="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_tnUTNQ9aEemWZoTWtpdGMw"/>
             </children>
-            <children xmi:type="notation:Node" xmi:id="_C0loEAH7EemtgKPSfKVeNA" type="3010" element="_CzKrwAH7EemtgKPSfKVeNA">
-              <styles xmi:type="notation:FontStyle" xmi:id="_C0loEQH7EemtgKPSfKVeNA" fontName="Ubuntu" fontHeight="10"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_C0loEgH7EemtgKPSfKVeNA"/>
-            </children>
-            <children xmi:type="notation:Node" xmi:id="_UeQNcAH7EemtgKPSfKVeNA" type="3010" element="_UdYDsAH7EemtgKPSfKVeNA">
-              <styles xmi:type="notation:FontStyle" xmi:id="_UeQNcQH7EemtgKPSfKVeNA" fontName="Ubuntu" fontHeight="10"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_UeQNcgH7EemtgKPSfKVeNA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_tnOMkQ9aEemWZoTWtpdGMw"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_tnOMkg9aEemWZoTWtpdGMw"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_tnNlhA9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="12" bold="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tnNlhQ9aEemWZoTWtpdGMw"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_tnOMkw9aEemWZoTWtpdGMw" type="2003" element="_tlqGUQ9aEemWZoTWtpdGMw">
+          <children xmi:type="notation:Node" xmi:id="_tnOMlg9aEemWZoTWtpdGMw" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_tnOMlw9aEemWZoTWtpdGMw" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_tnU6QA9aEemWZoTWtpdGMw" type="3010" element="_tlsikA9aEemWZoTWtpdGMw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_tnU6QQ9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="10" italic="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_tnU6Qg9aEemWZoTWtpdGMw"/>
             </children>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_VZsXcgH6EemtgKPSfKVeNA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_VZsXcwH6EemtgKPSfKVeNA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_tnOMmA9aEemWZoTWtpdGMw"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_tnOMmQ9aEemWZoTWtpdGMw"/>
           </children>
-          <styles xmi:type="notation:ShapeStyle" xmi:id="_VZoGAQH6EemtgKPSfKVeNA" fontName="Ubuntu" fontHeight="12" bold="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VZoGAgH6EemtgKPSfKVeNA" x="950" y="208" width="159" height="97"/>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_tnOMlA9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="12" bold="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tnOMlQ9aEemWZoTWtpdGMw" y="-72"/>
         </children>
-        <children xmi:type="notation:Node" xmi:id="_Cp17MAH8EemtgKPSfKVeNA" type="2003" element="_ConzMAH8EemtgKPSfKVeNA">
-          <children xmi:type="notation:Node" xmi:id="_Cp2iQAH8EemtgKPSfKVeNA" type="5007"/>
-          <children xmi:type="notation:Node" xmi:id="_Cp2iQQH8EemtgKPSfKVeNA" type="7004">
-            <children xmi:type="notation:Node" xmi:id="_Cp3wYAH8EemtgKPSfKVeNA" type="3010" element="_Cpeu0AH8EemtgKPSfKVeNA">
-              <styles xmi:type="notation:FontStyle" xmi:id="_Cp3wYQH8EemtgKPSfKVeNA" fontName="Ubuntu" fontHeight="10" italic="true"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_Cp3wYgH8EemtgKPSfKVeNA"/>
+        <children xmi:type="notation:Node" xmi:id="_tnOzoA9aEemWZoTWtpdGMw" type="2003" element="_tlqtYA9aEemWZoTWtpdGMw">
+          <children xmi:type="notation:Node" xmi:id="_tnOzow9aEemWZoTWtpdGMw" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_tnOzpA9aEemWZoTWtpdGMw" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_tnVhUA9aEemWZoTWtpdGMw" type="3010" element="_tltJoA9aEemWZoTWtpdGMw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_tnVhUQ9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="10" italic="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_tnVhUg9aEemWZoTWtpdGMw"/>
             </children>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_Cp2iQgH8EemtgKPSfKVeNA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_Cp2iQwH8EemtgKPSfKVeNA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_tnOzpQ9aEemWZoTWtpdGMw"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_tnOzpg9aEemWZoTWtpdGMw"/>
           </children>
-          <styles xmi:type="notation:ShapeStyle" xmi:id="_Cp17MQH8EemtgKPSfKVeNA" fontName="Ubuntu" fontHeight="12" bold="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cp17MgH8EemtgKPSfKVeNA" x="1118" y="233"/>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_tnOzoQ9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="12" bold="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tnOzog9aEemWZoTWtpdGMw" x="156" y="-72"/>
         </children>
         <styles xmi:type="notation:DiagramStyle" xmi:id="_zTc4IvcHEeiCiOA5ZDMQdg"/>
         <edges xmi:type="notation:Edge" xmi:id="_zVrswPcHEeiCiOA5ZDMQdg" type="4001" element="_zRxda_cHEeiCiOA5ZDMQdg" source="_zUA40PcHEeiCiOA5ZDMQdg" target="_zUINkPcHEeiCiOA5ZDMQdg">
@@ -1208,17 +1207,17 @@
         </edges>
         <edges xmi:type="notation:Edge" xmi:id="_HERXQPcIEeiCiOA5ZDMQdg" type="4001" element="_HDKkAPcIEeiCiOA5ZDMQdg" source="_Cr_IYPcIEeiCiOA5ZDMQdg" target="_zUINkPcHEeiCiOA5ZDMQdg">
           <children xmi:type="notation:Node" xmi:id="_HER-UPcIEeiCiOA5ZDMQdg" type="6001">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HER-UfcIEeiCiOA5ZDMQdg" x="1" y="-4"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HER-UfcIEeiCiOA5ZDMQdg" x="3" y="-5"/>
           </children>
           <children xmi:type="notation:Node" xmi:id="_HER-UvcIEeiCiOA5ZDMQdg" type="6002">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HER-U_cIEeiCiOA5ZDMQdg" x="3" y="3"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HER-U_cIEeiCiOA5ZDMQdg" x="5" y="3"/>
           </children>
           <children xmi:type="notation:Node" xmi:id="_HER-VPcIEeiCiOA5ZDMQdg" type="6003">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HER-VfcIEeiCiOA5ZDMQdg" x="3" y="6"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HER-VfcIEeiCiOA5ZDMQdg" x="4" y="6"/>
           </children>
           <styles xmi:type="notation:ConnectorStyle" xmi:id="_HERXQfcIEeiCiOA5ZDMQdg"/>
           <styles xmi:type="notation:FontStyle" xmi:id="_HERXQvcIEeiCiOA5ZDMQdg" fontName="Ubuntu" fontHeight="8"/>
-          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HERXQ_cIEeiCiOA5ZDMQdg" points="[0, 0, 0, 73]$[0, -73, 0, 0]"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HERXQ_cIEeiCiOA5ZDMQdg" points="[0, 0, 115, 119]$[-115, -119, 0, 0]"/>
           <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HESlYPcIEeiCiOA5ZDMQdg" id="(0.6075949367088608,0.0)"/>
           <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HESlYfcIEeiCiOA5ZDMQdg" id="(0.5739130434782609,1.0)"/>
         </edges>
@@ -1366,37 +1365,53 @@
           <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SBsHEPcIEeiCiOA5ZDMQdg" id="(0.5,0.5)"/>
           <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SBsuIPcIEeiCiOA5ZDMQdg" id="(0.5,0.5)"/>
         </edges>
-        <edges xmi:type="notation:Edge" xmi:id="_Jv_egAH8EemtgKPSfKVeNA" type="4001" element="_JvyqMAH8EemtgKPSfKVeNA" source="_Cp17MAH8EemtgKPSfKVeNA" target="_VZoGAAH6EemtgKPSfKVeNA">
-          <children xmi:type="notation:Node" xmi:id="_JwAsoAH8EemtgKPSfKVeNA" type="6001">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JwAsoQH8EemtgKPSfKVeNA" x="-3" y="-6"/>
+        <edges xmi:type="notation:Edge" xmi:id="_tnn1MA9aEemWZoTWtpdGMw" visible="false" type="4001" element="_tl3hsA9aEemWZoTWtpdGMw" source="_tnAxMA9aEemWZoTWtpdGMw" target="_SBlZZ_cIEeiCiOA5ZDMQdg">
+          <children xmi:type="notation:Node" xmi:id="_tnpDUA9aEemWZoTWtpdGMw" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tnpDUQ9aEemWZoTWtpdGMw" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_tnpqYA9aEemWZoTWtpdGMw" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tnpqYQ9aEemWZoTWtpdGMw" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_tnqRcA9aEemWZoTWtpdGMw" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tnqRcQ9aEemWZoTWtpdGMw" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_tnn1MQ9aEemWZoTWtpdGMw"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_tnn1Mg9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tnn1Mw9aEemWZoTWtpdGMw" points="[0, 0, -1116, -60]$[1116, 60, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tn468A9aEemWZoTWtpdGMw" id="(0.5,0.5)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tn468Q9aEemWZoTWtpdGMw" id="(0.5,0.5)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_tn468g9aEemWZoTWtpdGMw" type="4001" element="_tl5W4A9aEemWZoTWtpdGMw" source="_tnM-cA9aEemWZoTWtpdGMw" target="_IhtloPcIEeiCiOA5ZDMQdg">
+          <children xmi:type="notation:Node" xmi:id="_tn5iAA9aEemWZoTWtpdGMw" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tn5iAQ9aEemWZoTWtpdGMw" x="12" y="5"/>
           </children>
-          <children xmi:type="notation:Node" xmi:id="_JwB6wAH8EemtgKPSfKVeNA" type="6002">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JwB6wQH8EemtgKPSfKVeNA" x="6" y="9"/>
+          <children xmi:type="notation:Node" xmi:id="_tn5iAg9aEemWZoTWtpdGMw" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tn5iAw9aEemWZoTWtpdGMw" x="-11" y="-6"/>
           </children>
-          <children xmi:type="notation:Node" xmi:id="_JwCh0AH8EemtgKPSfKVeNA" type="6003">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JwCh0QH8EemtgKPSfKVeNA" x="7" y="9"/>
+          <children xmi:type="notation:Node" xmi:id="_tn5iBA9aEemWZoTWtpdGMw" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tn5iBQ9aEemWZoTWtpdGMw" x="-11" y="-6"/>
           </children>
-          <styles xmi:type="notation:ConnectorStyle" xmi:id="_Jv_egQH8EemtgKPSfKVeNA"/>
-          <styles xmi:type="notation:FontStyle" xmi:id="_Jv_eggH8EemtgKPSfKVeNA" fontName="Ubuntu" fontHeight="8"/>
-          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jv_egwH8EemtgKPSfKVeNA" points="[-100, 0, 90, 0]$[-111, 0, 79, 0]"/>
-          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JwHaUAH8EemtgKPSfKVeNA" id="(0.5,0.5)"/>
-          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JwHaUQH8EemtgKPSfKVeNA" id="(0.5,0.5)"/>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_tn468w9aEemWZoTWtpdGMw"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_tn469A9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tn469Q9aEemWZoTWtpdGMw" points="[0, 0, 4, 157]$[-4, -157, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tn6JEA9aEemWZoTWtpdGMw" id="(0.5020080321285141,0.0)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tn6JEQ9aEemWZoTWtpdGMw" id="(0.5025906735751295,1.0)"/>
         </edges>
-        <edges xmi:type="notation:Edge" xmi:id="_0gOeYANqEem6HrygHybokg" type="4001" element="_0eHlkANqEem6HrygHybokg" source="_w0y1IP0tEei-2r9L9rzO0w" target="_SBlZYPcIEeiCiOA5ZDMQdg">
-          <children xmi:type="notation:Node" xmi:id="_0gSIwANqEem6HrygHybokg" type="6001">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0gSIwQNqEem6HrygHybokg" x="-13" y="3"/>
+        <edges xmi:type="notation:Edge" xmi:id="_tn6JEg9aEemWZoTWtpdGMw" type="4001" element="_tmwSgA9aEemWZoTWtpdGMw" source="_tnAxMA9aEemWZoTWtpdGMw" target="_zT_qsPcHEeiCiOA5ZDMQdg">
+          <children xmi:type="notation:Node" xmi:id="_tn6JFg9aEemWZoTWtpdGMw" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tn6JFw9aEemWZoTWtpdGMw" x="5" y="-9"/>
           </children>
-          <children xmi:type="notation:Node" xmi:id="_0gSv0ANqEem6HrygHybokg" type="6002">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0gSv0QNqEem6HrygHybokg" x="15" y="-5"/>
+          <children xmi:type="notation:Node" xmi:id="_tn6JGA9aEemWZoTWtpdGMw" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tn6JGQ9aEemWZoTWtpdGMw" x="-7" y="8"/>
           </children>
-          <children xmi:type="notation:Node" xmi:id="_0gTW4ANqEem6HrygHybokg" type="6003">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0gTW4QNqEem6HrygHybokg" x="-11"/>
+          <children xmi:type="notation:Node" xmi:id="_tn6JGg9aEemWZoTWtpdGMw" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tn6JGw9aEemWZoTWtpdGMw" x="-6" y="7"/>
           </children>
-          <styles xmi:type="notation:ConnectorStyle" xmi:id="_0gOeYQNqEem6HrygHybokg"/>
-          <styles xmi:type="notation:FontStyle" xmi:id="_0gOeYgNqEem6HrygHybokg" fontName="Ubuntu" fontHeight="8"/>
-          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0gOeYwNqEem6HrygHybokg" points="[1, -10, -14, 73]$[7, -41, -8, 42]"/>
-          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0gVzIANqEem6HrygHybokg" id="(0.6644518272425249,0.1694915254237288)"/>
-          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0gVzIQNqEem6HrygHybokg" id="(0.40875912408759124,0.10638297872340426)"/>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_tn6JEw9aEemWZoTWtpdGMw"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_tn6JFA9aEemWZoTWtpdGMw" fontName="Ubuntu" fontHeight="10" bold="true"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tn6JFQ9aEemWZoTWtpdGMw" points="[0, 0, -136, 65]$[136, -65, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tn6wIA9aEemWZoTWtpdGMw" id="(0.5021834061135371,0.0)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tn6wIQ9aEemWZoTWtpdGMw" id="(0.5047169811320755,1.0)"/>
         </edges>
       </data>
     </ownedAnnotationEntries>
@@ -1727,7 +1742,7 @@
           <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='EObjectTypeContainer']/@style"/>
         </ownedStyle>
         <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='EObjectTypeContainer']"/>
-        <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_zRw2XPcHEeiCiOA5ZDMQdg" name="java.net.URL" visible="false" tooltipText="org.eclipse.cmf.occi.core.impl.EObjectTypeImpl@2c5281b1 (name: URL, documentation: null) (instanceClassName: java.net.URL)">
+        <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_zRw2XPcHEeiCiOA5ZDMQdg" name="java.net.URL" visible="false" tooltipText="org.eclipse.cmf.occi.core.impl.EObjectTypeImpl@3e42c7c6 (name: URL, documentation: null) (instanceClassName: java.net.URL)">
           <target xmi:type="occi:EObjectType" href="http://schemas.modmacao.org/occi/platform#//@types.0"/>
           <semanticElements xmi:type="occi:EObjectType" href="http://schemas.modmacao.org/occi/platform#//@types.0"/>
           <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_zRw2XfcHEeiCiOA5ZDMQdg" labelSize="10" showIcon="false">
@@ -1746,7 +1761,7 @@
           <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='EObjectTypeContainer']/@style"/>
         </ownedStyle>
         <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='EObjectTypeContainer']"/>
-        <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_zRxdIvcHEeiCiOA5ZDMQdg" name="java.net.URI" visible="false" tooltipText="org.eclipse.cmf.occi.core.impl.EObjectTypeImpl@12888eb5 (name: URI, documentation: null) (instanceClassName: java.net.URI)">
+        <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_zRxdIvcHEeiCiOA5ZDMQdg" name="java.net.URI" visible="false" tooltipText="org.eclipse.cmf.occi.core.impl.EObjectTypeImpl@5dcb4826 (name: URI, documentation: null) (instanceClassName: java.net.URI)">
           <target xmi:type="occi:EObjectType" href="http://schemas.modmacao.org/occi/platform#//@types.1"/>
           <semanticElements xmi:type="occi:EObjectType" href="http://schemas.modmacao.org/occi/platform#//@types.1"/>
           <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_zRxdI_cHEeiCiOA5ZDMQdg" labelSize="10" showIcon="false">
@@ -1897,7 +1912,7 @@
         </ownedDiagramElements>
       </ownedDiagramElements>
     </ownedDiagramElements>
-    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_zRxdRPcHEeiCiOA5ZDMQdg" name="Sensor" outgoingEdges="__q-OcPcHEeiCiOA5ZDMQdg">
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_zRxdRPcHEeiCiOA5ZDMQdg" name="Sensor" outgoingEdges="__q-OcPcHEeiCiOA5ZDMQdg" incomingEdges="_tmwSgA9aEemWZoTWtpdGMw">
       <target xmi:type="occi:Kind" href="model/monitoring.occie#//@kinds[term='sensor']"/>
       <semanticElements xmi:type="occi:Kind" href="model/monitoring.occie#//@kinds[term='sensor']"/>
       <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1995,45 +2010,6 @@
         <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']/@subNodeMappings[name='KindAttribute']"/>
       </ownedElements>
     </ownedDiagramElements>
-    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_zRxdYPcHEeiCiOA5ZDMQdg" name="DateTime">
-      <target xmi:type="occi:StringType" href="model/monitoring.occie#//@types.0"/>
-      <semanticElements xmi:type="occi:StringType" href="model/monitoring.occie#//@types.0"/>
-      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
-      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
-      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
-      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_zRxdYfcHEeiCiOA5ZDMQdg" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,250,191">
-        <labelFormat>bold</labelFormat>
-        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@style"/>
-      </ownedStyle>
-      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']"/>
-      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_zRxdYvcHEeiCiOA5ZDMQdg" name="java.lang.String" tooltipText="org.eclipse.cmf.occi.core.impl.StringTypeImpl@5708121f (name: DateTime, documentation: null) (pattern: ^(\d{4}((-)?(0[1-9]|1[0-2])((-)?(0[1-9]|[1-2][0-9]|3[0-1])(T(24:00(:00(\.[0]+)?)?|(([0-1][0-9]|2[0-3])(:)[0-5][0-9])((:)[0-5][0-9](\.[\d]+)?)?)((\+|-)(14:00|(0[0-9]|1[0-3])(:)[0-5][0-9])|Z))?)?)?)$, length: &lt;unset>, minLength: &lt;unset>, maxLength: &lt;unset>)">
-        <target xmi:type="occi:StringType" href="model/monitoring.occie#//@types.0"/>
-        <semanticElements xmi:type="occi:StringType" href="model/monitoring.occie#//@types.0"/>
-        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_zRxdY_cHEeiCiOA5ZDMQdg" labelSize="10" showIcon="false">
-          <labelFormat>italic</labelFormat>
-          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@subNodeMappings[name='EC_StringType_Type']/@style"/>
-        </ownedStyle>
-        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@subNodeMappings[name='EC_StringType_Type']"/>
-      </ownedElements>
-    </ownedDiagramElements>
-    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_zRxdZPcHEeiCiOA5ZDMQdg" name="Second">
-      <target xmi:type="occi:StringType" href="model/monitoring.occie#//@types.1"/>
-      <semanticElements xmi:type="occi:StringType" href="model/monitoring.occie#//@types.1"/>
-      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_zRxdZfcHEeiCiOA5ZDMQdg" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,250,191">
-        <labelFormat>bold</labelFormat>
-        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@style"/>
-      </ownedStyle>
-      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']"/>
-      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_zRxdZvcHEeiCiOA5ZDMQdg" name="java.lang.String" tooltipText="org.eclipse.cmf.occi.core.impl.StringTypeImpl@26f9165b (name: Second, documentation: null) (pattern: null, length: &lt;unset>, minLength: &lt;unset>, maxLength: &lt;unset>)">
-        <target xmi:type="occi:StringType" href="model/monitoring.occie#//@types.1"/>
-        <semanticElements xmi:type="occi:StringType" href="model/monitoring.occie#//@types.1"/>
-        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_zRxdZ_cHEeiCiOA5ZDMQdg" labelSize="10" showIcon="false">
-          <labelFormat>italic</labelFormat>
-          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@subNodeMappings[name='EC_StringType_Type']/@style"/>
-        </ownedStyle>
-        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@subNodeMappings[name='EC_StringType_Type']"/>
-      </ownedElements>
-    </ownedDiagramElements>
     <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_zRxda_cHEeiCiOA5ZDMQdg" sourceNode="_zRxdUvcHEeiCiOA5ZDMQdg" targetNode="_zRw2LPcHEeiCiOA5ZDMQdg">
       <target xmi:type="occi:Kind" href="model/monitoring.occie#//@kinds[term='datagatherer']"/>
       <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_zRxdbPcHEeiCiOA5ZDMQdg" targetArrow="InputClosedArrow" size="2">
@@ -2435,6 +2411,14 @@
         <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']/@style"/>
       </ownedStyle>
       <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_tlZAkA9aEemWZoTWtpdGMw" name="gatherer.address: String">
+        <target xmi:type="occi:Attribute" href="model/monitoring.occie#//@kinds[term='processor']/@attributes.0"/>
+        <semanticElements xmi:type="occi:Attribute" href="model/monitoring.occie#//@kinds[term='processor']/@attributes.0"/>
+        <ownedStyle xmi:type="diagram:Square" xmi:id="_tlaOsA9aEemWZoTWtpdGMw" labelSize="10" labelAlignment="LEFT" labelPosition="node">
+          <description xmi:type="style:SquareDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']/@subNodeMappings[name='KindAttribute']/@conditionnalStyles.2/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']/@subNodeMappings[name='KindAttribute']"/>
+      </ownedElements>
     </ownedDiagramElements>
     <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_HDKkAPcIEeiCiOA5ZDMQdg" sourceNode="_CqlaMPcIEeiCiOA5ZDMQdg" targetNode="_zRw2LPcHEeiCiOA5ZDMQdg">
       <target xmi:type="occi:Kind" href="model/monitoring.occie#//@kinds[term='processor']"/>
@@ -2444,7 +2428,7 @@
       </ownedStyle>
       <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@edgeMappings[name='ParentEdge']"/>
     </ownedDiagramElements>
-    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_IhgKQPcIEeiCiOA5ZDMQdg" name="Publisher" outgoingEdges="_Ihlp0PcIEeiCiOA5ZDMQdg">
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_IhgKQPcIEeiCiOA5ZDMQdg" name="Publisher" outgoingEdges="_Ihlp0PcIEeiCiOA5ZDMQdg" incomingEdges="_tl5W4A9aEemWZoTWtpdGMw">
       <target xmi:type="occi:Kind" href="model/monitoring.occie#//@kinds[term='publisher']"/>
       <semanticElements xmi:type="occi:Kind" href="model/monitoring.occie#//@kinds[term='publisher']"/>
       <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -2455,6 +2439,15 @@
         <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']/@style"/>
       </ownedStyle>
       <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_tla1wA9aEemWZoTWtpdGMw" name="publisher.endpoint: String">
+        <target xmi:type="occi:Attribute" href="model/monitoring.occie#//@kinds[term='publisher']/@attributes.0"/>
+        <semanticElements xmi:type="occi:Attribute" href="model/monitoring.occie#//@kinds[term='publisher']/@attributes.0"/>
+        <ownedStyle xmi:type="diagram:Square" xmi:id="_tlcD4A9aEemWZoTWtpdGMw" labelSize="10" labelAlignment="LEFT" labelPosition="node">
+          <labelFormat>bold</labelFormat>
+          <description xmi:type="style:SquareDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']/@subNodeMappings[name='KindAttribute']/@conditionnalStyles.3/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']/@subNodeMappings[name='KindAttribute']"/>
+      </ownedElements>
     </ownedDiagramElements>
     <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Ihlp0PcIEeiCiOA5ZDMQdg" sourceNode="_IhgKQPcIEeiCiOA5ZDMQdg" targetNode="_zRw2LPcHEeiCiOA5ZDMQdg">
       <target xmi:type="occi:Kind" href="model/monitoring.occie#//@kinds[term='publisher']"/>
@@ -2505,7 +2498,7 @@
           <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']/@subNodeMappings[name='KindAttribute']"/>
         </ownedElements>
       </ownedDiagramElements>
-      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_SAWqUvcIEeiCiOA5ZDMQdg" name="Resource" outgoingEdges="_SBKioPcIEeiCiOA5ZDMQdg" incomingEdges="_SBLJs_cIEeiCiOA5ZDMQdg _SBLJtvcIEeiCiOA5ZDMQdg _SBddkPcIEeiCiOA5ZDMQdg _SBeEoPcIEeiCiOA5ZDMQdg _0eHlkANqEem6HrygHybokg">
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_SAWqUvcIEeiCiOA5ZDMQdg" name="Resource" outgoingEdges="_SBKioPcIEeiCiOA5ZDMQdg" incomingEdges="_SBLJs_cIEeiCiOA5ZDMQdg _SBLJtvcIEeiCiOA5ZDMQdg _SBddkPcIEeiCiOA5ZDMQdg _SBeEoPcIEeiCiOA5ZDMQdg">
         <target xmi:type="occi:Kind" href="http://schemas.ogf.org/occi/core#//@kinds[term='resource']"/>
         <semanticElements xmi:type="occi:Kind" href="http://schemas.ogf.org/occi/core#//@kinds[term='resource']"/>
         <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_SAWqU_cIEeiCiOA5ZDMQdg" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" borderColor="0,47,0" backgroundStyle="GradientTopToBottom" backgroundColor="187,242,196" foregroundColor="255,255,255">
@@ -2522,7 +2515,7 @@
           <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']/@subNodeMappings[name='KindAttribute']"/>
         </ownedElements>
       </ownedDiagramElements>
-      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_SAXRYPcIEeiCiOA5ZDMQdg" name="Link" visible="false" outgoingEdges="_SBLJsPcIEeiCiOA5ZDMQdg _SBddkPcIEeiCiOA5ZDMQdg _SBeEoPcIEeiCiOA5ZDMQdg" incomingEdges="_SBLJufcIEeiCiOA5ZDMQdg">
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_SAXRYPcIEeiCiOA5ZDMQdg" name="Link" visible="false" outgoingEdges="_SBLJsPcIEeiCiOA5ZDMQdg _SBddkPcIEeiCiOA5ZDMQdg _SBeEoPcIEeiCiOA5ZDMQdg" incomingEdges="_SBLJufcIEeiCiOA5ZDMQdg _tl3hsA9aEemWZoTWtpdGMw">
         <target xmi:type="occi:Kind" href="http://schemas.ogf.org/occi/core#//@kinds[term='link']"/>
         <semanticElements xmi:type="occi:Kind" href="http://schemas.ogf.org/occi/core#//@kinds[term='link']"/>
         <graphicalFilters xmi:type="diagram:HideFilter" xmi:id="_Uj0FkPcIEeiCiOA5ZDMQdg"/>
@@ -2604,120 +2597,156 @@
       </ownedStyle>
       <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@edgeMappings[name='TargetEdge']"/>
     </ownedDiagramElements>
-    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_uHIHwPcIEeiCiOA5ZDMQdg" name="String">
-      <target xmi:type="occi:StringType" href="model/monitoring.occie#//@types.2"/>
-      <semanticElements xmi:type="occi:StringType" href="model/monitoring.occie#//@types.2"/>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_tlIh4A9aEemWZoTWtpdGMw" name="MonitoringProperty" outgoingEdges="_tl3hsA9aEemWZoTWtpdGMw _tmwSgA9aEemWZoTWtpdGMw">
+      <target xmi:type="occi:Kind" href="model/monitoring.occie#//@kinds[term='monitoringproperty']"/>
+      <semanticElements xmi:type="occi:Kind" href="model/monitoring.occie#//@kinds[term='monitoringproperty']"/>
       <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
       <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
       <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
-      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_uHIu0PcIEeiCiOA5ZDMQdg" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,250,191">
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_tlJI8A9aEemWZoTWtpdGMw" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" borderColor="0,47,0" backgroundStyle="GradientTopToBottom" backgroundColor="187,242,196" foregroundColor="255,255,255">
         <labelFormat>bold</labelFormat>
-        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@style"/>
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']/@style"/>
       </ownedStyle>
-      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']"/>
-      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_uID74PcIEeiCiOA5ZDMQdg" name="java.lang.String" tooltipText="org.eclipse.cmf.occi.core.impl.StringTypeImpl@556ef86d (name: String, documentation: null) (pattern: null, length: &lt;unset>, minLength: &lt;unset>, maxLength: &lt;unset>)">
-        <target xmi:type="occi:StringType" href="model/monitoring.occie#//@types.2"/>
-        <semanticElements xmi:type="occi:StringType" href="model/monitoring.occie#//@types.2"/>
-        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_uID74fcIEeiCiOA5ZDMQdg" labelSize="10" showIcon="false">
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_tlK-IA9aEemWZoTWtpdGMw" name="monitoring.property.name: String">
+        <target xmi:type="occi:Attribute" href="model/monitoring.occie#//@kinds[term='monitoringproperty']/@attributes.0"/>
+        <semanticElements xmi:type="occi:Attribute" href="model/monitoring.occie#//@kinds[term='monitoringproperty']/@attributes.0"/>
+        <ownedStyle xmi:type="diagram:Square" xmi:id="_tlMMQA9aEemWZoTWtpdGMw" labelSize="10" labelAlignment="LEFT" labelPosition="node">
           <labelFormat>italic</labelFormat>
-          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@subNodeMappings[name='EC_StringType_Type']/@style"/>
+          <labelFormat>bold</labelFormat>
+          <description xmi:type="style:SquareDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']/@subNodeMappings[name='KindAttribute']/@conditionnalStyles.1/@style"/>
         </ownedStyle>
-        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@subNodeMappings[name='EC_StringType_Type']"/>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']/@subNodeMappings[name='KindAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_tlMzUA9aEemWZoTWtpdGMw" name="monitoring.property.value: String">
+        <target xmi:type="occi:Attribute" href="model/monitoring.occie#//@kinds[term='monitoringproperty']/@attributes.1"/>
+        <semanticElements xmi:type="occi:Attribute" href="model/monitoring.occie#//@kinds[term='monitoringproperty']/@attributes.1"/>
+        <ownedStyle xmi:type="diagram:Square" xmi:id="_tlOogA9aEemWZoTWtpdGMw" labelSize="10" labelAlignment="LEFT" labelPosition="node">
+          <description xmi:type="style:SquareDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']/@subNodeMappings[name='KindAttribute']/@conditionnalStyles.2/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='KindContainer']/@subNodeMappings[name='KindAttribute']"/>
       </ownedElements>
     </ownedDiagramElements>
-    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_wzfNkP0tEei-2r9L9rzO0w" name="MonitoringProperties" outgoingEdges="_0eHlkANqEem6HrygHybokg">
-      <target xmi:type="occi:Mixin" href="model/monitoring.occie#//@mixins[term='monitoringproperties']"/>
-      <semanticElements xmi:type="occi:Mixin" href="model/monitoring.occie#//@mixins[term='monitoringproperties']"/>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_tld5EA9aEemWZoTWtpdGMw" name="MartPublisher" outgoingEdges="_tl5W4A9aEemWZoTWtpdGMw">
+      <target xmi:type="occi:Mixin" href="model/monitoring.occie#//@mixins[term='martpublisher']"/>
+      <semanticElements xmi:type="occi:Mixin" href="model/monitoring.occie#//@mixins[term='martpublisher']"/>
       <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
       <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
       <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
-      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_wzf0oP0tEei-2r9L9rzO0w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" borderColor="0,37,74" backgroundStyle="GradientTopToBottom" backgroundColor="187,221,255" foregroundColor="255,255,255">
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_tld5EQ9aEemWZoTWtpdGMw" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" borderColor="0,37,74" backgroundStyle="GradientTopToBottom" backgroundColor="187,221,255" foregroundColor="255,255,255">
         <labelFormat>bold</labelFormat>
         <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='MixinContainer']/@style"/>
       </ownedStyle>
       <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='MixinContainer']"/>
-      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_wzgbsP0tEei-2r9L9rzO0w" name="monitoring.properties: MonitoringPropertyArray">
-        <target xmi:type="occi:Attribute" href="model/monitoring.occie#//@mixins[term='monitoringproperties']/@attributes.0"/>
-        <semanticElements xmi:type="occi:Attribute" href="model/monitoring.occie#//@mixins[term='monitoringproperties']/@attributes.0"/>
-        <ownedStyle xmi:type="diagram:Square" xmi:id="_L-s6AAN2Eem6HrygHybokg" labelSize="10" labelAlignment="LEFT" labelPosition="node">
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_tlegIA9aEemWZoTWtpdGMw" name="monitoring.property.name: String">
+        <target xmi:type="occi:Attribute" href="model/monitoring.occie#//@mixins[term='martpublisher']/@attributes.0"/>
+        <semanticElements xmi:type="occi:Attribute" href="model/monitoring.occie#//@mixins[term='martpublisher']/@attributes.0"/>
+        <ownedStyle xmi:type="diagram:Square" xmi:id="_tlfHMA9aEemWZoTWtpdGMw" labelSize="10" labelAlignment="LEFT" labelPosition="node">
+          <labelFormat>italic</labelFormat>
+          <labelFormat>bold</labelFormat>
+          <description xmi:type="style:SquareDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='MixinContainer']/@subNodeMappings[name='MixinAttribute']/@conditionnalStyles.1/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='MixinContainer']/@subNodeMappings[name='MixinAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_tlfuQA9aEemWZoTWtpdGMw" name="monitoring.property.id: String">
+        <target xmi:type="occi:Attribute" href="model/monitoring.occie#//@mixins[term='martpublisher']/@attributes.1"/>
+        <semanticElements xmi:type="occi:Attribute" href="model/monitoring.occie#//@mixins[term='martpublisher']/@attributes.1"/>
+        <ownedStyle xmi:type="diagram:Square" xmi:id="_tlnqEA9aEemWZoTWtpdGMw" labelSize="10" labelAlignment="LEFT" labelPosition="node">
           <description xmi:type="style:SquareDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='MixinContainer']/@subNodeMappings[name='MixinAttribute']/@conditionnalStyles.2/@style"/>
         </ownedStyle>
         <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='MixinContainer']/@subNodeMappings[name='MixinAttribute']"/>
       </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_tloRIA9aEemWZoTWtpdGMw" name="monitoring.property.resource: String">
+        <target xmi:type="occi:Attribute" href="model/monitoring.occie#//@mixins[term='martpublisher']/@attributes.2"/>
+        <semanticElements xmi:type="occi:Attribute" href="model/monitoring.occie#//@mixins[term='martpublisher']/@attributes.2"/>
+        <ownedStyle xmi:type="diagram:Square" xmi:id="_tlo4MA9aEemWZoTWtpdGMw" labelSize="10" labelAlignment="LEFT" labelPosition="node">
+          <labelFormat>italic</labelFormat>
+          <labelFormat>bold</labelFormat>
+          <description xmi:type="style:SquareDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='MixinContainer']/@subNodeMappings[name='MixinAttribute']/@conditionnalStyles.1/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='MixinContainer']/@subNodeMappings[name='MixinAttribute']"/>
+      </ownedElements>
     </ownedDiagramElements>
-    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_VXmswAH6EemtgKPSfKVeNA" name="MonitoringProperty" incomingEdges="_JvyqMAH8EemtgKPSfKVeNA">
-      <target xmi:type="occi:RecordType" href="model/monitoring.occie#//@types.3"/>
-      <semanticElements xmi:type="occi:RecordType" href="model/monitoring.occie#//@types.3"/>
-      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
-      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
-      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
-      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_VXnT0AH6EemtgKPSfKVeNA" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="221,236,202">
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_tlpfQA9aEemWZoTWtpdGMw" name="DateTime">
+      <target xmi:type="occi:StringType" href="model/monitoring.occie#//@types.0"/>
+      <semanticElements xmi:type="occi:StringType" href="model/monitoring.occie#//@types.0"/>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_tlqGUA9aEemWZoTWtpdGMw" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,250,191">
         <labelFormat>bold</labelFormat>
-        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='RecordTypeContainer']/@style"/>
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@style"/>
       </ownedStyle>
-      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='RecordTypeContainer']"/>
-      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_BvN7cAH7EemtgKPSfKVeNA" name="name: String">
-        <target xmi:type="occi:RecordField" href="model/monitoring.occie#//@types.3/@recordFields.0"/>
-        <semanticElements xmi:type="occi:RecordField" href="model/monitoring.occie#//@types.3/@recordFields.0"/>
-        <ownedStyle xmi:type="diagram:Square" xmi:id="_BvRl0AH7EemtgKPSfKVeNA" labelSize="10" labelAlignment="LEFT" labelPosition="node">
-          <description xmi:type="style:SquareDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='RecordTypeContainer']/@subNodeMappings[name='RecordField']/@style"/>
-        </ownedStyle>
-        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='RecordTypeContainer']/@subNodeMappings[name='RecordField']"/>
-      </ownedElements>
-      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_CzKrwAH7EemtgKPSfKVeNA" name="value: String">
-        <target xmi:type="occi:RecordField" href="model/monitoring.occie#//@types.3/@recordFields.1"/>
-        <semanticElements xmi:type="occi:RecordField" href="model/monitoring.occie#//@types.3/@recordFields.1"/>
-        <ownedStyle xmi:type="diagram:Square" xmi:id="_CzL54AH7EemtgKPSfKVeNA" labelSize="10" labelAlignment="LEFT" labelPosition="node">
-          <description xmi:type="style:SquareDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='RecordTypeContainer']/@subNodeMappings[name='RecordField']/@style"/>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_tlqtYg9aEemWZoTWtpdGMw" name="java.lang.String" tooltipText="org.eclipse.cmf.occi.core.impl.StringTypeImpl@5fadbc46 (name: DateTime, documentation: null) (pattern: ^(\d{4}((-)?(0[1-9]|1[0-2])((-)?(0[1-9]|[1-2][0-9]|3[0-1])(T(24:00(:00(\.[0]+)?)?|(([0-1][0-9]|2[0-3])(:)[0-5][0-9])((:)[0-5][0-9](\.[\d]+)?)?)((\+|-)(14:00|(0[0-9]|1[0-3])(:)[0-5][0-9])|Z))?)?)?)$, length: &lt;unset>, minLength: &lt;unset>, maxLength: &lt;unset>)">
+        <target xmi:type="occi:StringType" href="model/monitoring.occie#//@types.0"/>
+        <semanticElements xmi:type="occi:StringType" href="model/monitoring.occie#//@types.0"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_tlr7gA9aEemWZoTWtpdGMw" labelSize="10" showIcon="false">
+          <labelFormat>italic</labelFormat>
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@subNodeMappings[name='EC_StringType_Type']/@style"/>
         </ownedStyle>
-        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='RecordTypeContainer']/@subNodeMappings[name='RecordField']"/>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@subNodeMappings[name='EC_StringType_Type']"/>
       </ownedElements>
-      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_UdYDsAH7EemtgKPSfKVeNA" name="Id: String">
-        <target xmi:type="occi:RecordField" href="model/monitoring.occie#//@types.3/@recordFields.2"/>
-        <semanticElements xmi:type="occi:RecordField" href="model/monitoring.occie#//@types.3/@recordFields.2"/>
-        <ownedStyle xmi:type="diagram:Square" xmi:id="_UdYqwAH7EemtgKPSfKVeNA" labelSize="10" labelAlignment="LEFT" labelPosition="node">
-          <description xmi:type="style:SquareDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='RecordTypeContainer']/@subNodeMappings[name='RecordField']/@style"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_tlqGUQ9aEemWZoTWtpdGMw" name="Second">
+      <target xmi:type="occi:StringType" href="model/monitoring.occie#//@types.1"/>
+      <semanticElements xmi:type="occi:StringType" href="model/monitoring.occie#//@types.1"/>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_tlqGUg9aEemWZoTWtpdGMw" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,250,191">
+        <labelFormat>bold</labelFormat>
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_tlsikA9aEemWZoTWtpdGMw" name="java.lang.String" tooltipText="org.eclipse.cmf.occi.core.impl.StringTypeImpl@78fe3714 (name: Second, documentation: null) (pattern: null, length: &lt;unset>, minLength: &lt;unset>, maxLength: &lt;unset>)">
+        <target xmi:type="occi:StringType" href="model/monitoring.occie#//@types.1"/>
+        <semanticElements xmi:type="occi:StringType" href="model/monitoring.occie#//@types.1"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_tlsikQ9aEemWZoTWtpdGMw" labelSize="10" showIcon="false">
+          <labelFormat>italic</labelFormat>
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@subNodeMappings[name='EC_StringType_Type']/@style"/>
         </ownedStyle>
-        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='RecordTypeContainer']/@subNodeMappings[name='RecordField']"/>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@subNodeMappings[name='EC_StringType_Type']"/>
       </ownedElements>
     </ownedDiagramElements>
-    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ConzMAH8EemtgKPSfKVeNA" name="MonitoringPropertyArray" outgoingEdges="_JvyqMAH8EemtgKPSfKVeNA">
-      <target xmi:type="occi:ArrayType" href="model/monitoring.occie#//@types.4"/>
-      <semanticElements xmi:type="occi:ArrayType" href="model/monitoring.occie#//@types.4"/>
-      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
-      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
-      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
-      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_CooaQAH8EemtgKPSfKVeNA" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="221,236,202">
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_tlqtYA9aEemWZoTWtpdGMw" name="String">
+      <target xmi:type="occi:StringType" href="model/monitoring.occie#//@types.2"/>
+      <semanticElements xmi:type="occi:StringType" href="model/monitoring.occie#//@types.2"/>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_tlqtYQ9aEemWZoTWtpdGMw" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,250,191">
         <labelFormat>bold</labelFormat>
-        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='ArrayTypeContainer']/@style"/>
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@style"/>
       </ownedStyle>
-      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='ArrayTypeContainer']"/>
-      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_Cpeu0AH8EemtgKPSfKVeNA" name="Array" tooltipText="org.eclipse.cmf.occi.core.impl.ArrayTypeImpl@3f832bd (name: MonitoringPropertyArray, documentation: null)">
-        <target xmi:type="occi:ArrayType" href="model/monitoring.occie#//@types.4"/>
-        <semanticElements xmi:type="occi:ArrayType" href="model/monitoring.occie#//@types.4"/>
-        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_CpfV4AH8EemtgKPSfKVeNA" labelSize="10" showIcon="false">
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_tltJoA9aEemWZoTWtpdGMw" name="java.lang.String" tooltipText="org.eclipse.cmf.occi.core.impl.StringTypeImpl@4bf44bcd (name: String, documentation: null) (pattern: null, length: &lt;unset>, minLength: &lt;unset>, maxLength: &lt;unset>)">
+        <target xmi:type="occi:StringType" href="model/monitoring.occie#//@types.2"/>
+        <semanticElements xmi:type="occi:StringType" href="model/monitoring.occie#//@types.2"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_tltJoQ9aEemWZoTWtpdGMw" labelSize="10" showIcon="false">
           <labelFormat>italic</labelFormat>
-          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='ArrayTypeContainer']/@subNodeMappings[name='EC_ArrayType_Name']/@style"/>
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@subNodeMappings[name='EC_StringType_Type']/@style"/>
         </ownedStyle>
-        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='ArrayTypeContainer']/@subNodeMappings[name='EC_ArrayType_Name']"/>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@containerMappings[name='StringTypeContainer']/@subNodeMappings[name='EC_StringType_Type']"/>
       </ownedElements>
     </ownedDiagramElements>
-    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_JvyqMAH8EemtgKPSfKVeNA" sourceNode="_ConzMAH8EemtgKPSfKVeNA" targetNode="_VXmswAH6EemtgKPSfKVeNA">
-      <target xmi:type="occi:ArrayType" href="model/monitoring.occie#//@types.4"/>
-      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_JvyqMQH8EemtgKPSfKVeNA" size="2">
-        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@edgeMappings[name='TypeEdge']/@style"/>
-        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_JvyqMgH8EemtgKPSfKVeNA"/>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_tl3hsA9aEemWZoTWtpdGMw" visible="false" sourceNode="_tlIh4A9aEemWZoTWtpdGMw" targetNode="_SAXRYPcIEeiCiOA5ZDMQdg">
+      <target xmi:type="occi:Kind" href="model/monitoring.occie#//@kinds[term='monitoringproperty']"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_tl4IwA9aEemWZoTWtpdGMw" targetArrow="InputClosedArrow" size="2">
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@edgeMappings[name='ParentEdge']/@style"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_tl4IwQ9aEemWZoTWtpdGMw"/>
       </ownedStyle>
-      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@edgeMappings[name='TypeEdge']"/>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@edgeMappings[name='ParentEdge']"/>
     </ownedDiagramElements>
-    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_0eHlkANqEem6HrygHybokg" sourceNode="_wzfNkP0tEei-2r9L9rzO0w" targetNode="_SAWqUvcIEeiCiOA5ZDMQdg">
-      <target xmi:type="occi:Mixin" href="model/monitoring.occie#//@mixins[term='monitoringproperties']"/>
-      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_0eIMoANqEem6HrygHybokg" lineStyle="dash" size="2">
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_tl5W4A9aEemWZoTWtpdGMw" sourceNode="_tld5EA9aEemWZoTWtpdGMw" targetNode="_IhgKQPcIEeiCiOA5ZDMQdg">
+      <target xmi:type="occi:Mixin" href="model/monitoring.occie#//@mixins[term='martpublisher']"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_tl598A9aEemWZoTWtpdGMw" lineStyle="dash" size="2">
         <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@edgeMappings[name='AppliesEdge']/@style"/>
-        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_0eIMoQNqEem6HrygHybokg"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_tl598Q9aEemWZoTWtpdGMw"/>
       </ownedStyle>
       <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@edgeMappings[name='AppliesEdge']"/>
     </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_tmwSgA9aEemWZoTWtpdGMw" name="target" sourceNode="_tlIh4A9aEemWZoTWtpdGMw" targetNode="_zRxdRPcHEeiCiOA5ZDMQdg">
+      <target xmi:type="occi:Kind" href="model/monitoring.occie#//@kinds[term='monitoringproperty']"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_tmwSgQ9aEemWZoTWtpdGMw" size="2" strokeColor="0,0,0">
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@edgeMappings[name='TargetEdge']/@style"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_tmwSgg9aEemWZoTWtpdGMw" labelSize="10" showIcon="false">
+          <labelFormat>bold</labelFormat>
+        </centerLabelStyle>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer/@edgeMappings[name='TargetEdge']"/>
+    </ownedDiagramElements>
     <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']"/>
     <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_zRxd4_cHEeiCiOA5ZDMQdg"/>
     <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.cmf.occi.core.design/description/OCCIware.odesign#//@ownedViewpoints[name='OCCI%20Extension']/@ownedRepresentations[name='Extension%20diagram']/@defaultLayer"/>
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Datagatherer.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Datagatherer.java
index 8e3ba9619deea1c1afe9516edc085de5de4dafd5..7598466d7992a09fc82232219296f45d2c72dc8f 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Datagatherer.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Datagatherer.java
@@ -23,96 +23,11 @@ import org.modmacao.occi.platform.Component;
  * DataGatherer Resource
  * <!-- end-model-doc -->
  *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link monitoring.Datagatherer#getOcciCollectorPeriod <em>Occi Collector Period</em>}</li>
- *   <li>{@link monitoring.Datagatherer#getOcciCollectorGranularity <em>Occi Collector Granularity</em>}</li>
- *   <li>{@link monitoring.Datagatherer#getOcciCollectorAccuracy <em>Occi Collector Accuracy</em>}</li>
- * </ul>
  *
  * @see monitoring.MonitoringPackage#getDatagatherer()
  * @model
  * @generated
  */
 public interface Datagatherer extends Component {
-	/**
-	 * Returns the value of the '<em><b>Occi Collector Period</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Time between two following measurements (seconds).
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Occi Collector Period</em>' attribute.
-	 * @see #setOcciCollectorPeriod(String)
-	 * @see monitoring.MonitoringPackage#getDatagatherer_OcciCollectorPeriod()
-	 * @model dataType="monitoring.Second" required="true"
-	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!Datagatherer!occiCollectorPeriod'"
-	 * @generated
-	 */
-	String getOcciCollectorPeriod();
-
-	/**
-	 * Sets the value of the '{@link monitoring.Datagatherer#getOcciCollectorPeriod <em>Occi Collector Period</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Occi Collector Period</em>' attribute.
-	 * @see #getOcciCollectorPeriod()
-	 * @generated
-	 */
-	void setOcciCollectorPeriod(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Occi Collector Granularity</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Granularity of time measurement (seconds).
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Occi Collector Granularity</em>' attribute.
-	 * @see #setOcciCollectorGranularity(String)
-	 * @see monitoring.MonitoringPackage#getDatagatherer_OcciCollectorGranularity()
-	 * @model dataType="monitoring.Second"
-	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!Datagatherer!occiCollectorGranularity'"
-	 * @generated
-	 */
-	String getOcciCollectorGranularity();
-
-	/**
-	 * Sets the value of the '{@link monitoring.Datagatherer#getOcciCollectorGranularity <em>Occi Collector Granularity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Occi Collector Granularity</em>' attribute.
-	 * @see #getOcciCollectorGranularity()
-	 * @generated
-	 */
-	void setOcciCollectorGranularity(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Occi Collector Accuracy</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Accuracy of time measurement (seconds).
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Occi Collector Accuracy</em>' attribute.
-	 * @see #setOcciCollectorAccuracy(String)
-	 * @see monitoring.MonitoringPackage#getDatagatherer_OcciCollectorAccuracy()
-	 * @model dataType="monitoring.Second"
-	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!Datagatherer!occiCollectorAccuracy'"
-	 * @generated
-	 */
-	String getOcciCollectorAccuracy();
-
-	/**
-	 * Sets the value of the '{@link monitoring.Datagatherer#getOcciCollectorAccuracy <em>Occi Collector Accuracy</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Occi Collector Accuracy</em>' attribute.
-	 * @see #getOcciCollectorAccuracy()
-	 * @generated
-	 */
-	void setOcciCollectorAccuracy(String value);
 
 } // Datagatherer
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Processor.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Dataprocessor.java
similarity index 74%
rename from de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Processor.java
rename to de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Dataprocessor.java
index 370df2336cebf71f06fd8f0e0424f3101e64016f..5ebaa25c86e72ae98a9a0027daa32b47c51d2d34 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Processor.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Dataprocessor.java
@@ -16,17 +16,17 @@ import org.modmacao.occi.platform.Component;
 
 /**
  * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Processor</b></em>'.
+ * A representation of the model object '<em><b>Dataprocessor</b></em>'.
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * Processor Resource
+ * DataProcessor Resource
  * <!-- end-model-doc -->
  *
  *
- * @see monitoring.MonitoringPackage#getProcessor()
+ * @see monitoring.MonitoringPackage#getDataprocessor()
  * @model
  * @generated
  */
-public interface Processor extends Component {
-} // Processor
+public interface Dataprocessor extends Component {
+} // Dataprocessor
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Gatheringservice.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Gatheringservice.java
new file mode 100644
index 0000000000000000000000000000000000000000..a5b4edc410a78626dea75f64eaddd81cd415ac09
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Gatheringservice.java
@@ -0,0 +1,72 @@
+/**
+ * Copyright (c) 2015-2017 Obeo, Inria
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 	
+ * Contributors:
+ * - William Piers <william.piers@obeo.fr>
+ * - Philippe Merle <philippe.merle@inria.fr>
+ * - Faiez Zalila <faiez.zalila@inria.fr>
+ */
+package monitoring;
+
+import java.util.Map;
+
+import org.eclipse.cmf.occi.core.MixinBase;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Gatheringservice</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link monitoring.Gatheringservice#getServiceAddress <em>Service Address</em>}</li>
+ * </ul>
+ *
+ * @see monitoring.MonitoringPackage#getGatheringservice()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='appliesConstraint'"
+ * @generated
+ */
+public interface Gatheringservice extends MixinBase {
+	/**
+	 * Returns the value of the '<em><b>Service Address</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * 
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Service Address</em>' attribute.
+	 * @see #setServiceAddress(String)
+	 * @see monitoring.MonitoringPackage#getGatheringservice_ServiceAddress()
+	 * @model dataType="monitoring.String" required="true"
+	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!Gatheringservice!serviceAddress'"
+	 * @generated
+	 */
+	String getServiceAddress();
+
+	/**
+	 * Sets the value of the '{@link monitoring.Gatheringservice#getServiceAddress <em>Service Address</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Service Address</em>' attribute.
+	 * @see #getServiceAddress()
+	 * @generated
+	 */
+	void setServiceAddress(String value);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n *\n * inv appliesConstraint:\n *   let\n *     severity : Integer[1] = \'Gatheringservice::appliesConstraint\'.getSeverity()\n *   in\n *     if severity &lt;= 0\n *     then true\n *     else\n *       let\n *         result : occi::Boolean[1] = self.entity.oclIsKindOf(Datagatherer)\n *       in\n *         \'Gatheringservice::appliesConstraint\'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)\n *     endif\n \052/\nfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.evaluation.Executor%&gt; executor = &lt;%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%&gt;.getExecutor(this);\nfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.ids.IdResolver%&gt; idResolver = executor.getIdResolver();\nfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.values.IntegerValue%&gt; severity_0 = &lt;%org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation%&gt;.INSTANCE.evaluate(executor, &lt;%monitoring.MonitoringTables%&gt;.STR_Gatheringservice_c_c_appliesConstraint);\nfinal /*@NonInvalid\052/ boolean le = &lt;%org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation%&gt;.INSTANCE.evaluate(executor, severity_0, &lt;%monitoring.MonitoringTables%&gt;.INT_0).booleanValue();\n/*@NonInvalid\052/ boolean symbol_0;\nif (le) {\n\tsymbol_0 = &lt;%org.eclipse.ocl.pivot.utilities.ValueUtil%&gt;.TRUE_VALUE;\n}\nelse {\n\tfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.Class%&gt; TYP_monitoring_c_c_Datagatherer = idResolver.getClass(&lt;%monitoring.MonitoringTables%&gt;.CLSSid_Datagatherer, null);\n\tfinal /*@NonInvalid\052/ &lt;%org.eclipse.cmf.occi.core.Entity%&gt; entity = this.getEntity();\n\tfinal /*@NonInvalid\052/ boolean result = &lt;%org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsKindOfOperation%&gt;.INSTANCE.evaluate(executor, entity, TYP_monitoring_c_c_Datagatherer).booleanValue();\n\tfinal /*@NonInvalid\052/ boolean logDiagnostic = &lt;%org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation%&gt;.INSTANCE.evaluate(executor, &lt;%org.eclipse.ocl.pivot.ids.TypeId%&gt;.BOOLEAN, &lt;%monitoring.MonitoringTables%&gt;.STR_Gatheringservice_c_c_appliesConstraint, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, &lt;%monitoring.MonitoringTables%&gt;.INT_0).booleanValue();\n\tsymbol_0 = logDiagnostic;\n}\nreturn Boolean.TRUE == symbol_0;'"
+	 * @generated
+	 */
+	boolean appliesConstraint(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // Gatheringservice
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Monitorableproperty.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Monitorableproperty.java
new file mode 100644
index 0000000000000000000000000000000000000000..19cbd6058b2c674e2c4eff927697bf76d57b0fa7
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Monitorableproperty.java
@@ -0,0 +1,103 @@
+/**
+ * Copyright (c) 2015-2017 Obeo, Inria
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 	
+ * Contributors:
+ * - William Piers <william.piers@obeo.fr>
+ * - Philippe Merle <philippe.merle@inria.fr>
+ * - Faiez Zalila <faiez.zalila@inria.fr>
+ */
+package monitoring;
+
+import java.util.Map;
+
+import org.eclipse.cmf.occi.core.Link;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Monitorableproperty</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * MonitorableProperty Component
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link monitoring.Monitorableproperty#getMonitoringProperty <em>Monitoring Property</em>}</li>
+ *   <li>{@link monitoring.Monitorableproperty#getMonitoringResult <em>Monitoring Result</em>}</li>
+ * </ul>
+ *
+ * @see monitoring.MonitoringPackage#getMonitorableproperty()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='targetConstraint'"
+ * @generated
+ */
+public interface Monitorableproperty extends Link {
+	/**
+	 * Returns the value of the '<em><b>Monitoring Property</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * 
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Monitoring Property</em>' attribute.
+	 * @see #setMonitoringProperty(String)
+	 * @see monitoring.MonitoringPackage#getMonitorableproperty_MonitoringProperty()
+	 * @model dataType="monitoring.String" required="true"
+	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!Monitorableproperty!monitoringProperty'"
+	 * @generated
+	 */
+	String getMonitoringProperty();
+
+	/**
+	 * Sets the value of the '{@link monitoring.Monitorableproperty#getMonitoringProperty <em>Monitoring Property</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Monitoring Property</em>' attribute.
+	 * @see #getMonitoringProperty()
+	 * @generated
+	 */
+	void setMonitoringProperty(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Monitoring Result</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * 
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Monitoring Result</em>' attribute.
+	 * @see #setMonitoringResult(String)
+	 * @see monitoring.MonitoringPackage#getMonitorableproperty_MonitoringResult()
+	 * @model dataType="monitoring.String"
+	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!Monitorableproperty!monitoringResult'"
+	 * @generated
+	 */
+	String getMonitoringResult();
+
+	/**
+	 * Sets the value of the '{@link monitoring.Monitorableproperty#getMonitoringResult <em>Monitoring Result</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Monitoring Result</em>' attribute.
+	 * @see #getMonitoringResult()
+	 * @generated
+	 */
+	void setMonitoringResult(String value);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n *\n * inv targetConstraint:\n *   let\n *     severity : Integer[1] = \'Monitorableproperty::targetConstraint\'.getSeverity()\n *   in\n *     if severity &lt;= 0\n *     then true\n *     else\n *       let result : occi::Boolean[1] = self.target.oclIsKindOf(Sensor)\n *       in\n *         \'Monitorableproperty::targetConstraint\'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)\n *     endif\n \052/\nfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.evaluation.Executor%&gt; executor = &lt;%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%&gt;.getExecutor(this);\nfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.ids.IdResolver%&gt; idResolver = executor.getIdResolver();\nfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.values.IntegerValue%&gt; severity_0 = &lt;%org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation%&gt;.INSTANCE.evaluate(executor, &lt;%monitoring.MonitoringTables%&gt;.STR_Monitorableproperty_c_c_targetConstraint);\nfinal /*@NonInvalid\052/ boolean le = &lt;%org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation%&gt;.INSTANCE.evaluate(executor, severity_0, &lt;%monitoring.MonitoringTables%&gt;.INT_0).booleanValue();\n/*@NonInvalid\052/ boolean symbol_0;\nif (le) {\n\tsymbol_0 = &lt;%org.eclipse.ocl.pivot.utilities.ValueUtil%&gt;.TRUE_VALUE;\n}\nelse {\n\tfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.Class%&gt; TYP_monitoring_c_c_Sensor = idResolver.getClass(&lt;%monitoring.MonitoringTables%&gt;.CLSSid_Sensor, null);\n\tfinal /*@NonInvalid\052/ &lt;%org.eclipse.cmf.occi.core.Resource%&gt; target = this.getTarget();\n\tfinal /*@NonInvalid\052/ boolean result = &lt;%org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsKindOfOperation%&gt;.INSTANCE.evaluate(executor, target, TYP_monitoring_c_c_Sensor).booleanValue();\n\tfinal /*@NonInvalid\052/ boolean logDiagnostic = &lt;%org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation%&gt;.INSTANCE.evaluate(executor, &lt;%org.eclipse.ocl.pivot.ids.TypeId%&gt;.BOOLEAN, &lt;%monitoring.MonitoringTables%&gt;.STR_Monitorableproperty_c_c_targetConstraint, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, &lt;%monitoring.MonitoringTables%&gt;.INT_0).booleanValue();\n\tsymbol_0 = logDiagnostic;\n}\nreturn Boolean.TRUE == symbol_0;'"
+	 * @generated
+	 */
+	boolean targetConstraint(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // Monitorableproperty
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringFactory.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringFactory.java
index 0bc0165fffd68f60eb4e54e0a91a9726d6c2e747..89ecb05c29b9d8de29c8e3ab42fe6b7911e880fc 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringFactory.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringFactory.java
@@ -31,24 +31,6 @@ public interface MonitoringFactory extends EFactory {
 	 */
 	MonitoringFactory eINSTANCE = monitoring.impl.MonitoringFactoryImpl.init();
 
-	/**
-	 * Returns a new object of class '<em>Property</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Property</em>'.
-	 * @generated
-	 */
-	MonitoringProperty createMonitoringProperty();
-
-	/**
-	 * Returns a new object of class '<em>Property Array</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Property Array</em>'.
-	 * @generated
-	 */
-	MonitoringPropertyArray createMonitoringPropertyArray();
-
 	/**
 	 * Returns a new object of class '<em>Sensor</em>'.
 	 * <!-- begin-user-doc -->
@@ -68,31 +50,40 @@ public interface MonitoringFactory extends EFactory {
 	Datagatherer createDatagatherer();
 
 	/**
-	 * Returns a new object of class '<em>Processor</em>'.
+	 * Returns a new object of class '<em>Dataprocessor</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Dataprocessor</em>'.
+	 * @generated
+	 */
+	Dataprocessor createDataprocessor();
+
+	/**
+	 * Returns a new object of class '<em>Resultprovider</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Processor</em>'.
+	 * @return a new object of class '<em>Resultprovider</em>'.
 	 * @generated
 	 */
-	Processor createProcessor();
+	Resultprovider createResultprovider();
 
 	/**
-	 * Returns a new object of class '<em>Publisher</em>'.
+	 * Returns a new object of class '<em>Monitorableproperty</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Publisher</em>'.
+	 * @return a new object of class '<em>Monitorableproperty</em>'.
 	 * @generated
 	 */
-	Publisher createPublisher();
+	Monitorableproperty createMonitorableproperty();
 
 	/**
-	 * Returns a new object of class '<em>Monitoringproperties</em>'.
+	 * Returns a new object of class '<em>Occiresultprovider</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Monitoringproperties</em>'.
+	 * @return a new object of class '<em>Occiresultprovider</em>'.
 	 * @generated
 	 */
-	Monitoringproperties createMonitoringproperties();
+	Occiresultprovider createOcciresultprovider();
 
 	/**
 	 * Returns the package supported by this factory.
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringPackage.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringPackage.java
index 3818574a5d7c43738be40d209932a13630fe8991..f239b496355b1021275c985e11aa6f317eeb22da 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringPackage.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringPackage.java
@@ -19,7 +19,6 @@ import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EDataType;
 import org.eclipse.emf.ecore.EOperation;
 import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
 
 import org.modmacao.occi.platform.PlatformPackage;
 
@@ -72,98 +71,6 @@ public interface MonitoringPackage extends EPackage {
 	 */
 	MonitoringPackage eINSTANCE = monitoring.impl.MonitoringPackageImpl.init();
 
-	/**
-	 * The meta object id for the '{@link monitoring.impl.MonitoringPropertyImpl <em>Property</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see monitoring.impl.MonitoringPropertyImpl
-	 * @see monitoring.impl.MonitoringPackageImpl#getMonitoringProperty()
-	 * @generated
-	 */
-	int MONITORING_PROPERTY = 0;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_PROPERTY__NAME = 0;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_PROPERTY__VALUE = 1;
-
-	/**
-	 * The feature id for the '<em><b>Id</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_PROPERTY__ID = 2;
-
-	/**
-	 * The number of structural features of the '<em>Property</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_PROPERTY_FEATURE_COUNT = 3;
-
-	/**
-	 * The number of operations of the '<em>Property</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_PROPERTY_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link monitoring.impl.MonitoringPropertyArrayImpl <em>Property Array</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see monitoring.impl.MonitoringPropertyArrayImpl
-	 * @see monitoring.impl.MonitoringPackageImpl#getMonitoringPropertyArray()
-	 * @generated
-	 */
-	int MONITORING_PROPERTY_ARRAY = 1;
-
-	/**
-	 * The feature id for the '<em><b>Monitoringpropertyarray Values</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES = 0;
-
-	/**
-	 * The number of structural features of the '<em>Property Array</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_PROPERTY_ARRAY_FEATURE_COUNT = 1;
-
-	/**
-	 * The number of operations of the '<em>Property Array</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_PROPERTY_ARRAY_OPERATION_COUNT = 0;
-
 	/**
 	 * The meta object id for the '{@link monitoring.impl.SensorImpl <em>Sensor</em>}' class.
 	 * <!-- begin-user-doc -->
@@ -172,7 +79,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @see monitoring.impl.MonitoringPackageImpl#getSensor()
 	 * @generated
 	 */
-	int SENSOR = 2;
+	int SENSOR = 0;
 
 	/**
 	 * The feature id for the '<em><b>Id</b></em>' attribute.
@@ -309,60 +216,6 @@ public interface MonitoringPackage extends EPackage {
 	 */
 	int SENSOR__OCCI_APP_STATE_MESSAGE = PlatformPackage.APPLICATION__OCCI_APP_STATE_MESSAGE;
 
-	/**
-	 * The feature id for the '<em><b>Occi Sensor Timebase</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR__OCCI_SENSOR_TIMEBASE = PlatformPackage.APPLICATION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Occi Sensor Timestart</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR__OCCI_SENSOR_TIMESTART = PlatformPackage.APPLICATION_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Occi Sensor Timestop</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR__OCCI_SENSOR_TIMESTOP = PlatformPackage.APPLICATION_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Occi Sensor Period</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR__OCCI_SENSOR_PERIOD = PlatformPackage.APPLICATION_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Occi Sensor Granularity</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR__OCCI_SENSOR_GRANULARITY = PlatformPackage.APPLICATION_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Occi Sensor Accuracy</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR__OCCI_SENSOR_ACCURACY = PlatformPackage.APPLICATION_FEATURE_COUNT + 5;
-
 	/**
 	 * The number of structural features of the '<em>Sensor</em>' class.
 	 * <!-- begin-user-doc -->
@@ -370,7 +223,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int SENSOR_FEATURE_COUNT = PlatformPackage.APPLICATION_FEATURE_COUNT + 6;
+	int SENSOR_FEATURE_COUNT = PlatformPackage.APPLICATION_FEATURE_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Occi Create</em>' operation.
@@ -470,7 +323,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @see monitoring.impl.MonitoringPackageImpl#getDatagatherer()
 	 * @generated
 	 */
-	int DATAGATHERER = 3;
+	int DATAGATHERER = 1;
 
 	/**
 	 * The feature id for the '<em><b>Id</b></em>' attribute.
@@ -580,33 +433,6 @@ public interface MonitoringPackage extends EPackage {
 	 */
 	int DATAGATHERER__OCCI_COMPONENT_STATE_MESSAGE = PlatformPackage.COMPONENT__OCCI_COMPONENT_STATE_MESSAGE;
 
-	/**
-	 * The feature id for the '<em><b>Occi Collector Period</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATAGATHERER__OCCI_COLLECTOR_PERIOD = PlatformPackage.COMPONENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Occi Collector Granularity</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATAGATHERER__OCCI_COLLECTOR_GRANULARITY = PlatformPackage.COMPONENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Occi Collector Accuracy</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATAGATHERER__OCCI_COLLECTOR_ACCURACY = PlatformPackage.COMPONENT_FEATURE_COUNT + 2;
-
 	/**
 	 * The number of structural features of the '<em>Datagatherer</em>' class.
 	 * <!-- begin-user-doc -->
@@ -614,7 +440,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int DATAGATHERER_FEATURE_COUNT = PlatformPackage.COMPONENT_FEATURE_COUNT + 3;
+	int DATAGATHERER_FEATURE_COUNT = PlatformPackage.COMPONENT_FEATURE_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Occi Create</em>' operation.
@@ -707,14 +533,14 @@ public interface MonitoringPackage extends EPackage {
 	int DATAGATHERER_OPERATION_COUNT = PlatformPackage.COMPONENT_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link monitoring.impl.ProcessorImpl <em>Processor</em>}' class.
+	 * The meta object id for the '{@link monitoring.impl.DataprocessorImpl <em>Dataprocessor</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see monitoring.impl.ProcessorImpl
-	 * @see monitoring.impl.MonitoringPackageImpl#getProcessor()
+	 * @see monitoring.impl.DataprocessorImpl
+	 * @see monitoring.impl.MonitoringPackageImpl#getDataprocessor()
 	 * @generated
 	 */
-	int PROCESSOR = 4;
+	int DATAPROCESSOR = 2;
 
 	/**
 	 * The feature id for the '<em><b>Id</b></em>' attribute.
@@ -723,7 +549,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR__ID = PlatformPackage.COMPONENT__ID;
+	int DATAPROCESSOR__ID = PlatformPackage.COMPONENT__ID;
 
 	/**
 	 * The feature id for the '<em><b>Title</b></em>' attribute.
@@ -732,7 +558,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR__TITLE = PlatformPackage.COMPONENT__TITLE;
+	int DATAPROCESSOR__TITLE = PlatformPackage.COMPONENT__TITLE;
 
 	/**
 	 * The feature id for the '<em><b>Kind</b></em>' reference.
@@ -741,7 +567,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR__KIND = PlatformPackage.COMPONENT__KIND;
+	int DATAPROCESSOR__KIND = PlatformPackage.COMPONENT__KIND;
 
 	/**
 	 * The feature id for the '<em><b>Location</b></em>' attribute.
@@ -750,7 +576,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR__LOCATION = PlatformPackage.COMPONENT__LOCATION;
+	int DATAPROCESSOR__LOCATION = PlatformPackage.COMPONENT__LOCATION;
 
 	/**
 	 * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
@@ -759,7 +585,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR__ATTRIBUTES = PlatformPackage.COMPONENT__ATTRIBUTES;
+	int DATAPROCESSOR__ATTRIBUTES = PlatformPackage.COMPONENT__ATTRIBUTES;
 
 	/**
 	 * The feature id for the '<em><b>Mixins</b></em>' reference list.
@@ -768,7 +594,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR__MIXINS = PlatformPackage.COMPONENT__MIXINS;
+	int DATAPROCESSOR__MIXINS = PlatformPackage.COMPONENT__MIXINS;
 
 	/**
 	 * The feature id for the '<em><b>Parts</b></em>' containment reference list.
@@ -777,7 +603,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR__PARTS = PlatformPackage.COMPONENT__PARTS;
+	int DATAPROCESSOR__PARTS = PlatformPackage.COMPONENT__PARTS;
 
 	/**
 	 * The feature id for the '<em><b>Summary</b></em>' attribute.
@@ -786,7 +612,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR__SUMMARY = PlatformPackage.COMPONENT__SUMMARY;
+	int DATAPROCESSOR__SUMMARY = PlatformPackage.COMPONENT__SUMMARY;
 
 	/**
 	 * The feature id for the '<em><b>Links</b></em>' containment reference list.
@@ -795,7 +621,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR__LINKS = PlatformPackage.COMPONENT__LINKS;
+	int DATAPROCESSOR__LINKS = PlatformPackage.COMPONENT__LINKS;
 
 	/**
 	 * The feature id for the '<em><b>Rlinks</b></em>' reference list.
@@ -804,7 +630,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR__RLINKS = PlatformPackage.COMPONENT__RLINKS;
+	int DATAPROCESSOR__RLINKS = PlatformPackage.COMPONENT__RLINKS;
 
 	/**
 	 * The feature id for the '<em><b>Occi Component State</b></em>' attribute.
@@ -813,7 +639,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR__OCCI_COMPONENT_STATE = PlatformPackage.COMPONENT__OCCI_COMPONENT_STATE;
+	int DATAPROCESSOR__OCCI_COMPONENT_STATE = PlatformPackage.COMPONENT__OCCI_COMPONENT_STATE;
 
 	/**
 	 * The feature id for the '<em><b>Occi Component State Message</b></em>' attribute.
@@ -822,16 +648,16 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR__OCCI_COMPONENT_STATE_MESSAGE = PlatformPackage.COMPONENT__OCCI_COMPONENT_STATE_MESSAGE;
+	int DATAPROCESSOR__OCCI_COMPONENT_STATE_MESSAGE = PlatformPackage.COMPONENT__OCCI_COMPONENT_STATE_MESSAGE;
 
 	/**
-	 * The number of structural features of the '<em>Processor</em>' class.
+	 * The number of structural features of the '<em>Dataprocessor</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR_FEATURE_COUNT = PlatformPackage.COMPONENT_FEATURE_COUNT + 0;
+	int DATAPROCESSOR_FEATURE_COUNT = PlatformPackage.COMPONENT_FEATURE_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Occi Create</em>' operation.
@@ -840,7 +666,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR___OCCI_CREATE = PlatformPackage.COMPONENT___OCCI_CREATE;
+	int DATAPROCESSOR___OCCI_CREATE = PlatformPackage.COMPONENT___OCCI_CREATE;
 
 	/**
 	 * The operation id for the '<em>Occi Retrieve</em>' operation.
@@ -849,7 +675,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR___OCCI_RETRIEVE = PlatformPackage.COMPONENT___OCCI_RETRIEVE;
+	int DATAPROCESSOR___OCCI_RETRIEVE = PlatformPackage.COMPONENT___OCCI_RETRIEVE;
 
 	/**
 	 * The operation id for the '<em>Occi Update</em>' operation.
@@ -858,7 +684,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR___OCCI_UPDATE = PlatformPackage.COMPONENT___OCCI_UPDATE;
+	int DATAPROCESSOR___OCCI_UPDATE = PlatformPackage.COMPONENT___OCCI_UPDATE;
 
 	/**
 	 * The operation id for the '<em>Occi Delete</em>' operation.
@@ -867,7 +693,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR___OCCI_DELETE = PlatformPackage.COMPONENT___OCCI_DELETE;
+	int DATAPROCESSOR___OCCI_DELETE = PlatformPackage.COMPONENT___OCCI_DELETE;
 
 	/**
 	 * The operation id for the '<em>Deploy</em>' operation.
@@ -876,7 +702,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR___DEPLOY = PlatformPackage.COMPONENT___DEPLOY;
+	int DATAPROCESSOR___DEPLOY = PlatformPackage.COMPONENT___DEPLOY;
 
 	/**
 	 * The operation id for the '<em>Undeploy</em>' operation.
@@ -885,7 +711,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR___UNDEPLOY = PlatformPackage.COMPONENT___UNDEPLOY;
+	int DATAPROCESSOR___UNDEPLOY = PlatformPackage.COMPONENT___UNDEPLOY;
 
 	/**
 	 * The operation id for the '<em>Configure</em>' operation.
@@ -894,7 +720,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR___CONFIGURE = PlatformPackage.COMPONENT___CONFIGURE;
+	int DATAPROCESSOR___CONFIGURE = PlatformPackage.COMPONENT___CONFIGURE;
 
 	/**
 	 * The operation id for the '<em>Start</em>' operation.
@@ -903,7 +729,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR___START = PlatformPackage.COMPONENT___START;
+	int DATAPROCESSOR___START = PlatformPackage.COMPONENT___START;
 
 	/**
 	 * The operation id for the '<em>Stop</em>' operation.
@@ -912,26 +738,26 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR___STOP = PlatformPackage.COMPONENT___STOP;
+	int DATAPROCESSOR___STOP = PlatformPackage.COMPONENT___STOP;
 
 	/**
-	 * The number of operations of the '<em>Processor</em>' class.
+	 * The number of operations of the '<em>Dataprocessor</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR_OPERATION_COUNT = PlatformPackage.COMPONENT_OPERATION_COUNT + 0;
+	int DATAPROCESSOR_OPERATION_COUNT = PlatformPackage.COMPONENT_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link monitoring.impl.PublisherImpl <em>Publisher</em>}' class.
+	 * The meta object id for the '{@link monitoring.impl.ResultproviderImpl <em>Resultprovider</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see monitoring.impl.PublisherImpl
-	 * @see monitoring.impl.MonitoringPackageImpl#getPublisher()
+	 * @see monitoring.impl.ResultproviderImpl
+	 * @see monitoring.impl.MonitoringPackageImpl#getResultprovider()
 	 * @generated
 	 */
-	int PUBLISHER = 5;
+	int RESULTPROVIDER = 3;
 
 	/**
 	 * The feature id for the '<em><b>Id</b></em>' attribute.
@@ -940,7 +766,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER__ID = PlatformPackage.COMPONENT__ID;
+	int RESULTPROVIDER__ID = PlatformPackage.COMPONENT__ID;
 
 	/**
 	 * The feature id for the '<em><b>Title</b></em>' attribute.
@@ -949,7 +775,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER__TITLE = PlatformPackage.COMPONENT__TITLE;
+	int RESULTPROVIDER__TITLE = PlatformPackage.COMPONENT__TITLE;
 
 	/**
 	 * The feature id for the '<em><b>Kind</b></em>' reference.
@@ -958,7 +784,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER__KIND = PlatformPackage.COMPONENT__KIND;
+	int RESULTPROVIDER__KIND = PlatformPackage.COMPONENT__KIND;
 
 	/**
 	 * The feature id for the '<em><b>Location</b></em>' attribute.
@@ -967,7 +793,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER__LOCATION = PlatformPackage.COMPONENT__LOCATION;
+	int RESULTPROVIDER__LOCATION = PlatformPackage.COMPONENT__LOCATION;
 
 	/**
 	 * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
@@ -976,7 +802,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER__ATTRIBUTES = PlatformPackage.COMPONENT__ATTRIBUTES;
+	int RESULTPROVIDER__ATTRIBUTES = PlatformPackage.COMPONENT__ATTRIBUTES;
 
 	/**
 	 * The feature id for the '<em><b>Mixins</b></em>' reference list.
@@ -985,7 +811,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER__MIXINS = PlatformPackage.COMPONENT__MIXINS;
+	int RESULTPROVIDER__MIXINS = PlatformPackage.COMPONENT__MIXINS;
 
 	/**
 	 * The feature id for the '<em><b>Parts</b></em>' containment reference list.
@@ -994,7 +820,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER__PARTS = PlatformPackage.COMPONENT__PARTS;
+	int RESULTPROVIDER__PARTS = PlatformPackage.COMPONENT__PARTS;
 
 	/**
 	 * The feature id for the '<em><b>Summary</b></em>' attribute.
@@ -1003,7 +829,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER__SUMMARY = PlatformPackage.COMPONENT__SUMMARY;
+	int RESULTPROVIDER__SUMMARY = PlatformPackage.COMPONENT__SUMMARY;
 
 	/**
 	 * The feature id for the '<em><b>Links</b></em>' containment reference list.
@@ -1012,7 +838,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER__LINKS = PlatformPackage.COMPONENT__LINKS;
+	int RESULTPROVIDER__LINKS = PlatformPackage.COMPONENT__LINKS;
 
 	/**
 	 * The feature id for the '<em><b>Rlinks</b></em>' reference list.
@@ -1021,7 +847,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER__RLINKS = PlatformPackage.COMPONENT__RLINKS;
+	int RESULTPROVIDER__RLINKS = PlatformPackage.COMPONENT__RLINKS;
 
 	/**
 	 * The feature id for the '<em><b>Occi Component State</b></em>' attribute.
@@ -1030,7 +856,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER__OCCI_COMPONENT_STATE = PlatformPackage.COMPONENT__OCCI_COMPONENT_STATE;
+	int RESULTPROVIDER__OCCI_COMPONENT_STATE = PlatformPackage.COMPONENT__OCCI_COMPONENT_STATE;
 
 	/**
 	 * The feature id for the '<em><b>Occi Component State Message</b></em>' attribute.
@@ -1039,16 +865,16 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER__OCCI_COMPONENT_STATE_MESSAGE = PlatformPackage.COMPONENT__OCCI_COMPONENT_STATE_MESSAGE;
+	int RESULTPROVIDER__OCCI_COMPONENT_STATE_MESSAGE = PlatformPackage.COMPONENT__OCCI_COMPONENT_STATE_MESSAGE;
 
 	/**
-	 * The number of structural features of the '<em>Publisher</em>' class.
+	 * The number of structural features of the '<em>Resultprovider</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER_FEATURE_COUNT = PlatformPackage.COMPONENT_FEATURE_COUNT + 0;
+	int RESULTPROVIDER_FEATURE_COUNT = PlatformPackage.COMPONENT_FEATURE_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Occi Create</em>' operation.
@@ -1057,7 +883,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER___OCCI_CREATE = PlatformPackage.COMPONENT___OCCI_CREATE;
+	int RESULTPROVIDER___OCCI_CREATE = PlatformPackage.COMPONENT___OCCI_CREATE;
 
 	/**
 	 * The operation id for the '<em>Occi Retrieve</em>' operation.
@@ -1066,7 +892,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER___OCCI_RETRIEVE = PlatformPackage.COMPONENT___OCCI_RETRIEVE;
+	int RESULTPROVIDER___OCCI_RETRIEVE = PlatformPackage.COMPONENT___OCCI_RETRIEVE;
 
 	/**
 	 * The operation id for the '<em>Occi Update</em>' operation.
@@ -1075,7 +901,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER___OCCI_UPDATE = PlatformPackage.COMPONENT___OCCI_UPDATE;
+	int RESULTPROVIDER___OCCI_UPDATE = PlatformPackage.COMPONENT___OCCI_UPDATE;
 
 	/**
 	 * The operation id for the '<em>Occi Delete</em>' operation.
@@ -1084,7 +910,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER___OCCI_DELETE = PlatformPackage.COMPONENT___OCCI_DELETE;
+	int RESULTPROVIDER___OCCI_DELETE = PlatformPackage.COMPONENT___OCCI_DELETE;
 
 	/**
 	 * The operation id for the '<em>Deploy</em>' operation.
@@ -1093,7 +919,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER___DEPLOY = PlatformPackage.COMPONENT___DEPLOY;
+	int RESULTPROVIDER___DEPLOY = PlatformPackage.COMPONENT___DEPLOY;
 
 	/**
 	 * The operation id for the '<em>Undeploy</em>' operation.
@@ -1102,7 +928,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER___UNDEPLOY = PlatformPackage.COMPONENT___UNDEPLOY;
+	int RESULTPROVIDER___UNDEPLOY = PlatformPackage.COMPONENT___UNDEPLOY;
 
 	/**
 	 * The operation id for the '<em>Configure</em>' operation.
@@ -1111,7 +937,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER___CONFIGURE = PlatformPackage.COMPONENT___CONFIGURE;
+	int RESULTPROVIDER___CONFIGURE = PlatformPackage.COMPONENT___CONFIGURE;
 
 	/**
 	 * The operation id for the '<em>Start</em>' operation.
@@ -1120,7 +946,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER___START = PlatformPackage.COMPONENT___START;
+	int RESULTPROVIDER___START = PlatformPackage.COMPONENT___START;
 
 	/**
 	 * The operation id for the '<em>Stop</em>' operation.
@@ -1129,44 +955,62 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER___STOP = PlatformPackage.COMPONENT___STOP;
+	int RESULTPROVIDER___STOP = PlatformPackage.COMPONENT___STOP;
 
 	/**
-	 * The number of operations of the '<em>Publisher</em>' class.
+	 * The number of operations of the '<em>Resultprovider</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER_OPERATION_COUNT = PlatformPackage.COMPONENT_OPERATION_COUNT + 0;
+	int RESULTPROVIDER_OPERATION_COUNT = PlatformPackage.COMPONENT_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link monitoring.impl.MonitoringpropertiesImpl <em>Monitoringproperties</em>}' class.
+	 * The meta object id for the '{@link monitoring.impl.MonitorablepropertyImpl <em>Monitorableproperty</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see monitoring.impl.MonitoringpropertiesImpl
-	 * @see monitoring.impl.MonitoringPackageImpl#getMonitoringproperties()
+	 * @see monitoring.impl.MonitorablepropertyImpl
+	 * @see monitoring.impl.MonitoringPackageImpl#getMonitorableproperty()
 	 * @generated
 	 */
-	int MONITORINGPROPERTIES = 6;
+	int MONITORABLEPROPERTY = 4;
 
 	/**
-	 * The feature id for the '<em><b>Mixin</b></em>' reference.
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int MONITORINGPROPERTIES__MIXIN = OCCIPackage.MIXIN_BASE__MIXIN;
+	int MONITORABLEPROPERTY__ID = OCCIPackage.LINK__ID;
 
 	/**
-	 * The feature id for the '<em><b>Entity</b></em>' container reference.
+	 * The feature id for the '<em><b>Title</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int MONITORINGPROPERTIES__ENTITY = OCCIPackage.MIXIN_BASE__ENTITY;
+	int MONITORABLEPROPERTY__TITLE = OCCIPackage.LINK__TITLE;
+
+	/**
+	 * The feature id for the '<em><b>Kind</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORABLEPROPERTY__KIND = OCCIPackage.LINK__KIND;
+
+	/**
+	 * The feature id for the '<em><b>Location</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORABLEPROPERTY__LOCATION = OCCIPackage.LINK__LOCATION;
 
 	/**
 	 * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
@@ -1175,331 +1019,339 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int MONITORINGPROPERTIES__ATTRIBUTES = OCCIPackage.MIXIN_BASE__ATTRIBUTES;
+	int MONITORABLEPROPERTY__ATTRIBUTES = OCCIPackage.LINK__ATTRIBUTES;
 
 	/**
-	 * The feature id for the '<em><b>Monitoring Properties</b></em>' containment reference.
+	 * The feature id for the '<em><b>Mixins</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int MONITORINGPROPERTIES__MONITORING_PROPERTIES = OCCIPackage.MIXIN_BASE_FEATURE_COUNT + 0;
+	int MONITORABLEPROPERTY__MIXINS = OCCIPackage.LINK__MIXINS;
 
 	/**
-	 * The number of structural features of the '<em>Monitoringproperties</em>' class.
+	 * The feature id for the '<em><b>Parts</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int MONITORINGPROPERTIES_FEATURE_COUNT = OCCIPackage.MIXIN_BASE_FEATURE_COUNT + 1;
+	int MONITORABLEPROPERTY__PARTS = OCCIPackage.LINK__PARTS;
 
 	/**
-	 * The operation id for the '<em>Applies Constraint</em>' operation.
+	 * The feature id for the '<em><b>Source</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int MONITORINGPROPERTIES___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP = OCCIPackage.MIXIN_BASE_OPERATION_COUNT + 0;
+	int MONITORABLEPROPERTY__SOURCE = OCCIPackage.LINK__SOURCE;
 
 	/**
-	 * The number of operations of the '<em>Monitoringproperties</em>' class.
+	 * The feature id for the '<em><b>Target</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int MONITORINGPROPERTIES_OPERATION_COUNT = OCCIPackage.MIXIN_BASE_OPERATION_COUNT + 1;
+	int MONITORABLEPROPERTY__TARGET = OCCIPackage.LINK__TARGET;
 
 	/**
-	 * The meta object id for the '<em>Date Time</em>' data type.
+	 * The feature id for the '<em><b>Monitoring Property</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see java.lang.String
-	 * @see monitoring.impl.MonitoringPackageImpl#getDateTime()
 	 * @generated
+	 * @ordered
 	 */
-	int DATE_TIME = 7;
+	int MONITORABLEPROPERTY__MONITORING_PROPERTY = OCCIPackage.LINK_FEATURE_COUNT + 0;
 
 	/**
-	 * The meta object id for the '<em>Second</em>' data type.
+	 * The feature id for the '<em><b>Monitoring Result</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see java.lang.String
-	 * @see monitoring.impl.MonitoringPackageImpl#getSecond()
 	 * @generated
+	 * @ordered
 	 */
-	int SECOND = 8;
+	int MONITORABLEPROPERTY__MONITORING_RESULT = OCCIPackage.LINK_FEATURE_COUNT + 1;
 
 	/**
-	 * The meta object id for the '<em>String</em>' data type.
+	 * The number of structural features of the '<em>Monitorableproperty</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see java.lang.String
-	 * @see monitoring.impl.MonitoringPackageImpl#getString()
 	 * @generated
+	 * @ordered
 	 */
-	int STRING = 9;
+	int MONITORABLEPROPERTY_FEATURE_COUNT = OCCIPackage.LINK_FEATURE_COUNT + 2;
 
+	/**
+	 * The operation id for the '<em>Occi Create</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORABLEPROPERTY___OCCI_CREATE = OCCIPackage.LINK___OCCI_CREATE;
 
 	/**
-	 * Returns the meta object for class '{@link monitoring.MonitoringProperty <em>Property</em>}'.
+	 * The operation id for the '<em>Occi Retrieve</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Property</em>'.
-	 * @see monitoring.MonitoringProperty
 	 * @generated
+	 * @ordered
 	 */
-	EClass getMonitoringProperty();
+	int MONITORABLEPROPERTY___OCCI_RETRIEVE = OCCIPackage.LINK___OCCI_RETRIEVE;
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.MonitoringProperty#getName <em>Name</em>}'.
+	 * The operation id for the '<em>Occi Update</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see monitoring.MonitoringProperty#getName()
-	 * @see #getMonitoringProperty()
 	 * @generated
+	 * @ordered
 	 */
-	EAttribute getMonitoringProperty_Name();
+	int MONITORABLEPROPERTY___OCCI_UPDATE = OCCIPackage.LINK___OCCI_UPDATE;
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.MonitoringProperty#getValue <em>Value</em>}'.
+	 * The operation id for the '<em>Occi Delete</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Value</em>'.
-	 * @see monitoring.MonitoringProperty#getValue()
-	 * @see #getMonitoringProperty()
 	 * @generated
+	 * @ordered
 	 */
-	EAttribute getMonitoringProperty_Value();
+	int MONITORABLEPROPERTY___OCCI_DELETE = OCCIPackage.LINK___OCCI_DELETE;
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.MonitoringProperty#getId <em>Id</em>}'.
+	 * The operation id for the '<em>Link Target Invariant</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Id</em>'.
-	 * @see monitoring.MonitoringProperty#getId()
-	 * @see #getMonitoringProperty()
 	 * @generated
+	 * @ordered
 	 */
-	EAttribute getMonitoringProperty_Id();
+	int MONITORABLEPROPERTY___LINK_TARGET_INVARIANT__KIND_KIND = OCCIPackage.LINK___LINK_TARGET_INVARIANT__KIND_KIND;
 
 	/**
-	 * Returns the meta object for class '{@link monitoring.MonitoringPropertyArray <em>Property Array</em>}'.
+	 * The operation id for the '<em>Link Source Invariant</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Property Array</em>'.
-	 * @see monitoring.MonitoringPropertyArray
 	 * @generated
+	 * @ordered
 	 */
-	EClass getMonitoringPropertyArray();
+	int MONITORABLEPROPERTY___LINK_SOURCE_INVARIANT__KIND_KIND = OCCIPackage.LINK___LINK_SOURCE_INVARIANT__KIND_KIND;
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link monitoring.MonitoringPropertyArray#getMonitoringpropertyarrayValues <em>Monitoringpropertyarray Values</em>}'.
+	 * The operation id for the '<em>Target Constraint</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Monitoringpropertyarray Values</em>'.
-	 * @see monitoring.MonitoringPropertyArray#getMonitoringpropertyarrayValues()
-	 * @see #getMonitoringPropertyArray()
 	 * @generated
+	 * @ordered
 	 */
-	EReference getMonitoringPropertyArray_MonitoringpropertyarrayValues();
+	int MONITORABLEPROPERTY___TARGET_CONSTRAINT__DIAGNOSTICCHAIN_MAP = OCCIPackage.LINK_OPERATION_COUNT + 0;
 
 	/**
-	 * Returns the meta object for class '{@link monitoring.Sensor <em>Sensor</em>}'.
+	 * The number of operations of the '<em>Monitorableproperty</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Sensor</em>'.
-	 * @see monitoring.Sensor
 	 * @generated
+	 * @ordered
 	 */
-	EClass getSensor();
+	int MONITORABLEPROPERTY_OPERATION_COUNT = OCCIPackage.LINK_OPERATION_COUNT + 1;
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.Sensor#getOcciSensorTimebase <em>Occi Sensor Timebase</em>}'.
+	 * The meta object id for the '{@link monitoring.impl.OcciresultproviderImpl <em>Occiresultprovider</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Occi Sensor Timebase</em>'.
-	 * @see monitoring.Sensor#getOcciSensorTimebase()
-	 * @see #getSensor()
+	 * @see monitoring.impl.OcciresultproviderImpl
+	 * @see monitoring.impl.MonitoringPackageImpl#getOcciresultprovider()
 	 * @generated
 	 */
-	EAttribute getSensor_OcciSensorTimebase();
+	int OCCIRESULTPROVIDER = 5;
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.Sensor#getOcciSensorTimestart <em>Occi Sensor Timestart</em>}'.
+	 * The feature id for the '<em><b>Mixin</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Occi Sensor Timestart</em>'.
-	 * @see monitoring.Sensor#getOcciSensorTimestart()
-	 * @see #getSensor()
 	 * @generated
+	 * @ordered
 	 */
-	EAttribute getSensor_OcciSensorTimestart();
+	int OCCIRESULTPROVIDER__MIXIN = OCCIPackage.MIXIN_BASE__MIXIN;
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.Sensor#getOcciSensorTimestop <em>Occi Sensor Timestop</em>}'.
+	 * The feature id for the '<em><b>Entity</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Occi Sensor Timestop</em>'.
-	 * @see monitoring.Sensor#getOcciSensorTimestop()
-	 * @see #getSensor()
 	 * @generated
+	 * @ordered
 	 */
-	EAttribute getSensor_OcciSensorTimestop();
+	int OCCIRESULTPROVIDER__ENTITY = OCCIPackage.MIXIN_BASE__ENTITY;
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.Sensor#getOcciSensorPeriod <em>Occi Sensor Period</em>}'.
+	 * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Occi Sensor Period</em>'.
-	 * @see monitoring.Sensor#getOcciSensorPeriod()
-	 * @see #getSensor()
 	 * @generated
+	 * @ordered
 	 */
-	EAttribute getSensor_OcciSensorPeriod();
+	int OCCIRESULTPROVIDER__ATTRIBUTES = OCCIPackage.MIXIN_BASE__ATTRIBUTES;
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.Sensor#getOcciSensorGranularity <em>Occi Sensor Granularity</em>}'.
+	 * The feature id for the '<em><b>Result Provider Endpoint</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Occi Sensor Granularity</em>'.
-	 * @see monitoring.Sensor#getOcciSensorGranularity()
-	 * @see #getSensor()
 	 * @generated
+	 * @ordered
 	 */
-	EAttribute getSensor_OcciSensorGranularity();
+	int OCCIRESULTPROVIDER__RESULT_PROVIDER_ENDPOINT = OCCIPackage.MIXIN_BASE_FEATURE_COUNT + 0;
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.Sensor#getOcciSensorAccuracy <em>Occi Sensor Accuracy</em>}'.
+	 * The number of structural features of the '<em>Occiresultprovider</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Occi Sensor Accuracy</em>'.
-	 * @see monitoring.Sensor#getOcciSensorAccuracy()
-	 * @see #getSensor()
 	 * @generated
+	 * @ordered
 	 */
-	EAttribute getSensor_OcciSensorAccuracy();
+	int OCCIRESULTPROVIDER_FEATURE_COUNT = OCCIPackage.MIXIN_BASE_FEATURE_COUNT + 1;
 
 	/**
-	 * Returns the meta object for class '{@link monitoring.Datagatherer <em>Datagatherer</em>}'.
+	 * The operation id for the '<em>Applies Constraint</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Datagatherer</em>'.
-	 * @see monitoring.Datagatherer
 	 * @generated
+	 * @ordered
 	 */
-	EClass getDatagatherer();
+	int OCCIRESULTPROVIDER___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP = OCCIPackage.MIXIN_BASE_OPERATION_COUNT + 0;
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.Datagatherer#getOcciCollectorPeriod <em>Occi Collector Period</em>}'.
+	 * The number of operations of the '<em>Occiresultprovider</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Occi Collector Period</em>'.
-	 * @see monitoring.Datagatherer#getOcciCollectorPeriod()
-	 * @see #getDatagatherer()
 	 * @generated
+	 * @ordered
 	 */
-	EAttribute getDatagatherer_OcciCollectorPeriod();
+	int OCCIRESULTPROVIDER_OPERATION_COUNT = OCCIPackage.MIXIN_BASE_OPERATION_COUNT + 1;
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.Datagatherer#getOcciCollectorGranularity <em>Occi Collector Granularity</em>}'.
+	 * The meta object id for the '<em>String</em>' data type.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Occi Collector Granularity</em>'.
-	 * @see monitoring.Datagatherer#getOcciCollectorGranularity()
-	 * @see #getDatagatherer()
+	 * @see java.lang.String
+	 * @see monitoring.impl.MonitoringPackageImpl#getString()
 	 * @generated
 	 */
-	EAttribute getDatagatherer_OcciCollectorGranularity();
+	int STRING = 6;
+
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.Datagatherer#getOcciCollectorAccuracy <em>Occi Collector Accuracy</em>}'.
+	 * Returns the meta object for class '{@link monitoring.Sensor <em>Sensor</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Occi Collector Accuracy</em>'.
-	 * @see monitoring.Datagatherer#getOcciCollectorAccuracy()
-	 * @see #getDatagatherer()
+	 * @return the meta object for class '<em>Sensor</em>'.
+	 * @see monitoring.Sensor
 	 * @generated
 	 */
-	EAttribute getDatagatherer_OcciCollectorAccuracy();
+	EClass getSensor();
 
 	/**
-	 * Returns the meta object for class '{@link monitoring.Processor <em>Processor</em>}'.
+	 * Returns the meta object for class '{@link monitoring.Datagatherer <em>Datagatherer</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Processor</em>'.
-	 * @see monitoring.Processor
+	 * @return the meta object for class '<em>Datagatherer</em>'.
+	 * @see monitoring.Datagatherer
 	 * @generated
 	 */
-	EClass getProcessor();
+	EClass getDatagatherer();
 
 	/**
-	 * Returns the meta object for class '{@link monitoring.Publisher <em>Publisher</em>}'.
+	 * Returns the meta object for class '{@link monitoring.Dataprocessor <em>Dataprocessor</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Publisher</em>'.
-	 * @see monitoring.Publisher
+	 * @return the meta object for class '<em>Dataprocessor</em>'.
+	 * @see monitoring.Dataprocessor
 	 * @generated
 	 */
-	EClass getPublisher();
+	EClass getDataprocessor();
 
 	/**
-	 * Returns the meta object for class '{@link monitoring.Monitoringproperties <em>Monitoringproperties</em>}'.
+	 * Returns the meta object for class '{@link monitoring.Resultprovider <em>Resultprovider</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Monitoringproperties</em>'.
-	 * @see monitoring.Monitoringproperties
+	 * @return the meta object for class '<em>Resultprovider</em>'.
+	 * @see monitoring.Resultprovider
 	 * @generated
 	 */
-	EClass getMonitoringproperties();
+	EClass getResultprovider();
 
 	/**
-	 * Returns the meta object for the containment reference '{@link monitoring.Monitoringproperties#getMonitoringProperties <em>Monitoring Properties</em>}'.
+	 * Returns the meta object for class '{@link monitoring.Monitorableproperty <em>Monitorableproperty</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Monitoring Properties</em>'.
-	 * @see monitoring.Monitoringproperties#getMonitoringProperties()
-	 * @see #getMonitoringproperties()
+	 * @return the meta object for class '<em>Monitorableproperty</em>'.
+	 * @see monitoring.Monitorableproperty
 	 * @generated
 	 */
-	EReference getMonitoringproperties_MonitoringProperties();
+	EClass getMonitorableproperty();
 
 	/**
-	 * Returns the meta object for the '{@link monitoring.Monitoringproperties#appliesConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Applies Constraint</em>}' operation.
+	 * Returns the meta object for the attribute '{@link monitoring.Monitorableproperty#getMonitoringProperty <em>Monitoring Property</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the '<em>Applies Constraint</em>' operation.
-	 * @see monitoring.Monitoringproperties#appliesConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+	 * @return the meta object for the attribute '<em>Monitoring Property</em>'.
+	 * @see monitoring.Monitorableproperty#getMonitoringProperty()
+	 * @see #getMonitorableproperty()
 	 * @generated
 	 */
-	EOperation getMonitoringproperties__AppliesConstraint__DiagnosticChain_Map();
+	EAttribute getMonitorableproperty_MonitoringProperty();
 
 	/**
-	 * Returns the meta object for data type '{@link java.lang.String <em>Date Time</em>}'.
+	 * Returns the meta object for the attribute '{@link monitoring.Monitorableproperty#getMonitoringResult <em>Monitoring Result</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for data type '<em>Date Time</em>'.
-	 * @see java.lang.String
-	 * @model instanceClass="java.lang.String"
-	 *        extendedMetaData="pattern='^(\\d{4}((-)?(0[1-9]|1[0-2])((-)?(0[1-9]|[1-2][0-9]|3[0-1])(T(24:00(:00(\\.[0]+)?)?|(([0-1][0-9]|2[0-3])(:)[0-5][0-9])((:)[0-5][0-9](\\.[\\d]+)?)?)((\\+|-)(14:00|(0[0-9]|1[0-3])(:)[0-5][0-9])|Z))?)?)?)$'"
+	 * @return the meta object for the attribute '<em>Monitoring Result</em>'.
+	 * @see monitoring.Monitorableproperty#getMonitoringResult()
+	 * @see #getMonitorableproperty()
 	 * @generated
 	 */
-	EDataType getDateTime();
+	EAttribute getMonitorableproperty_MonitoringResult();
 
 	/**
-	 * Returns the meta object for data type '{@link java.lang.String <em>Second</em>}'.
+	 * Returns the meta object for the '{@link monitoring.Monitorableproperty#targetConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Target Constraint</em>}' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for data type '<em>Second</em>'.
-	 * @see java.lang.String
-	 * @model instanceClass="java.lang.String"
+	 * @return the meta object for the '<em>Target Constraint</em>' operation.
+	 * @see monitoring.Monitorableproperty#targetConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	EDataType getSecond();
+	EOperation getMonitorableproperty__TargetConstraint__DiagnosticChain_Map();
+
+	/**
+	 * Returns the meta object for class '{@link monitoring.Occiresultprovider <em>Occiresultprovider</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Occiresultprovider</em>'.
+	 * @see monitoring.Occiresultprovider
+	 * @generated
+	 */
+	EClass getOcciresultprovider();
+
+	/**
+	 * Returns the meta object for the attribute '{@link monitoring.Occiresultprovider#getResultProviderEndpoint <em>Result Provider Endpoint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Result Provider Endpoint</em>'.
+	 * @see monitoring.Occiresultprovider#getResultProviderEndpoint()
+	 * @see #getOcciresultprovider()
+	 * @generated
+	 */
+	EAttribute getOcciresultprovider_ResultProviderEndpoint();
+
+	/**
+	 * Returns the meta object for the '{@link monitoring.Occiresultprovider#appliesConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Applies Constraint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Applies Constraint</em>' operation.
+	 * @see monitoring.Occiresultprovider#appliesConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+	 * @generated
+	 */
+	EOperation getOcciresultprovider__AppliesConstraint__DiagnosticChain_Map();
 
 	/**
 	 * Returns the meta object for data type '{@link java.lang.String <em>String</em>}'.
@@ -1535,58 +1387,6 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 */
 	interface Literals {
-		/**
-		 * The meta object literal for the '{@link monitoring.impl.MonitoringPropertyImpl <em>Property</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see monitoring.impl.MonitoringPropertyImpl
-		 * @see monitoring.impl.MonitoringPackageImpl#getMonitoringProperty()
-		 * @generated
-		 */
-		EClass MONITORING_PROPERTY = eINSTANCE.getMonitoringProperty();
-
-		/**
-		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORING_PROPERTY__NAME = eINSTANCE.getMonitoringProperty_Name();
-
-		/**
-		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORING_PROPERTY__VALUE = eINSTANCE.getMonitoringProperty_Value();
-
-		/**
-		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORING_PROPERTY__ID = eINSTANCE.getMonitoringProperty_Id();
-
-		/**
-		 * The meta object literal for the '{@link monitoring.impl.MonitoringPropertyArrayImpl <em>Property Array</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see monitoring.impl.MonitoringPropertyArrayImpl
-		 * @see monitoring.impl.MonitoringPackageImpl#getMonitoringPropertyArray()
-		 * @generated
-		 */
-		EClass MONITORING_PROPERTY_ARRAY = eINSTANCE.getMonitoringPropertyArray();
-
-		/**
-		 * The meta object literal for the '<em><b>Monitoringpropertyarray Values</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES = eINSTANCE.getMonitoringPropertyArray_MonitoringpropertyarrayValues();
-
 		/**
 		 * The meta object literal for the '{@link monitoring.impl.SensorImpl <em>Sensor</em>}' class.
 		 * <!-- begin-user-doc -->
@@ -1597,54 +1397,6 @@ public interface MonitoringPackage extends EPackage {
 		 */
 		EClass SENSOR = eINSTANCE.getSensor();
 
-		/**
-		 * The meta object literal for the '<em><b>Occi Sensor Timebase</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute SENSOR__OCCI_SENSOR_TIMEBASE = eINSTANCE.getSensor_OcciSensorTimebase();
-
-		/**
-		 * The meta object literal for the '<em><b>Occi Sensor Timestart</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute SENSOR__OCCI_SENSOR_TIMESTART = eINSTANCE.getSensor_OcciSensorTimestart();
-
-		/**
-		 * The meta object literal for the '<em><b>Occi Sensor Timestop</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute SENSOR__OCCI_SENSOR_TIMESTOP = eINSTANCE.getSensor_OcciSensorTimestop();
-
-		/**
-		 * The meta object literal for the '<em><b>Occi Sensor Period</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute SENSOR__OCCI_SENSOR_PERIOD = eINSTANCE.getSensor_OcciSensorPeriod();
-
-		/**
-		 * The meta object literal for the '<em><b>Occi Sensor Granularity</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute SENSOR__OCCI_SENSOR_GRANULARITY = eINSTANCE.getSensor_OcciSensorGranularity();
-
-		/**
-		 * The meta object literal for the '<em><b>Occi Sensor Accuracy</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute SENSOR__OCCI_SENSOR_ACCURACY = eINSTANCE.getSensor_OcciSensorAccuracy();
-
 		/**
 		 * The meta object literal for the '{@link monitoring.impl.DatagathererImpl <em>Datagatherer</em>}' class.
 		 * <!-- begin-user-doc -->
@@ -1656,94 +1408,84 @@ public interface MonitoringPackage extends EPackage {
 		EClass DATAGATHERER = eINSTANCE.getDatagatherer();
 
 		/**
-		 * The meta object literal for the '<em><b>Occi Collector Period</b></em>' attribute feature.
+		 * The meta object literal for the '{@link monitoring.impl.DataprocessorImpl <em>Dataprocessor</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
+		 * @see monitoring.impl.DataprocessorImpl
+		 * @see monitoring.impl.MonitoringPackageImpl#getDataprocessor()
 		 * @generated
 		 */
-		EAttribute DATAGATHERER__OCCI_COLLECTOR_PERIOD = eINSTANCE.getDatagatherer_OcciCollectorPeriod();
+		EClass DATAPROCESSOR = eINSTANCE.getDataprocessor();
 
 		/**
-		 * The meta object literal for the '<em><b>Occi Collector Granularity</b></em>' attribute feature.
+		 * The meta object literal for the '{@link monitoring.impl.ResultproviderImpl <em>Resultprovider</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
+		 * @see monitoring.impl.ResultproviderImpl
+		 * @see monitoring.impl.MonitoringPackageImpl#getResultprovider()
 		 * @generated
 		 */
-		EAttribute DATAGATHERER__OCCI_COLLECTOR_GRANULARITY = eINSTANCE.getDatagatherer_OcciCollectorGranularity();
+		EClass RESULTPROVIDER = eINSTANCE.getResultprovider();
 
 		/**
-		 * The meta object literal for the '<em><b>Occi Collector Accuracy</b></em>' attribute feature.
+		 * The meta object literal for the '{@link monitoring.impl.MonitorablepropertyImpl <em>Monitorableproperty</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
+		 * @see monitoring.impl.MonitorablepropertyImpl
+		 * @see monitoring.impl.MonitoringPackageImpl#getMonitorableproperty()
 		 * @generated
 		 */
-		EAttribute DATAGATHERER__OCCI_COLLECTOR_ACCURACY = eINSTANCE.getDatagatherer_OcciCollectorAccuracy();
+		EClass MONITORABLEPROPERTY = eINSTANCE.getMonitorableproperty();
 
 		/**
-		 * The meta object literal for the '{@link monitoring.impl.ProcessorImpl <em>Processor</em>}' class.
+		 * The meta object literal for the '<em><b>Monitoring Property</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see monitoring.impl.ProcessorImpl
-		 * @see monitoring.impl.MonitoringPackageImpl#getProcessor()
 		 * @generated
 		 */
-		EClass PROCESSOR = eINSTANCE.getProcessor();
+		EAttribute MONITORABLEPROPERTY__MONITORING_PROPERTY = eINSTANCE.getMonitorableproperty_MonitoringProperty();
 
 		/**
-		 * The meta object literal for the '{@link monitoring.impl.PublisherImpl <em>Publisher</em>}' class.
+		 * The meta object literal for the '<em><b>Monitoring Result</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see monitoring.impl.PublisherImpl
-		 * @see monitoring.impl.MonitoringPackageImpl#getPublisher()
 		 * @generated
 		 */
-		EClass PUBLISHER = eINSTANCE.getPublisher();
+		EAttribute MONITORABLEPROPERTY__MONITORING_RESULT = eINSTANCE.getMonitorableproperty_MonitoringResult();
 
 		/**
-		 * The meta object literal for the '{@link monitoring.impl.MonitoringpropertiesImpl <em>Monitoringproperties</em>}' class.
+		 * The meta object literal for the '<em><b>Target Constraint</b></em>' operation.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see monitoring.impl.MonitoringpropertiesImpl
-		 * @see monitoring.impl.MonitoringPackageImpl#getMonitoringproperties()
 		 * @generated
 		 */
-		EClass MONITORINGPROPERTIES = eINSTANCE.getMonitoringproperties();
+		EOperation MONITORABLEPROPERTY___TARGET_CONSTRAINT__DIAGNOSTICCHAIN_MAP = eINSTANCE.getMonitorableproperty__TargetConstraint__DiagnosticChain_Map();
 
 		/**
-		 * The meta object literal for the '<em><b>Monitoring Properties</b></em>' containment reference feature.
+		 * The meta object literal for the '{@link monitoring.impl.OcciresultproviderImpl <em>Occiresultprovider</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
+		 * @see monitoring.impl.OcciresultproviderImpl
+		 * @see monitoring.impl.MonitoringPackageImpl#getOcciresultprovider()
 		 * @generated
 		 */
-		EReference MONITORINGPROPERTIES__MONITORING_PROPERTIES = eINSTANCE.getMonitoringproperties_MonitoringProperties();
+		EClass OCCIRESULTPROVIDER = eINSTANCE.getOcciresultprovider();
 
 		/**
-		 * The meta object literal for the '<em><b>Applies Constraint</b></em>' operation.
+		 * The meta object literal for the '<em><b>Result Provider Endpoint</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EOperation MONITORINGPROPERTIES___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP = eINSTANCE.getMonitoringproperties__AppliesConstraint__DiagnosticChain_Map();
+		EAttribute OCCIRESULTPROVIDER__RESULT_PROVIDER_ENDPOINT = eINSTANCE.getOcciresultprovider_ResultProviderEndpoint();
 
 		/**
-		 * The meta object literal for the '<em>Date Time</em>' data type.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see java.lang.String
-		 * @see monitoring.impl.MonitoringPackageImpl#getDateTime()
-		 * @generated
-		 */
-		EDataType DATE_TIME = eINSTANCE.getDateTime();
-
-		/**
-		 * The meta object literal for the '<em>Second</em>' data type.
+		 * The meta object literal for the '<em><b>Applies Constraint</b></em>' operation.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see java.lang.String
-		 * @see monitoring.impl.MonitoringPackageImpl#getSecond()
 		 * @generated
 		 */
-		EDataType SECOND = eINSTANCE.getSecond();
+		EOperation OCCIRESULTPROVIDER___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP = eINSTANCE.getOcciresultprovider__AppliesConstraint__DiagnosticChain_Map();
 
 		/**
 		 * The meta object literal for the '<em>String</em>' data type.
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringProperty.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringProperty.java
deleted file mode 100644
index 5912e67814865393cf82fc114cecdfb7189096fb..0000000000000000000000000000000000000000
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringProperty.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- * Copyright (c) 2015-2017 Obeo, Inria
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 	
- * Contributors:
- * - William Piers <william.piers@obeo.fr>
- * - Philippe Merle <philippe.merle@inria.fr>
- * - Faiez Zalila <faiez.zalila@inria.fr>
- */
-package monitoring;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Property</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link monitoring.MonitoringProperty#getName <em>Name</em>}</li>
- *   <li>{@link monitoring.MonitoringProperty#getValue <em>Value</em>}</li>
- *   <li>{@link monitoring.MonitoringProperty#getId <em>Id</em>}</li>
- * </ul>
- *
- * @see monitoring.MonitoringPackage#getMonitoringProperty()
- * @model
- * @generated
- */
-public interface MonitoringProperty extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * 
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see monitoring.MonitoringPackage#getMonitoringProperty_Name()
-	 * @model dataType="monitoring.String" required="true"
-	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!MonitoringProperty!name'"
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Sets the value of the '{@link monitoring.MonitoringProperty#getName <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Name</em>' attribute.
-	 * @see #getName()
-	 * @generated
-	 */
-	void setName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * 
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(String)
-	 * @see monitoring.MonitoringPackage#getMonitoringProperty_Value()
-	 * @model dataType="monitoring.String" required="true"
-	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!MonitoringProperty!value'"
-	 * @generated
-	 */
-	String getValue();
-
-	/**
-	 * Sets the value of the '{@link monitoring.MonitoringProperty#getValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Value</em>' attribute.
-	 * @see #getValue()
-	 * @generated
-	 */
-	void setValue(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Id</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * 
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Id</em>' attribute.
-	 * @see #setId(String)
-	 * @see monitoring.MonitoringPackage#getMonitoringProperty_Id()
-	 * @model dataType="monitoring.String" required="true"
-	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!MonitoringProperty!Id'"
-	 * @generated
-	 */
-	String getId();
-
-	/**
-	 * Sets the value of the '{@link monitoring.MonitoringProperty#getId <em>Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Id</em>' attribute.
-	 * @see #getId()
-	 * @generated
-	 */
-	void setId(String value);
-
-} // MonitoringProperty
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringPropertyArray.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringPropertyArray.java
deleted file mode 100644
index dda505b4e66797d4a9c2226be3a5d291b0f73d1b..0000000000000000000000000000000000000000
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringPropertyArray.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Copyright (c) 2015-2017 Obeo, Inria
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 	
- * Contributors:
- * - William Piers <william.piers@obeo.fr>
- * - Philippe Merle <philippe.merle@inria.fr>
- * - Faiez Zalila <faiez.zalila@inria.fr>
- */
-package monitoring;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Property Array</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link monitoring.MonitoringPropertyArray#getMonitoringpropertyarrayValues <em>Monitoringpropertyarray Values</em>}</li>
- * </ul>
- *
- * @see monitoring.MonitoringPackage#getMonitoringPropertyArray()
- * @model
- * @generated
- */
-public interface MonitoringPropertyArray extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Monitoringpropertyarray Values</b></em>' containment reference list.
-	 * The list contents are of type {@link monitoring.MonitoringProperty}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Monitoringpropertyarray Values</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Monitoringpropertyarray Values</em>' containment reference list.
-	 * @see monitoring.MonitoringPackage#getMonitoringPropertyArray_MonitoringpropertyarrayValues()
-	 * @model containment="true"
-	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!MonitoringPropertyArray!monitoringpropertyarrayValues'"
-	 * @generated
-	 */
-	EList<MonitoringProperty> getMonitoringpropertyarrayValues();
-
-} // MonitoringPropertyArray
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringTables.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringTables.java
index 1ad948b2a97db604686cf29c50ec00861f590db8..43e85896ecb13fe966e219fc17dac16341e8d508 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringTables.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringTables.java
@@ -29,11 +29,9 @@ import org.eclipse.ocl.pivot.ids.TypeId;
 import org.eclipse.ocl.pivot.internal.library.ecore.EcoreExecutorPackage;
 import org.eclipse.ocl.pivot.internal.library.ecore.EcoreExecutorProperty;
 import org.eclipse.ocl.pivot.internal.library.ecore.EcoreExecutorType;
-import org.eclipse.ocl.pivot.internal.library.ecore.EcoreLibraryOppositeProperty;
 import org.eclipse.ocl.pivot.internal.library.executor.ExecutorFragment;
 import org.eclipse.ocl.pivot.internal.library.executor.ExecutorOperation;
 import org.eclipse.ocl.pivot.internal.library.executor.ExecutorProperty;
-import org.eclipse.ocl.pivot.internal.library.executor.ExecutorPropertyWithImplementation;
 import org.eclipse.ocl.pivot.internal.library.executor.ExecutorStandardLibrary;
 import org.eclipse.ocl.pivot.oclstdlib.OCLstdlibTables;
 import org.eclipse.ocl.pivot.utilities.TypeUtil;
@@ -70,15 +68,14 @@ public class MonitoringTables
 	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.NsURIPackageId PACKid_http_c_s_s_schemas_ugoe_cs_rwm_s_monitoring_s_ecore = org.eclipse.ocl.pivot.ids.IdManager.getNsURIPackageId("http://schemas.ugoe.cs.rwm/monitoring/ecore", null, monitoring.MonitoringPackage.eINSTANCE);
 	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.ClassId CLSSid_Class = monitoring.MonitoringTables.PACKid_$metamodel$.getClassId("Class", 0);
 	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.ClassId CLSSid_Entity = monitoring.MonitoringTables.PACKid_http_c_s_s_schemas_ogf_org_s_occi_s_core_s_ecore.getClassId("Entity", 0);
-	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.ClassId CLSSid_MonitoringProperty = monitoring.MonitoringTables.PACKid_http_c_s_s_schemas_ugoe_cs_rwm_s_monitoring_s_ecore.getClassId("MonitoringProperty", 0);
-	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.ClassId CLSSid_MonitoringPropertyArray = monitoring.MonitoringTables.PACKid_http_c_s_s_schemas_ugoe_cs_rwm_s_monitoring_s_ecore.getClassId("MonitoringPropertyArray", 0);
-	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.ClassId CLSSid_Monitoringproperties = monitoring.MonitoringTables.PACKid_http_c_s_s_schemas_ugoe_cs_rwm_s_monitoring_s_ecore.getClassId("Monitoringproperties", 0);
+	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.ClassId CLSSid_Monitorableproperty = monitoring.MonitoringTables.PACKid_http_c_s_s_schemas_ugoe_cs_rwm_s_monitoring_s_ecore.getClassId("Monitorableproperty", 0);
+	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.ClassId CLSSid_Occiresultprovider = monitoring.MonitoringTables.PACKid_http_c_s_s_schemas_ugoe_cs_rwm_s_monitoring_s_ecore.getClassId("Occiresultprovider", 0);
 	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.ClassId CLSSid_Resource = monitoring.MonitoringTables.PACKid_http_c_s_s_schemas_ogf_org_s_occi_s_core_s_ecore.getClassId("Resource", 0);
-	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.DataTypeId DATAid_DateTime = monitoring.MonitoringTables.PACKid_http_c_s_s_schemas_ugoe_cs_rwm_s_monitoring_s_ecore.getDataTypeId("DateTime", 0);
-	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.DataTypeId DATAid_Second = monitoring.MonitoringTables.PACKid_http_c_s_s_schemas_ugoe_cs_rwm_s_monitoring_s_ecore.getDataTypeId("Second", 0);
+	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.ClassId CLSSid_Resultprovider = monitoring.MonitoringTables.PACKid_http_c_s_s_schemas_ugoe_cs_rwm_s_monitoring_s_ecore.getClassId("Resultprovider", 0);
+	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.ClassId CLSSid_Sensor = monitoring.MonitoringTables.PACKid_http_c_s_s_schemas_ugoe_cs_rwm_s_monitoring_s_ecore.getClassId("Sensor", 0);
 	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.IntegerValue INT_0 = org.eclipse.ocl.pivot.utilities.ValueUtil.integerValueOf("0");
-	public static final /*@NonInvalid*/ java.lang.String STR_Monitoringproperties_c_c_appliesConstraint = "Monitoringproperties::appliesConstraint";
-	public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.CollectionTypeId ORD_CLSSid_MonitoringProperty = org.eclipse.ocl.pivot.ids.TypeId.ORDERED_SET.getSpecializedId(monitoring.MonitoringTables.CLSSid_MonitoringProperty);
+	public static final /*@NonInvalid*/ java.lang.String STR_Monitorableproperty_c_c_targetConstraint = "Monitorableproperty::targetConstraint";
+	public static final /*@NonInvalid*/ java.lang.String STR_Occiresultprovider_c_c_appliesConstraint = "Occiresultprovider::appliesConstraint";
 
 	/**
 	 *	The type parameters for templated types and operations.
@@ -109,25 +106,19 @@ public class MonitoringTables
 		}
 
 		public static final /*@NonNull*/ EcoreExecutorType _Datagatherer = new EcoreExecutorType(MonitoringPackage.Literals.DATAGATHERER, PACKAGE, 0);
-		public static final /*@NonNull*/ EcoreExecutorType _DateTime = new EcoreExecutorType("DateTime", PACKAGE, 0);
-		public static final /*@NonNull*/ EcoreExecutorType _MonitoringProperty = new EcoreExecutorType(MonitoringPackage.Literals.MONITORING_PROPERTY, PACKAGE, 0);
-		public static final /*@NonNull*/ EcoreExecutorType _MonitoringPropertyArray = new EcoreExecutorType(MonitoringPackage.Literals.MONITORING_PROPERTY_ARRAY, PACKAGE, 0);
-		public static final /*@NonNull*/ EcoreExecutorType _Monitoringproperties = new EcoreExecutorType(MonitoringPackage.Literals.MONITORINGPROPERTIES, PACKAGE, 0);
-		public static final /*@NonNull*/ EcoreExecutorType _Processor = new EcoreExecutorType(MonitoringPackage.Literals.PROCESSOR, PACKAGE, 0);
-		public static final /*@NonNull*/ EcoreExecutorType _Publisher = new EcoreExecutorType(MonitoringPackage.Literals.PUBLISHER, PACKAGE, 0);
-		public static final /*@NonNull*/ EcoreExecutorType _Second = new EcoreExecutorType("Second", PACKAGE, 0);
+		public static final /*@NonNull*/ EcoreExecutorType _Dataprocessor = new EcoreExecutorType(MonitoringPackage.Literals.DATAPROCESSOR, PACKAGE, 0);
+		public static final /*@NonNull*/ EcoreExecutorType _Monitorableproperty = new EcoreExecutorType(MonitoringPackage.Literals.MONITORABLEPROPERTY, PACKAGE, 0);
+		public static final /*@NonNull*/ EcoreExecutorType _Occiresultprovider = new EcoreExecutorType(MonitoringPackage.Literals.OCCIRESULTPROVIDER, PACKAGE, 0);
+		public static final /*@NonNull*/ EcoreExecutorType _Resultprovider = new EcoreExecutorType(MonitoringPackage.Literals.RESULTPROVIDER, PACKAGE, 0);
 		public static final /*@NonNull*/ EcoreExecutorType _Sensor = new EcoreExecutorType(MonitoringPackage.Literals.SENSOR, PACKAGE, 0);
 		public static final /*@NonNull*/ EcoreExecutorType _String = new EcoreExecutorType(TypeId.STRING, PACKAGE, 0);
 
 		private static final /*@NonNull*/ EcoreExecutorType /*@NonNull*/ [] types = {
 			_Datagatherer,
-			_DateTime,
-			_MonitoringProperty,
-			_MonitoringPropertyArray,
-			_Monitoringproperties,
-			_Processor,
-			_Publisher,
-			_Second,
+			_Dataprocessor,
+			_Monitorableproperty,
+			_Occiresultprovider,
+			_Resultprovider,
 			_Sensor,
 			_String
 		};
@@ -162,38 +153,30 @@ public class MonitoringTables
 		private static final /*@NonNull*/ ExecutorFragment _Datagatherer__OclElement = new ExecutorFragment(Types._Datagatherer, OCLstdlibTables.Types._OclElement);
 		private static final /*@NonNull*/ ExecutorFragment _Datagatherer__Resource = new ExecutorFragment(Types._Datagatherer, OCCITables.Types._Resource);
 
-		private static final /*@NonNull*/ ExecutorFragment _DateTime__DateTime = new ExecutorFragment(Types._DateTime, MonitoringTables.Types._DateTime);
-		private static final /*@NonNull*/ ExecutorFragment _DateTime__OclAny = new ExecutorFragment(Types._DateTime, OCLstdlibTables.Types._OclAny);
-
-		private static final /*@NonNull*/ ExecutorFragment _MonitoringProperty__MonitoringProperty = new ExecutorFragment(Types._MonitoringProperty, MonitoringTables.Types._MonitoringProperty);
-		private static final /*@NonNull*/ ExecutorFragment _MonitoringProperty__OclAny = new ExecutorFragment(Types._MonitoringProperty, OCLstdlibTables.Types._OclAny);
-		private static final /*@NonNull*/ ExecutorFragment _MonitoringProperty__OclElement = new ExecutorFragment(Types._MonitoringProperty, OCLstdlibTables.Types._OclElement);
-
-		private static final /*@NonNull*/ ExecutorFragment _MonitoringPropertyArray__MonitoringPropertyArray = new ExecutorFragment(Types._MonitoringPropertyArray, MonitoringTables.Types._MonitoringPropertyArray);
-		private static final /*@NonNull*/ ExecutorFragment _MonitoringPropertyArray__OclAny = new ExecutorFragment(Types._MonitoringPropertyArray, OCLstdlibTables.Types._OclAny);
-		private static final /*@NonNull*/ ExecutorFragment _MonitoringPropertyArray__OclElement = new ExecutorFragment(Types._MonitoringPropertyArray, OCLstdlibTables.Types._OclElement);
-
-		private static final /*@NonNull*/ ExecutorFragment _Monitoringproperties__MixinBase = new ExecutorFragment(Types._Monitoringproperties, OCCITables.Types._MixinBase);
-		private static final /*@NonNull*/ ExecutorFragment _Monitoringproperties__Monitoringproperties = new ExecutorFragment(Types._Monitoringproperties, MonitoringTables.Types._Monitoringproperties);
-		private static final /*@NonNull*/ ExecutorFragment _Monitoringproperties__OclAny = new ExecutorFragment(Types._Monitoringproperties, OCLstdlibTables.Types._OclAny);
-		private static final /*@NonNull*/ ExecutorFragment _Monitoringproperties__OclElement = new ExecutorFragment(Types._Monitoringproperties, OCLstdlibTables.Types._OclElement);
-
-		private static final /*@NonNull*/ ExecutorFragment _Processor__Component = new ExecutorFragment(Types._Processor, PlatformTables.Types._Component);
-		private static final /*@NonNull*/ ExecutorFragment _Processor__Entity = new ExecutorFragment(Types._Processor, OCCITables.Types._Entity);
-		private static final /*@NonNull*/ ExecutorFragment _Processor__OclAny = new ExecutorFragment(Types._Processor, OCLstdlibTables.Types._OclAny);
-		private static final /*@NonNull*/ ExecutorFragment _Processor__OclElement = new ExecutorFragment(Types._Processor, OCLstdlibTables.Types._OclElement);
-		private static final /*@NonNull*/ ExecutorFragment _Processor__Processor = new ExecutorFragment(Types._Processor, MonitoringTables.Types._Processor);
-		private static final /*@NonNull*/ ExecutorFragment _Processor__Resource = new ExecutorFragment(Types._Processor, OCCITables.Types._Resource);
-
-		private static final /*@NonNull*/ ExecutorFragment _Publisher__Component = new ExecutorFragment(Types._Publisher, PlatformTables.Types._Component);
-		private static final /*@NonNull*/ ExecutorFragment _Publisher__Entity = new ExecutorFragment(Types._Publisher, OCCITables.Types._Entity);
-		private static final /*@NonNull*/ ExecutorFragment _Publisher__OclAny = new ExecutorFragment(Types._Publisher, OCLstdlibTables.Types._OclAny);
-		private static final /*@NonNull*/ ExecutorFragment _Publisher__OclElement = new ExecutorFragment(Types._Publisher, OCLstdlibTables.Types._OclElement);
-		private static final /*@NonNull*/ ExecutorFragment _Publisher__Publisher = new ExecutorFragment(Types._Publisher, MonitoringTables.Types._Publisher);
-		private static final /*@NonNull*/ ExecutorFragment _Publisher__Resource = new ExecutorFragment(Types._Publisher, OCCITables.Types._Resource);
-
-		private static final /*@NonNull*/ ExecutorFragment _Second__OclAny = new ExecutorFragment(Types._Second, OCLstdlibTables.Types._OclAny);
-		private static final /*@NonNull*/ ExecutorFragment _Second__Second = new ExecutorFragment(Types._Second, MonitoringTables.Types._Second);
+		private static final /*@NonNull*/ ExecutorFragment _Dataprocessor__Component = new ExecutorFragment(Types._Dataprocessor, PlatformTables.Types._Component);
+		private static final /*@NonNull*/ ExecutorFragment _Dataprocessor__Dataprocessor = new ExecutorFragment(Types._Dataprocessor, MonitoringTables.Types._Dataprocessor);
+		private static final /*@NonNull*/ ExecutorFragment _Dataprocessor__Entity = new ExecutorFragment(Types._Dataprocessor, OCCITables.Types._Entity);
+		private static final /*@NonNull*/ ExecutorFragment _Dataprocessor__OclAny = new ExecutorFragment(Types._Dataprocessor, OCLstdlibTables.Types._OclAny);
+		private static final /*@NonNull*/ ExecutorFragment _Dataprocessor__OclElement = new ExecutorFragment(Types._Dataprocessor, OCLstdlibTables.Types._OclElement);
+		private static final /*@NonNull*/ ExecutorFragment _Dataprocessor__Resource = new ExecutorFragment(Types._Dataprocessor, OCCITables.Types._Resource);
+
+		private static final /*@NonNull*/ ExecutorFragment _Monitorableproperty__Entity = new ExecutorFragment(Types._Monitorableproperty, OCCITables.Types._Entity);
+		private static final /*@NonNull*/ ExecutorFragment _Monitorableproperty__Link = new ExecutorFragment(Types._Monitorableproperty, OCCITables.Types._Link);
+		private static final /*@NonNull*/ ExecutorFragment _Monitorableproperty__Monitorableproperty = new ExecutorFragment(Types._Monitorableproperty, MonitoringTables.Types._Monitorableproperty);
+		private static final /*@NonNull*/ ExecutorFragment _Monitorableproperty__OclAny = new ExecutorFragment(Types._Monitorableproperty, OCLstdlibTables.Types._OclAny);
+		private static final /*@NonNull*/ ExecutorFragment _Monitorableproperty__OclElement = new ExecutorFragment(Types._Monitorableproperty, OCLstdlibTables.Types._OclElement);
+
+		private static final /*@NonNull*/ ExecutorFragment _Occiresultprovider__MixinBase = new ExecutorFragment(Types._Occiresultprovider, OCCITables.Types._MixinBase);
+		private static final /*@NonNull*/ ExecutorFragment _Occiresultprovider__Occiresultprovider = new ExecutorFragment(Types._Occiresultprovider, MonitoringTables.Types._Occiresultprovider);
+		private static final /*@NonNull*/ ExecutorFragment _Occiresultprovider__OclAny = new ExecutorFragment(Types._Occiresultprovider, OCLstdlibTables.Types._OclAny);
+		private static final /*@NonNull*/ ExecutorFragment _Occiresultprovider__OclElement = new ExecutorFragment(Types._Occiresultprovider, OCLstdlibTables.Types._OclElement);
+
+		private static final /*@NonNull*/ ExecutorFragment _Resultprovider__Component = new ExecutorFragment(Types._Resultprovider, PlatformTables.Types._Component);
+		private static final /*@NonNull*/ ExecutorFragment _Resultprovider__Entity = new ExecutorFragment(Types._Resultprovider, OCCITables.Types._Entity);
+		private static final /*@NonNull*/ ExecutorFragment _Resultprovider__OclAny = new ExecutorFragment(Types._Resultprovider, OCLstdlibTables.Types._OclAny);
+		private static final /*@NonNull*/ ExecutorFragment _Resultprovider__OclElement = new ExecutorFragment(Types._Resultprovider, OCLstdlibTables.Types._OclElement);
+		private static final /*@NonNull*/ ExecutorFragment _Resultprovider__Resource = new ExecutorFragment(Types._Resultprovider, OCCITables.Types._Resource);
+		private static final /*@NonNull*/ ExecutorFragment _Resultprovider__Resultprovider = new ExecutorFragment(Types._Resultprovider, MonitoringTables.Types._Resultprovider);
 
 		private static final /*@NonNull*/ ExecutorFragment _Sensor__Application = new ExecutorFragment(Types._Sensor, PlatformTables.Types._Application);
 		private static final /*@NonNull*/ ExecutorFragment _Sensor__Entity = new ExecutorFragment(Types._Sensor, OCCITables.Types._Entity);
@@ -362,26 +345,11 @@ public class MonitoringTables
 			Operations.init();
 		}
 
-		public static final /*@NonNull*/ ExecutorProperty _Datagatherer__occiCollectorAccuracy = new EcoreExecutorProperty(MonitoringPackage.Literals.DATAGATHERER__OCCI_COLLECTOR_ACCURACY, Types._Datagatherer, 0);
-		public static final /*@NonNull*/ ExecutorProperty _Datagatherer__occiCollectorGranularity = new EcoreExecutorProperty(MonitoringPackage.Literals.DATAGATHERER__OCCI_COLLECTOR_GRANULARITY, Types._Datagatherer, 1);
-		public static final /*@NonNull*/ ExecutorProperty _Datagatherer__occiCollectorPeriod = new EcoreExecutorProperty(MonitoringPackage.Literals.DATAGATHERER__OCCI_COLLECTOR_PERIOD, Types._Datagatherer, 2);
-
-		public static final /*@NonNull*/ ExecutorProperty _MonitoringProperty__Id = new EcoreExecutorProperty(MonitoringPackage.Literals.MONITORING_PROPERTY__ID, Types._MonitoringProperty, 0);
-		public static final /*@NonNull*/ ExecutorProperty _MonitoringProperty__name = new EcoreExecutorProperty(MonitoringPackage.Literals.MONITORING_PROPERTY__NAME, Types._MonitoringProperty, 1);
-		public static final /*@NonNull*/ ExecutorProperty _MonitoringProperty__value = new EcoreExecutorProperty(MonitoringPackage.Literals.MONITORING_PROPERTY__VALUE, Types._MonitoringProperty, 2);
-		public static final /*@NonNull*/ ExecutorProperty _MonitoringProperty__MonitoringPropertyArray__monitoringpropertyarrayValues = new ExecutorPropertyWithImplementation("MonitoringPropertyArray", Types._MonitoringProperty, 3, new EcoreLibraryOppositeProperty(MonitoringPackage.Literals.MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES));
-
-		public static final /*@NonNull*/ ExecutorProperty _MonitoringPropertyArray__monitoringpropertyarrayValues = new EcoreExecutorProperty(MonitoringPackage.Literals.MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES, Types._MonitoringPropertyArray, 0);
-		public static final /*@NonNull*/ ExecutorProperty _MonitoringPropertyArray__Monitoringproperties__monitoringProperties = new ExecutorPropertyWithImplementation("Monitoringproperties", Types._MonitoringPropertyArray, 1, new EcoreLibraryOppositeProperty(MonitoringPackage.Literals.MONITORINGPROPERTIES__MONITORING_PROPERTIES));
 
-		public static final /*@NonNull*/ ExecutorProperty _Monitoringproperties__monitoringProperties = new EcoreExecutorProperty(MonitoringPackage.Literals.MONITORINGPROPERTIES__MONITORING_PROPERTIES, Types._Monitoringproperties, 0);
+		public static final /*@NonNull*/ ExecutorProperty _Monitorableproperty__monitoringProperty = new EcoreExecutorProperty(MonitoringPackage.Literals.MONITORABLEPROPERTY__MONITORING_PROPERTY, Types._Monitorableproperty, 0);
+		public static final /*@NonNull*/ ExecutorProperty _Monitorableproperty__monitoringResult = new EcoreExecutorProperty(MonitoringPackage.Literals.MONITORABLEPROPERTY__MONITORING_RESULT, Types._Monitorableproperty, 1);
 
-		public static final /*@NonNull*/ ExecutorProperty _Sensor__occiSensorAccuracy = new EcoreExecutorProperty(MonitoringPackage.Literals.SENSOR__OCCI_SENSOR_ACCURACY, Types._Sensor, 0);
-		public static final /*@NonNull*/ ExecutorProperty _Sensor__occiSensorGranularity = new EcoreExecutorProperty(MonitoringPackage.Literals.SENSOR__OCCI_SENSOR_GRANULARITY, Types._Sensor, 1);
-		public static final /*@NonNull*/ ExecutorProperty _Sensor__occiSensorPeriod = new EcoreExecutorProperty(MonitoringPackage.Literals.SENSOR__OCCI_SENSOR_PERIOD, Types._Sensor, 2);
-		public static final /*@NonNull*/ ExecutorProperty _Sensor__occiSensorTimebase = new EcoreExecutorProperty(MonitoringPackage.Literals.SENSOR__OCCI_SENSOR_TIMEBASE, Types._Sensor, 3);
-		public static final /*@NonNull*/ ExecutorProperty _Sensor__occiSensorTimestart = new EcoreExecutorProperty(MonitoringPackage.Literals.SENSOR__OCCI_SENSOR_TIMESTART, Types._Sensor, 4);
-		public static final /*@NonNull*/ ExecutorProperty _Sensor__occiSensorTimestop = new EcoreExecutorProperty(MonitoringPackage.Literals.SENSOR__OCCI_SENSOR_TIMESTOP, Types._Sensor, 5);
+		public static final /*@NonNull*/ ExecutorProperty _Occiresultprovider__resultProviderEndpoint = new EcoreExecutorProperty(MonitoringPackage.Literals.OCCIRESULTPROVIDER__RESULT_PROVIDER_ENDPOINT, Types._Occiresultprovider, 0);
 		static {
 			Init.initEnd();
 		}
@@ -412,66 +380,46 @@ public class MonitoringTables
 		};
 		private static final int /*@NonNull*/ [] __Datagatherer = { 1,1,1,1,1,1 };
 
-		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _DateTime =
+		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _Dataprocessor =
 		{
-			Fragments._DateTime__OclAny /* 0 */,
-			Fragments._DateTime__DateTime /* 1 */
+			Fragments._Dataprocessor__OclAny /* 0 */,
+			Fragments._Dataprocessor__OclElement /* 1 */,
+			Fragments._Dataprocessor__Entity /* 2 */,
+			Fragments._Dataprocessor__Resource /* 3 */,
+			Fragments._Dataprocessor__Component /* 4 */,
+			Fragments._Dataprocessor__Dataprocessor /* 5 */
 		};
-		private static final int /*@NonNull*/ [] __DateTime = { 1,1 };
+		private static final int /*@NonNull*/ [] __Dataprocessor = { 1,1,1,1,1,1 };
 
-		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _MonitoringProperty =
+		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _Monitorableproperty =
 		{
-			Fragments._MonitoringProperty__OclAny /* 0 */,
-			Fragments._MonitoringProperty__OclElement /* 1 */,
-			Fragments._MonitoringProperty__MonitoringProperty /* 2 */
+			Fragments._Monitorableproperty__OclAny /* 0 */,
+			Fragments._Monitorableproperty__OclElement /* 1 */,
+			Fragments._Monitorableproperty__Entity /* 2 */,
+			Fragments._Monitorableproperty__Link /* 3 */,
+			Fragments._Monitorableproperty__Monitorableproperty /* 4 */
 		};
-		private static final int /*@NonNull*/ [] __MonitoringProperty = { 1,1,1 };
+		private static final int /*@NonNull*/ [] __Monitorableproperty = { 1,1,1,1,1 };
 
-		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _MonitoringPropertyArray =
+		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _Occiresultprovider =
 		{
-			Fragments._MonitoringPropertyArray__OclAny /* 0 */,
-			Fragments._MonitoringPropertyArray__OclElement /* 1 */,
-			Fragments._MonitoringPropertyArray__MonitoringPropertyArray /* 2 */
+			Fragments._Occiresultprovider__OclAny /* 0 */,
+			Fragments._Occiresultprovider__OclElement /* 1 */,
+			Fragments._Occiresultprovider__MixinBase /* 2 */,
+			Fragments._Occiresultprovider__Occiresultprovider /* 3 */
 		};
-		private static final int /*@NonNull*/ [] __MonitoringPropertyArray = { 1,1,1 };
+		private static final int /*@NonNull*/ [] __Occiresultprovider = { 1,1,1,1 };
 
-		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _Monitoringproperties =
+		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _Resultprovider =
 		{
-			Fragments._Monitoringproperties__OclAny /* 0 */,
-			Fragments._Monitoringproperties__OclElement /* 1 */,
-			Fragments._Monitoringproperties__MixinBase /* 2 */,
-			Fragments._Monitoringproperties__Monitoringproperties /* 3 */
+			Fragments._Resultprovider__OclAny /* 0 */,
+			Fragments._Resultprovider__OclElement /* 1 */,
+			Fragments._Resultprovider__Entity /* 2 */,
+			Fragments._Resultprovider__Resource /* 3 */,
+			Fragments._Resultprovider__Component /* 4 */,
+			Fragments._Resultprovider__Resultprovider /* 5 */
 		};
-		private static final int /*@NonNull*/ [] __Monitoringproperties = { 1,1,1,1 };
-
-		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _Processor =
-		{
-			Fragments._Processor__OclAny /* 0 */,
-			Fragments._Processor__OclElement /* 1 */,
-			Fragments._Processor__Entity /* 2 */,
-			Fragments._Processor__Resource /* 3 */,
-			Fragments._Processor__Component /* 4 */,
-			Fragments._Processor__Processor /* 5 */
-		};
-		private static final int /*@NonNull*/ [] __Processor = { 1,1,1,1,1,1 };
-
-		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _Publisher =
-		{
-			Fragments._Publisher__OclAny /* 0 */,
-			Fragments._Publisher__OclElement /* 1 */,
-			Fragments._Publisher__Entity /* 2 */,
-			Fragments._Publisher__Resource /* 3 */,
-			Fragments._Publisher__Component /* 4 */,
-			Fragments._Publisher__Publisher /* 5 */
-		};
-		private static final int /*@NonNull*/ [] __Publisher = { 1,1,1,1,1,1 };
-
-		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _Second =
-		{
-			Fragments._Second__OclAny /* 0 */,
-			Fragments._Second__Second /* 1 */
-		};
-		private static final int /*@NonNull*/ [] __Second = { 1,1 };
+		private static final int /*@NonNull*/ [] __Resultprovider = { 1,1,1,1,1,1 };
 
 		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _Sensor =
 		{
@@ -498,13 +446,10 @@ public class MonitoringTables
 		 */
 		static {
 			Types._Datagatherer.initFragments(_Datagatherer, __Datagatherer);
-			Types._DateTime.initFragments(_DateTime, __DateTime);
-			Types._MonitoringProperty.initFragments(_MonitoringProperty, __MonitoringProperty);
-			Types._MonitoringPropertyArray.initFragments(_MonitoringPropertyArray, __MonitoringPropertyArray);
-			Types._Monitoringproperties.initFragments(_Monitoringproperties, __Monitoringproperties);
-			Types._Processor.initFragments(_Processor, __Processor);
-			Types._Publisher.initFragments(_Publisher, __Publisher);
-			Types._Second.initFragments(_Second, __Second);
+			Types._Dataprocessor.initFragments(_Dataprocessor, __Dataprocessor);
+			Types._Monitorableproperty.initFragments(_Monitorableproperty, __Monitorableproperty);
+			Types._Occiresultprovider.initFragments(_Occiresultprovider, __Occiresultprovider);
+			Types._Resultprovider.initFragments(_Resultprovider, __Resultprovider);
 			Types._Sensor.initFragments(_Sensor, __Sensor);
 			Types._String.initFragments(_String, __String);
 
@@ -572,27 +517,25 @@ public class MonitoringTables
 		};
 		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Datagatherer__Resource = {};
 
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _DateTime__DateTime = {};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _DateTime__OclAny = {
-			OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
-			OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
-			OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
-			OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
-			OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
-			OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
-			OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
-			OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
-			OCLstdlibTables.Operations._OclAny__toString /* toString() */
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Dataprocessor__Dataprocessor = {};
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Dataprocessor__Component = {
+			PlatformTables.Operations._Component__configure /* configure() */,
+			PlatformTables.Operations._Component__deploy /* deploy() */,
+			PlatformTables.Operations._Component__start /* start() */,
+			PlatformTables.Operations._Component__stop /* stop() */,
+			PlatformTables.Operations._Component__undeploy /* undeploy() */
 		};
-
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _MonitoringProperty__MonitoringProperty = {};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _MonitoringProperty__OclAny = {
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Dataprocessor__Entity = {
+			OCCITables.Operations._Entity__occiCreate /* occiCreate() */,
+			OCCITables.Operations._Entity__occiCreate /* occiCreate() */,
+			OCCITables.Operations._Entity__occiDelete /* occiDelete() */,
+			OCCITables.Operations._Entity__occiDelete /* occiDelete() */,
+			OCCITables.Operations._Entity__occiRetrieve /* occiRetrieve() */,
+			OCCITables.Operations._Entity__occiRetrieve /* occiRetrieve() */,
+			OCCITables.Operations._Entity__occiUpdate /* occiUpdate() */,
+			OCCITables.Operations._Entity__occiUpdate /* occiUpdate() */
+		};
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Dataprocessor__OclAny = {
 			OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
 			OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
 			OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
@@ -609,7 +552,7 @@ public class MonitoringTables
 			OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
 			OCLstdlibTables.Operations._OclAny__toString /* toString() */
 		};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _MonitoringProperty__OclElement = {
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Dataprocessor__OclElement = {
 			OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
 			OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
 			OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
@@ -618,38 +561,26 @@ public class MonitoringTables
 			OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
 			OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
 		};
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Dataprocessor__Resource = {};
 
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _MonitoringPropertyArray__MonitoringPropertyArray = {};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _MonitoringPropertyArray__OclAny = {
-			OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
-			OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
-			OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
-			OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
-			OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
-			OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
-			OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
-			OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
-			OCLstdlibTables.Operations._OclAny__toString /* toString() */
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Monitorableproperty__Monitorableproperty = {};
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Monitorableproperty__Entity = {
+			OCCITables.Operations._Entity__occiCreate /* occiCreate() */,
+			OCCITables.Operations._Entity__occiCreate /* occiCreate() */,
+			OCCITables.Operations._Entity__occiDelete /* occiDelete() */,
+			OCCITables.Operations._Entity__occiDelete /* occiDelete() */,
+			OCCITables.Operations._Entity__occiRetrieve /* occiRetrieve() */,
+			OCCITables.Operations._Entity__occiRetrieve /* occiRetrieve() */,
+			OCCITables.Operations._Entity__occiUpdate /* occiUpdate() */,
+			OCCITables.Operations._Entity__occiUpdate /* occiUpdate() */
 		};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _MonitoringPropertyArray__OclElement = {
-			OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
-			OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
-			OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
-			OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */,
-			OCLstdlibTables.Operations._OclElement__oclIsModelKindOf /* oclIsModelKindOf(OclType[?]) */,
-			OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
-			OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Monitorableproperty__Link = {
+			OCCITables.Operations._Link__LinkSourceInvariant /* LinkSourceInvariant(Kind[?],Kind[?]) */,
+			OCCITables.Operations._Link__LinkSourceInvariant /* LinkSourceInvariant(Kind[?],Kind[?]) */,
+			OCCITables.Operations._Link__LinkTargetInvariant /* LinkTargetInvariant(Kind[?],Kind[?]) */,
+			OCCITables.Operations._Link__LinkTargetInvariant /* LinkTargetInvariant(Kind[?],Kind[?]) */
 		};
-
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Monitoringproperties__Monitoringproperties = {};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Monitoringproperties__MixinBase = {};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Monitoringproperties__OclAny = {
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Monitorableproperty__OclAny = {
 			OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
 			OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
 			OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
@@ -666,7 +597,7 @@ public class MonitoringTables
 			OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
 			OCLstdlibTables.Operations._OclAny__toString /* toString() */
 		};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Monitoringproperties__OclElement = {
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Monitorableproperty__OclElement = {
 			OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
 			OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
 			OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
@@ -676,25 +607,9 @@ public class MonitoringTables
 			OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
 		};
 
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Processor__Processor = {};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Processor__Component = {
-			PlatformTables.Operations._Component__configure /* configure() */,
-			PlatformTables.Operations._Component__deploy /* deploy() */,
-			PlatformTables.Operations._Component__start /* start() */,
-			PlatformTables.Operations._Component__stop /* stop() */,
-			PlatformTables.Operations._Component__undeploy /* undeploy() */
-		};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Processor__Entity = {
-			OCCITables.Operations._Entity__occiCreate /* occiCreate() */,
-			OCCITables.Operations._Entity__occiCreate /* occiCreate() */,
-			OCCITables.Operations._Entity__occiDelete /* occiDelete() */,
-			OCCITables.Operations._Entity__occiDelete /* occiDelete() */,
-			OCCITables.Operations._Entity__occiRetrieve /* occiRetrieve() */,
-			OCCITables.Operations._Entity__occiRetrieve /* occiRetrieve() */,
-			OCCITables.Operations._Entity__occiUpdate /* occiUpdate() */,
-			OCCITables.Operations._Entity__occiUpdate /* occiUpdate() */
-		};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Processor__OclAny = {
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Occiresultprovider__Occiresultprovider = {};
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Occiresultprovider__MixinBase = {};
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Occiresultprovider__OclAny = {
 			OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
 			OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
 			OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
@@ -711,7 +626,7 @@ public class MonitoringTables
 			OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
 			OCLstdlibTables.Operations._OclAny__toString /* toString() */
 		};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Processor__OclElement = {
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Occiresultprovider__OclElement = {
 			OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
 			OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
 			OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
@@ -720,17 +635,16 @@ public class MonitoringTables
 			OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
 			OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
 		};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Processor__Resource = {};
 
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Publisher__Publisher = {};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Publisher__Component = {
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Resultprovider__Resultprovider = {};
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Resultprovider__Component = {
 			PlatformTables.Operations._Component__configure /* configure() */,
 			PlatformTables.Operations._Component__deploy /* deploy() */,
 			PlatformTables.Operations._Component__start /* start() */,
 			PlatformTables.Operations._Component__stop /* stop() */,
 			PlatformTables.Operations._Component__undeploy /* undeploy() */
 		};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Publisher__Entity = {
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Resultprovider__Entity = {
 			OCCITables.Operations._Entity__occiCreate /* occiCreate() */,
 			OCCITables.Operations._Entity__occiCreate /* occiCreate() */,
 			OCCITables.Operations._Entity__occiDelete /* occiDelete() */,
@@ -740,7 +654,7 @@ public class MonitoringTables
 			OCCITables.Operations._Entity__occiUpdate /* occiUpdate() */,
 			OCCITables.Operations._Entity__occiUpdate /* occiUpdate() */
 		};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Publisher__OclAny = {
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Resultprovider__OclAny = {
 			OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
 			OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
 			OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
@@ -757,7 +671,7 @@ public class MonitoringTables
 			OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
 			OCLstdlibTables.Operations._OclAny__toString /* toString() */
 		};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Publisher__OclElement = {
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Resultprovider__OclElement = {
 			OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
 			OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
 			OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
@@ -766,26 +680,7 @@ public class MonitoringTables
 			OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */,
 			OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
 		};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Publisher__Resource = {};
-
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Second__Second = {};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Second__OclAny = {
-			OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
-			OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
-			OCLstdlibTables.Operations._OclAny__oclAsType /* oclAsType(TT)(TT[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclIsInState /* oclIsInState(OclState[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclIsInvalid /* oclIsInvalid() */,
-			OCLstdlibTables.Operations._OclAny__oclIsKindOf /* oclIsKindOf(OclType[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclIsNew /* oclIsNew() */,
-			OCLstdlibTables.Operations._OclAny__oclIsTypeOf /* oclIsTypeOf(OclType[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclIsUndefined /* oclIsUndefined() */,
-			OCLstdlibTables.Operations._OclAny__0_oclLog /* oclLog() */,
-			OCLstdlibTables.Operations._OclAny__1_oclLog /* oclLog(String[?]) */,
-			OCLstdlibTables.Operations._OclAny__oclType /* oclType() */,
-			OCLstdlibTables.Operations._OclAny__oclTypes /* oclTypes() */,
-			OCLstdlibTables.Operations._OclAny__toString /* toString() */
-		};
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Resultprovider__Resource = {};
 
 		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Sensor__Sensor = {};
 		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Sensor__Application = {
@@ -913,38 +808,30 @@ public class MonitoringTables
 			Fragments._Datagatherer__OclElement.initOperations(_Datagatherer__OclElement);
 			Fragments._Datagatherer__Resource.initOperations(_Datagatherer__Resource);
 
-			Fragments._DateTime__DateTime.initOperations(_DateTime__DateTime);
-			Fragments._DateTime__OclAny.initOperations(_DateTime__OclAny);
-
-			Fragments._MonitoringProperty__MonitoringProperty.initOperations(_MonitoringProperty__MonitoringProperty);
-			Fragments._MonitoringProperty__OclAny.initOperations(_MonitoringProperty__OclAny);
-			Fragments._MonitoringProperty__OclElement.initOperations(_MonitoringProperty__OclElement);
-
-			Fragments._MonitoringPropertyArray__MonitoringPropertyArray.initOperations(_MonitoringPropertyArray__MonitoringPropertyArray);
-			Fragments._MonitoringPropertyArray__OclAny.initOperations(_MonitoringPropertyArray__OclAny);
-			Fragments._MonitoringPropertyArray__OclElement.initOperations(_MonitoringPropertyArray__OclElement);
-
-			Fragments._Monitoringproperties__MixinBase.initOperations(_Monitoringproperties__MixinBase);
-			Fragments._Monitoringproperties__Monitoringproperties.initOperations(_Monitoringproperties__Monitoringproperties);
-			Fragments._Monitoringproperties__OclAny.initOperations(_Monitoringproperties__OclAny);
-			Fragments._Monitoringproperties__OclElement.initOperations(_Monitoringproperties__OclElement);
-
-			Fragments._Processor__Component.initOperations(_Processor__Component);
-			Fragments._Processor__Entity.initOperations(_Processor__Entity);
-			Fragments._Processor__OclAny.initOperations(_Processor__OclAny);
-			Fragments._Processor__OclElement.initOperations(_Processor__OclElement);
-			Fragments._Processor__Processor.initOperations(_Processor__Processor);
-			Fragments._Processor__Resource.initOperations(_Processor__Resource);
-
-			Fragments._Publisher__Component.initOperations(_Publisher__Component);
-			Fragments._Publisher__Entity.initOperations(_Publisher__Entity);
-			Fragments._Publisher__OclAny.initOperations(_Publisher__OclAny);
-			Fragments._Publisher__OclElement.initOperations(_Publisher__OclElement);
-			Fragments._Publisher__Publisher.initOperations(_Publisher__Publisher);
-			Fragments._Publisher__Resource.initOperations(_Publisher__Resource);
-
-			Fragments._Second__OclAny.initOperations(_Second__OclAny);
-			Fragments._Second__Second.initOperations(_Second__Second);
+			Fragments._Dataprocessor__Component.initOperations(_Dataprocessor__Component);
+			Fragments._Dataprocessor__Dataprocessor.initOperations(_Dataprocessor__Dataprocessor);
+			Fragments._Dataprocessor__Entity.initOperations(_Dataprocessor__Entity);
+			Fragments._Dataprocessor__OclAny.initOperations(_Dataprocessor__OclAny);
+			Fragments._Dataprocessor__OclElement.initOperations(_Dataprocessor__OclElement);
+			Fragments._Dataprocessor__Resource.initOperations(_Dataprocessor__Resource);
+
+			Fragments._Monitorableproperty__Entity.initOperations(_Monitorableproperty__Entity);
+			Fragments._Monitorableproperty__Link.initOperations(_Monitorableproperty__Link);
+			Fragments._Monitorableproperty__Monitorableproperty.initOperations(_Monitorableproperty__Monitorableproperty);
+			Fragments._Monitorableproperty__OclAny.initOperations(_Monitorableproperty__OclAny);
+			Fragments._Monitorableproperty__OclElement.initOperations(_Monitorableproperty__OclElement);
+
+			Fragments._Occiresultprovider__MixinBase.initOperations(_Occiresultprovider__MixinBase);
+			Fragments._Occiresultprovider__Occiresultprovider.initOperations(_Occiresultprovider__Occiresultprovider);
+			Fragments._Occiresultprovider__OclAny.initOperations(_Occiresultprovider__OclAny);
+			Fragments._Occiresultprovider__OclElement.initOperations(_Occiresultprovider__OclElement);
+
+			Fragments._Resultprovider__Component.initOperations(_Resultprovider__Component);
+			Fragments._Resultprovider__Entity.initOperations(_Resultprovider__Entity);
+			Fragments._Resultprovider__OclAny.initOperations(_Resultprovider__OclAny);
+			Fragments._Resultprovider__OclElement.initOperations(_Resultprovider__OclElement);
+			Fragments._Resultprovider__Resource.initOperations(_Resultprovider__Resource);
+			Fragments._Resultprovider__Resultprovider.initOperations(_Resultprovider__Resultprovider);
 
 			Fragments._Sensor__Application.initOperations(_Sensor__Application);
 			Fragments._Sensor__Entity.initOperations(_Sensor__Entity);
@@ -976,42 +863,22 @@ public class MonitoringTables
 			FragmentOperations.init();
 		}
 
-		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Datagatherer = {
-			MonitoringTables.Properties._Datagatherer__occiCollectorAccuracy,
-			MonitoringTables.Properties._Datagatherer__occiCollectorGranularity,
-			MonitoringTables.Properties._Datagatherer__occiCollectorPeriod
-		};
-
-		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _DateTime = {};
+		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Datagatherer = {};
 
-		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _MonitoringProperty = {
-			MonitoringTables.Properties._MonitoringProperty__Id,
-			MonitoringTables.Properties._MonitoringProperty__name,
-			MonitoringTables.Properties._MonitoringProperty__value
-		};
+		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Dataprocessor = {};
 
-		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _MonitoringPropertyArray = {
-			MonitoringTables.Properties._MonitoringPropertyArray__monitoringpropertyarrayValues
+		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Monitorableproperty = {
+			MonitoringTables.Properties._Monitorableproperty__monitoringProperty,
+			MonitoringTables.Properties._Monitorableproperty__monitoringResult
 		};
 
-		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Monitoringproperties = {
-			MonitoringTables.Properties._Monitoringproperties__monitoringProperties
+		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Occiresultprovider = {
+			MonitoringTables.Properties._Occiresultprovider__resultProviderEndpoint
 		};
 
-		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Processor = {};
+		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Resultprovider = {};
 
-		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Publisher = {};
-
-		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Second = {};
-
-		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Sensor = {
-			MonitoringTables.Properties._Sensor__occiSensorAccuracy,
-			MonitoringTables.Properties._Sensor__occiSensorGranularity,
-			MonitoringTables.Properties._Sensor__occiSensorPeriod,
-			MonitoringTables.Properties._Sensor__occiSensorTimebase,
-			MonitoringTables.Properties._Sensor__occiSensorTimestart,
-			MonitoringTables.Properties._Sensor__occiSensorTimestop
-		};
+		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Sensor = {};
 
 		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _String = {};
 
@@ -1020,13 +887,10 @@ public class MonitoringTables
 		 */
 		static {
 			Fragments._Datagatherer__Datagatherer.initProperties(_Datagatherer);
-			Fragments._DateTime__DateTime.initProperties(_DateTime);
-			Fragments._MonitoringProperty__MonitoringProperty.initProperties(_MonitoringProperty);
-			Fragments._MonitoringPropertyArray__MonitoringPropertyArray.initProperties(_MonitoringPropertyArray);
-			Fragments._Monitoringproperties__Monitoringproperties.initProperties(_Monitoringproperties);
-			Fragments._Processor__Processor.initProperties(_Processor);
-			Fragments._Publisher__Publisher.initProperties(_Publisher);
-			Fragments._Second__Second.initProperties(_Second);
+			Fragments._Dataprocessor__Dataprocessor.initProperties(_Dataprocessor);
+			Fragments._Monitorableproperty__Monitorableproperty.initProperties(_Monitorableproperty);
+			Fragments._Occiresultprovider__Occiresultprovider.initProperties(_Occiresultprovider);
+			Fragments._Resultprovider__Resultprovider.initProperties(_Resultprovider);
 			Fragments._Sensor__Sensor.initProperties(_Sensor);
 			Fragments._String__String.initProperties(_String);
 
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Monitoringproperties.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Monitoringproperties.java
deleted file mode 100644
index 30bff2ba341ccc992316763d5bb5f95693e73c9e..0000000000000000000000000000000000000000
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Monitoringproperties.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * Copyright (c) 2015-2017 Obeo, Inria
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 	
- * Contributors:
- * - William Piers <william.piers@obeo.fr>
- * - Philippe Merle <philippe.merle@inria.fr>
- * - Faiez Zalila <faiez.zalila@inria.fr>
- */
-package monitoring;
-
-import java.util.Map;
-
-import org.eclipse.cmf.occi.core.MixinBase;
-
-import org.eclipse.emf.common.util.DiagnosticChain;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Monitoringproperties</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link monitoring.Monitoringproperties#getMonitoringProperties <em>Monitoring Properties</em>}</li>
- * </ul>
- *
- * @see monitoring.MonitoringPackage#getMonitoringproperties()
- * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='appliesConstraint'"
- * @generated
- */
-public interface Monitoringproperties extends MixinBase {
-	/**
-	 * Returns the value of the '<em><b>Monitoring Properties</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * 
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Monitoring Properties</em>' containment reference.
-	 * @see #setMonitoringProperties(MonitoringPropertyArray)
-	 * @see monitoring.MonitoringPackage#getMonitoringproperties_MonitoringProperties()
-	 * @model containment="true"
-	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!Monitoringproperties!monitoringProperties'"
-	 * @generated
-	 */
-	MonitoringPropertyArray getMonitoringProperties();
-
-	/**
-	 * Sets the value of the '{@link monitoring.Monitoringproperties#getMonitoringProperties <em>Monitoring Properties</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Monitoring Properties</em>' containment reference.
-	 * @see #getMonitoringProperties()
-	 * @generated
-	 */
-	void setMonitoringProperties(MonitoringPropertyArray value);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n *\n * inv appliesConstraint:\n *   let\n *     severity : Integer[1] = \'Monitoringproperties::appliesConstraint\'.getSeverity()\n *   in\n *     if severity &lt;= 0\n *     then true\n *     else\n *       let\n *         result : occi::Boolean[1] = self.entity.oclIsKindOf(occi::Resource)\n *       in\n *         \'Monitoringproperties::appliesConstraint\'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)\n *     endif\n \052/\nfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.evaluation.Executor%&gt; executor = &lt;%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%&gt;.getExecutor(this);\nfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.ids.IdResolver%&gt; idResolver = executor.getIdResolver();\nfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.values.IntegerValue%&gt; severity_0 = &lt;%org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation%&gt;.INSTANCE.evaluate(executor, &lt;%monitoring.MonitoringTables%&gt;.STR_Monitoringproperties_c_c_appliesConstraint);\nfinal /*@NonInvalid\052/ boolean le = &lt;%org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation%&gt;.INSTANCE.evaluate(executor, severity_0, &lt;%monitoring.MonitoringTables%&gt;.INT_0).booleanValue();\n/*@NonInvalid\052/ boolean symbol_0;\nif (le) {\n\tsymbol_0 = &lt;%org.eclipse.ocl.pivot.utilities.ValueUtil%&gt;.TRUE_VALUE;\n}\nelse {\n\tfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.Class%&gt; TYP_occi_c_c_Resource = idResolver.getClass(&lt;%monitoring.MonitoringTables%&gt;.CLSSid_Resource, null);\n\tfinal /*@NonInvalid\052/ &lt;%org.eclipse.cmf.occi.core.Entity%&gt; entity = this.getEntity();\n\tfinal /*@NonInvalid\052/ boolean result = &lt;%org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsKindOfOperation%&gt;.INSTANCE.evaluate(executor, entity, TYP_occi_c_c_Resource).booleanValue();\n\tfinal /*@NonInvalid\052/ boolean logDiagnostic = &lt;%org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation%&gt;.INSTANCE.evaluate(executor, &lt;%org.eclipse.ocl.pivot.ids.TypeId%&gt;.BOOLEAN, &lt;%monitoring.MonitoringTables%&gt;.STR_Monitoringproperties_c_c_appliesConstraint, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, &lt;%monitoring.MonitoringTables%&gt;.INT_0).booleanValue();\n\tsymbol_0 = logDiagnostic;\n}\nreturn Boolean.TRUE == symbol_0;'"
-	 * @generated
-	 */
-	boolean appliesConstraint(DiagnosticChain diagnostics, Map<Object, Object> context);
-
-} // Monitoringproperties
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Occiresultprovider.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Occiresultprovider.java
new file mode 100644
index 0000000000000000000000000000000000000000..3eace77a9c30b92981a1f7c786647efb80ede734
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Occiresultprovider.java
@@ -0,0 +1,72 @@
+/**
+ * Copyright (c) 2015-2017 Obeo, Inria
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 	
+ * Contributors:
+ * - William Piers <william.piers@obeo.fr>
+ * - Philippe Merle <philippe.merle@inria.fr>
+ * - Faiez Zalila <faiez.zalila@inria.fr>
+ */
+package monitoring;
+
+import java.util.Map;
+
+import org.eclipse.cmf.occi.core.MixinBase;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Occiresultprovider</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link monitoring.Occiresultprovider#getResultProviderEndpoint <em>Result Provider Endpoint</em>}</li>
+ * </ul>
+ *
+ * @see monitoring.MonitoringPackage#getOcciresultprovider()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='appliesConstraint'"
+ * @generated
+ */
+public interface Occiresultprovider extends MixinBase {
+	/**
+	 * Returns the value of the '<em><b>Result Provider Endpoint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * Genereic address to be used by the result provider.
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Result Provider Endpoint</em>' attribute.
+	 * @see #setResultProviderEndpoint(String)
+	 * @see monitoring.MonitoringPackage#getOcciresultprovider_ResultProviderEndpoint()
+	 * @model dataType="monitoring.String" required="true"
+	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!Occiresultprovider!resultProviderEndpoint'"
+	 * @generated
+	 */
+	String getResultProviderEndpoint();
+
+	/**
+	 * Sets the value of the '{@link monitoring.Occiresultprovider#getResultProviderEndpoint <em>Result Provider Endpoint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Result Provider Endpoint</em>' attribute.
+	 * @see #getResultProviderEndpoint()
+	 * @generated
+	 */
+	void setResultProviderEndpoint(String value);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n *\n * inv appliesConstraint:\n *   let\n *     severity : Integer[1] = \'Occiresultprovider::appliesConstraint\'.getSeverity()\n *   in\n *     if severity &lt;= 0\n *     then true\n *     else\n *       let\n *         result : occi::Boolean[1] = self.entity.oclIsKindOf(Resultprovider)\n *       in\n *         \'Occiresultprovider::appliesConstraint\'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)\n *     endif\n \052/\nfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.evaluation.Executor%&gt; executor = &lt;%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%&gt;.getExecutor(this);\nfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.ids.IdResolver%&gt; idResolver = executor.getIdResolver();\nfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.values.IntegerValue%&gt; severity_0 = &lt;%org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation%&gt;.INSTANCE.evaluate(executor, &lt;%monitoring.MonitoringTables%&gt;.STR_Occiresultprovider_c_c_appliesConstraint);\nfinal /*@NonInvalid\052/ boolean le = &lt;%org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation%&gt;.INSTANCE.evaluate(executor, severity_0, &lt;%monitoring.MonitoringTables%&gt;.INT_0).booleanValue();\n/*@NonInvalid\052/ boolean symbol_0;\nif (le) {\n\tsymbol_0 = &lt;%org.eclipse.ocl.pivot.utilities.ValueUtil%&gt;.TRUE_VALUE;\n}\nelse {\n\tfinal /*@NonInvalid\052/ &lt;%org.eclipse.ocl.pivot.Class%&gt; TYP_monitoring_c_c_Resultprovider = idResolver.getClass(&lt;%monitoring.MonitoringTables%&gt;.CLSSid_Resultprovider, null);\n\tfinal /*@NonInvalid\052/ &lt;%org.eclipse.cmf.occi.core.Entity%&gt; entity = this.getEntity();\n\tfinal /*@NonInvalid\052/ boolean result = &lt;%org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsKindOfOperation%&gt;.INSTANCE.evaluate(executor, entity, TYP_monitoring_c_c_Resultprovider).booleanValue();\n\tfinal /*@NonInvalid\052/ boolean logDiagnostic = &lt;%org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation%&gt;.INSTANCE.evaluate(executor, &lt;%org.eclipse.ocl.pivot.ids.TypeId%&gt;.BOOLEAN, &lt;%monitoring.MonitoringTables%&gt;.STR_Occiresultprovider_c_c_appliesConstraint, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, &lt;%monitoring.MonitoringTables%&gt;.INT_0).booleanValue();\n\tsymbol_0 = logDiagnostic;\n}\nreturn Boolean.TRUE == symbol_0;'"
+	 * @generated
+	 */
+	boolean appliesConstraint(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // Occiresultprovider
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Publisher.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Resultprovider.java
similarity index 76%
rename from de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Publisher.java
rename to de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Resultprovider.java
index 6f40c9b01fcaa07763662333268521a30bfd1bc4..0e21b6bba6e44511afd4656151629d1a5617801b 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Publisher.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Resultprovider.java
@@ -16,7 +16,7 @@ import org.modmacao.occi.platform.Component;
 
 /**
  * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Publisher</b></em>'.
+ * A representation of the model object '<em><b>Resultprovider</b></em>'.
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
@@ -24,9 +24,10 @@ import org.modmacao.occi.platform.Component;
  * <!-- end-model-doc -->
  *
  *
- * @see monitoring.MonitoringPackage#getPublisher()
+ * @see monitoring.MonitoringPackage#getResultprovider()
  * @model
  * @generated
  */
-public interface Publisher extends Component {
-} // Publisher
+public interface Resultprovider extends Component {
+
+} // Resultprovider
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Sensor.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Sensor.java
index df8d42b2461bc80a63abce8e8bdb87670abeaede..76843b5aa977e302b218746f85a74d42183195c7 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Sensor.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Sensor.java
@@ -23,177 +23,11 @@ import org.modmacao.occi.platform.Application;
  * Sensor Component
  * <!-- end-model-doc -->
  *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link monitoring.Sensor#getOcciSensorTimebase <em>Occi Sensor Timebase</em>}</li>
- *   <li>{@link monitoring.Sensor#getOcciSensorTimestart <em>Occi Sensor Timestart</em>}</li>
- *   <li>{@link monitoring.Sensor#getOcciSensorTimestop <em>Occi Sensor Timestop</em>}</li>
- *   <li>{@link monitoring.Sensor#getOcciSensorPeriod <em>Occi Sensor Period</em>}</li>
- *   <li>{@link monitoring.Sensor#getOcciSensorGranularity <em>Occi Sensor Granularity</em>}</li>
- *   <li>{@link monitoring.Sensor#getOcciSensorAccuracy <em>Occi Sensor Accuracy</em>}</li>
- * </ul>
  *
  * @see monitoring.MonitoringPackage#getSensor()
  * @model
  * @generated
  */
 public interface Sensor extends Application {
-	/**
-	 * Returns the value of the '<em><b>Occi Sensor Timebase</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Base time reference (ISO8601)
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Occi Sensor Timebase</em>' attribute.
-	 * @see #setOcciSensorTimebase(String)
-	 * @see monitoring.MonitoringPackage#getSensor_OcciSensorTimebase()
-	 * @model dataType="monitoring.DateTime"
-	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!Sensor!occiSensorTimebase'"
-	 * @generated
-	 */
-	String getOcciSensorTimebase();
-
-	/**
-	 * Sets the value of the '{@link monitoring.Sensor#getOcciSensorTimebase <em>Occi Sensor Timebase</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Occi Sensor Timebase</em>' attribute.
-	 * @see #getOcciSensorTimebase()
-	 * @generated
-	 */
-	void setOcciSensorTimebase(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Occi Sensor Timestart</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Start time offset (seconds)
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Occi Sensor Timestart</em>' attribute.
-	 * @see #setOcciSensorTimestart(String)
-	 * @see monitoring.MonitoringPackage#getSensor_OcciSensorTimestart()
-	 * @model dataType="monitoring.Second"
-	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!Sensor!occiSensorTimestart'"
-	 * @generated
-	 */
-	String getOcciSensorTimestart();
-
-	/**
-	 * Sets the value of the '{@link monitoring.Sensor#getOcciSensorTimestart <em>Occi Sensor Timestart</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Occi Sensor Timestart</em>' attribute.
-	 * @see #getOcciSensorTimestart()
-	 * @generated
-	 */
-	void setOcciSensorTimestart(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Occi Sensor Timestop</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * 
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Occi Sensor Timestop</em>' attribute.
-	 * @see #setOcciSensorTimestop(String)
-	 * @see monitoring.MonitoringPackage#getSensor_OcciSensorTimestop()
-	 * @model dataType="monitoring.Second"
-	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!Sensor!occiSensorTimestop'"
-	 * @generated
-	 */
-	String getOcciSensorTimestop();
-
-	/**
-	 * Sets the value of the '{@link monitoring.Sensor#getOcciSensorTimestop <em>Occi Sensor Timestop</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Occi Sensor Timestop</em>' attribute.
-	 * @see #getOcciSensorTimestop()
-	 * @generated
-	 */
-	void setOcciSensorTimestop(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Occi Sensor Period</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Time between two following measurements (seconds)
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Occi Sensor Period</em>' attribute.
-	 * @see #setOcciSensorPeriod(String)
-	 * @see monitoring.MonitoringPackage#getSensor_OcciSensorPeriod()
-	 * @model dataType="monitoring.Second" required="true"
-	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!Sensor!occiSensorPeriod'"
-	 * @generated
-	 */
-	String getOcciSensorPeriod();
-
-	/**
-	 * Sets the value of the '{@link monitoring.Sensor#getOcciSensorPeriod <em>Occi Sensor Period</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Occi Sensor Period</em>' attribute.
-	 * @see #getOcciSensorPeriod()
-	 * @generated
-	 */
-	void setOcciSensorPeriod(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Occi Sensor Granularity</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Granularity of time measument (seconds)
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Occi Sensor Granularity</em>' attribute.
-	 * @see #setOcciSensorGranularity(String)
-	 * @see monitoring.MonitoringPackage#getSensor_OcciSensorGranularity()
-	 * @model dataType="monitoring.Second"
-	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!Sensor!occiSensorGranularity'"
-	 * @generated
-	 */
-	String getOcciSensorGranularity();
-
-	/**
-	 * Sets the value of the '{@link monitoring.Sensor#getOcciSensorGranularity <em>Occi Sensor Granularity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Occi Sensor Granularity</em>' attribute.
-	 * @see #getOcciSensorGranularity()
-	 * @generated
-	 */
-	void setOcciSensorGranularity(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Occi Sensor Accuracy</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Accuracy of time measument (seconds)
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Occi Sensor Accuracy</em>' attribute.
-	 * @see #setOcciSensorAccuracy(String)
-	 * @see monitoring.MonitoringPackage#getSensor_OcciSensorAccuracy()
-	 * @model dataType="monitoring.Second"
-	 *        annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException();  // FIXME Unimplemented http://schemas.ugoe.cs.rwm/monitoring/ecore!Sensor!occiSensorAccuracy'"
-	 * @generated
-	 */
-	String getOcciSensorAccuracy();
-
-	/**
-	 * Sets the value of the '{@link monitoring.Sensor#getOcciSensorAccuracy <em>Occi Sensor Accuracy</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Occi Sensor Accuracy</em>' attribute.
-	 * @see #getOcciSensorAccuracy()
-	 * @generated
-	 */
-	void setOcciSensorAccuracy(String value);
 
 } // Sensor
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/DatagathererImpl.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/DatagathererImpl.java
index 9cab11f7f5d4c381a134ab6db0a975230d61421f..2222d68363b29e0c6f9a861a5ef1296025070451 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/DatagathererImpl.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/DatagathererImpl.java
@@ -27,78 +27,10 @@ import org.modmacao.occi.platform.impl.ComponentImpl;
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Datagatherer</b></em>'.
  * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link monitoring.impl.DatagathererImpl#getOcciCollectorPeriod <em>Occi Collector Period</em>}</li>
- *   <li>{@link monitoring.impl.DatagathererImpl#getOcciCollectorGranularity <em>Occi Collector Granularity</em>}</li>
- *   <li>{@link monitoring.impl.DatagathererImpl#getOcciCollectorAccuracy <em>Occi Collector Accuracy</em>}</li>
- * </ul>
  *
  * @generated
  */
 public class DatagathererImpl extends ComponentImpl implements Datagatherer {
-	/**
-	 * The default value of the '{@link #getOcciCollectorPeriod() <em>Occi Collector Period</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciCollectorPeriod()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String OCCI_COLLECTOR_PERIOD_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getOcciCollectorPeriod() <em>Occi Collector Period</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciCollectorPeriod()
-	 * @generated
-	 * @ordered
-	 */
-	protected String occiCollectorPeriod = OCCI_COLLECTOR_PERIOD_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getOcciCollectorGranularity() <em>Occi Collector Granularity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciCollectorGranularity()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String OCCI_COLLECTOR_GRANULARITY_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getOcciCollectorGranularity() <em>Occi Collector Granularity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciCollectorGranularity()
-	 * @generated
-	 * @ordered
-	 */
-	protected String occiCollectorGranularity = OCCI_COLLECTOR_GRANULARITY_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getOcciCollectorAccuracy() <em>Occi Collector Accuracy</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciCollectorAccuracy()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String OCCI_COLLECTOR_ACCURACY_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getOcciCollectorAccuracy() <em>Occi Collector Accuracy</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciCollectorAccuracy()
-	 * @generated
-	 * @ordered
-	 */
-	protected String occiCollectorAccuracy = OCCI_COLLECTOR_ACCURACY_EDEFAULT;
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -118,165 +50,4 @@ public class DatagathererImpl extends ComponentImpl implements Datagatherer {
 		return MonitoringPackage.Literals.DATAGATHERER;
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getOcciCollectorPeriod() {
-		return occiCollectorPeriod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOcciCollectorPeriod(String newOcciCollectorPeriod) {
-		String oldOcciCollectorPeriod = occiCollectorPeriod;
-		occiCollectorPeriod = newOcciCollectorPeriod;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_PERIOD, oldOcciCollectorPeriod, occiCollectorPeriod));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getOcciCollectorGranularity() {
-		return occiCollectorGranularity;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOcciCollectorGranularity(String newOcciCollectorGranularity) {
-		String oldOcciCollectorGranularity = occiCollectorGranularity;
-		occiCollectorGranularity = newOcciCollectorGranularity;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_GRANULARITY, oldOcciCollectorGranularity, occiCollectorGranularity));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getOcciCollectorAccuracy() {
-		return occiCollectorAccuracy;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOcciCollectorAccuracy(String newOcciCollectorAccuracy) {
-		String oldOcciCollectorAccuracy = occiCollectorAccuracy;
-		occiCollectorAccuracy = newOcciCollectorAccuracy;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_ACCURACY, oldOcciCollectorAccuracy, occiCollectorAccuracy));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_PERIOD:
-				return getOcciCollectorPeriod();
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_GRANULARITY:
-				return getOcciCollectorGranularity();
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_ACCURACY:
-				return getOcciCollectorAccuracy();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_PERIOD:
-				setOcciCollectorPeriod((String)newValue);
-				return;
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_GRANULARITY:
-				setOcciCollectorGranularity((String)newValue);
-				return;
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_ACCURACY:
-				setOcciCollectorAccuracy((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_PERIOD:
-				setOcciCollectorPeriod(OCCI_COLLECTOR_PERIOD_EDEFAULT);
-				return;
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_GRANULARITY:
-				setOcciCollectorGranularity(OCCI_COLLECTOR_GRANULARITY_EDEFAULT);
-				return;
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_ACCURACY:
-				setOcciCollectorAccuracy(OCCI_COLLECTOR_ACCURACY_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_PERIOD:
-				return OCCI_COLLECTOR_PERIOD_EDEFAULT == null ? occiCollectorPeriod != null : !OCCI_COLLECTOR_PERIOD_EDEFAULT.equals(occiCollectorPeriod);
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_GRANULARITY:
-				return OCCI_COLLECTOR_GRANULARITY_EDEFAULT == null ? occiCollectorGranularity != null : !OCCI_COLLECTOR_GRANULARITY_EDEFAULT.equals(occiCollectorGranularity);
-			case MonitoringPackage.DATAGATHERER__OCCI_COLLECTOR_ACCURACY:
-				return OCCI_COLLECTOR_ACCURACY_EDEFAULT == null ? occiCollectorAccuracy != null : !OCCI_COLLECTOR_ACCURACY_EDEFAULT.equals(occiCollectorAccuracy);
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (occiCollectorPeriod: ");
-		result.append(occiCollectorPeriod);
-		result.append(", occiCollectorGranularity: ");
-		result.append(occiCollectorGranularity);
-		result.append(", occiCollectorAccuracy: ");
-		result.append(occiCollectorAccuracy);
-		result.append(')');
-		return result.toString();
-	}
-
 } //DatagathererImpl
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/PublisherImpl.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/DataprocessorImpl.java
similarity index 75%
rename from de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/PublisherImpl.java
rename to de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/DataprocessorImpl.java
index 9f727ea6f0764c04a2ad705465ed9ca7bf8c488e..360a1a3277d06377c2e770ab3170af17724233f0 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/PublisherImpl.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/DataprocessorImpl.java
@@ -12,8 +12,8 @@
  */
 package monitoring.impl;
 
+import monitoring.Dataprocessor;
 import monitoring.MonitoringPackage;
-import monitoring.Publisher;
 
 import org.eclipse.emf.ecore.EClass;
 
@@ -21,18 +21,18 @@ import org.modmacao.occi.platform.impl.ComponentImpl;
 
 /**
  * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Publisher</b></em>'.
+ * An implementation of the model object '<em><b>Dataprocessor</b></em>'.
  * <!-- end-user-doc -->
  *
  * @generated
  */
-public class PublisherImpl extends ComponentImpl implements Publisher {
+public class DataprocessorImpl extends ComponentImpl implements Dataprocessor {
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected PublisherImpl() {
+	protected DataprocessorImpl() {
 		super();
 	}
 
@@ -43,7 +43,7 @@ public class PublisherImpl extends ComponentImpl implements Publisher {
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.PUBLISHER;
+		return MonitoringPackage.Literals.DATAPROCESSOR;
 	}
 
-} //PublisherImpl
+} //DataprocessorImpl
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitorablepropertyImpl.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitorablepropertyImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..dc5539390c371e680ecf06d857588c4976576a37
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitorablepropertyImpl.java
@@ -0,0 +1,308 @@
+/**
+ * Copyright (c) 2015-2017 Obeo, Inria
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 	
+ * Contributors:
+ * - William Piers <william.piers@obeo.fr>
+ * - Philippe Merle <philippe.merle@inria.fr>
+ * - Faiez Zalila <faiez.zalila@inria.fr>
+ */
+package monitoring.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import monitoring.Monitorableproperty;
+import monitoring.MonitoringPackage;
+import monitoring.MonitoringTables;
+
+import org.eclipse.cmf.occi.core.Resource;
+
+import org.eclipse.cmf.occi.core.impl.LinkImpl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.ocl.pivot.evaluation.Executor;
+
+import org.eclipse.ocl.pivot.ids.IdResolver;
+import org.eclipse.ocl.pivot.ids.TypeId;
+
+import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal;
+
+import org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsKindOfOperation;
+import org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation;
+
+import org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation;
+import org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation;
+
+import org.eclipse.ocl.pivot.utilities.ValueUtil;
+
+import org.eclipse.ocl.pivot.values.IntegerValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Monitorableproperty</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link monitoring.impl.MonitorablepropertyImpl#getMonitoringProperty <em>Monitoring Property</em>}</li>
+ *   <li>{@link monitoring.impl.MonitorablepropertyImpl#getMonitoringResult <em>Monitoring Result</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MonitorablepropertyImpl extends LinkImpl implements Monitorableproperty {
+	/**
+	 * The default value of the '{@link #getMonitoringProperty() <em>Monitoring Property</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringProperty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MONITORING_PROPERTY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMonitoringProperty() <em>Monitoring Property</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringProperty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String monitoringProperty = MONITORING_PROPERTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMonitoringResult() <em>Monitoring Result</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringResult()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MONITORING_RESULT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMonitoringResult() <em>Monitoring Result</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringResult()
+	 * @generated
+	 * @ordered
+	 */
+	protected String monitoringResult = MONITORING_RESULT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MonitorablepropertyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return MonitoringPackage.Literals.MONITORABLEPROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMonitoringProperty() {
+		return monitoringProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMonitoringProperty(String newMonitoringProperty) {
+		String oldMonitoringProperty = monitoringProperty;
+		monitoringProperty = newMonitoringProperty;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORABLEPROPERTY__MONITORING_PROPERTY, oldMonitoringProperty, monitoringProperty));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMonitoringResult() {
+		return monitoringResult;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMonitoringResult(String newMonitoringResult) {
+		String oldMonitoringResult = monitoringResult;
+		monitoringResult = newMonitoringResult;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORABLEPROPERTY__MONITORING_RESULT, oldMonitoringResult, monitoringResult));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean targetConstraint(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+		/**
+		 *
+		 * inv targetConstraint:
+		 *   let
+		 *     severity : Integer[1] = 'Monitorableproperty::targetConstraint'.getSeverity()
+		 *   in
+		 *     if severity <= 0
+		 *     then true
+		 *     else
+		 *       let result : occi::Boolean[1] = self.target.oclIsKindOf(Sensor)
+		 *       in
+		 *         'Monitorableproperty::targetConstraint'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+		 *     endif
+		 */
+		final /*@NonInvalid*/ Executor executor = PivotUtilInternal.getExecutor(this);
+		final /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver();
+		final /*@NonInvalid*/ IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, MonitoringTables.STR_Monitorableproperty_c_c_targetConstraint);
+		final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, MonitoringTables.INT_0).booleanValue();
+		/*@NonInvalid*/ boolean symbol_0;
+		if (le) {
+			symbol_0 = ValueUtil.TRUE_VALUE;
+		}
+		else {
+			final /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_monitoring_c_c_Sensor = idResolver.getClass(MonitoringTables.CLSSid_Sensor, null);
+			final /*@NonInvalid*/ Resource target = this.getTarget();
+			final /*@NonInvalid*/ boolean result = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, target, TYP_monitoring_c_c_Sensor).booleanValue();
+			final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, MonitoringTables.STR_Monitorableproperty_c_c_targetConstraint, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, MonitoringTables.INT_0).booleanValue();
+			symbol_0 = logDiagnostic;
+		}
+		return Boolean.TRUE == symbol_0;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MonitoringPackage.MONITORABLEPROPERTY__MONITORING_PROPERTY:
+				return getMonitoringProperty();
+			case MonitoringPackage.MONITORABLEPROPERTY__MONITORING_RESULT:
+				return getMonitoringResult();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case MonitoringPackage.MONITORABLEPROPERTY__MONITORING_PROPERTY:
+				setMonitoringProperty((String)newValue);
+				return;
+			case MonitoringPackage.MONITORABLEPROPERTY__MONITORING_RESULT:
+				setMonitoringResult((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MonitoringPackage.MONITORABLEPROPERTY__MONITORING_PROPERTY:
+				setMonitoringProperty(MONITORING_PROPERTY_EDEFAULT);
+				return;
+			case MonitoringPackage.MONITORABLEPROPERTY__MONITORING_RESULT:
+				setMonitoringResult(MONITORING_RESULT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MonitoringPackage.MONITORABLEPROPERTY__MONITORING_PROPERTY:
+				return MONITORING_PROPERTY_EDEFAULT == null ? monitoringProperty != null : !MONITORING_PROPERTY_EDEFAULT.equals(monitoringProperty);
+			case MonitoringPackage.MONITORABLEPROPERTY__MONITORING_RESULT:
+				return MONITORING_RESULT_EDEFAULT == null ? monitoringResult != null : !MONITORING_RESULT_EDEFAULT.equals(monitoringResult);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	@SuppressWarnings("unchecked")
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+			case MonitoringPackage.MONITORABLEPROPERTY___TARGET_CONSTRAINT__DIAGNOSTICCHAIN_MAP:
+				return targetConstraint((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (monitoringProperty: ");
+		result.append(monitoringProperty);
+		result.append(", monitoringResult: ");
+		result.append(monitoringResult);
+		result.append(')');
+		return result.toString();
+	}
+
+} //MonitorablepropertyImpl
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringFactoryImpl.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringFactoryImpl.java
index 89e45c2d7dd5759eaab815e9e9180d38f431319a..6e1f93f801eb279cf5501ec69909504392ba5f98 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringFactoryImpl.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringFactoryImpl.java
@@ -67,13 +67,12 @@ public class MonitoringFactoryImpl extends EFactoryImpl implements MonitoringFac
 	@Override
 	public EObject create(EClass eClass) {
 		switch (eClass.getClassifierID()) {
-			case MonitoringPackage.MONITORING_PROPERTY: return createMonitoringProperty();
-			case MonitoringPackage.MONITORING_PROPERTY_ARRAY: return createMonitoringPropertyArray();
 			case MonitoringPackage.SENSOR: return createSensor();
 			case MonitoringPackage.DATAGATHERER: return createDatagatherer();
-			case MonitoringPackage.PROCESSOR: return createProcessor();
-			case MonitoringPackage.PUBLISHER: return createPublisher();
-			case MonitoringPackage.MONITORINGPROPERTIES: return createMonitoringproperties();
+			case MonitoringPackage.DATAPROCESSOR: return createDataprocessor();
+			case MonitoringPackage.RESULTPROVIDER: return createResultprovider();
+			case MonitoringPackage.MONITORABLEPROPERTY: return createMonitorableproperty();
+			case MonitoringPackage.OCCIRESULTPROVIDER: return createOcciresultprovider();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
 		}
@@ -87,10 +86,6 @@ public class MonitoringFactoryImpl extends EFactoryImpl implements MonitoringFac
 	@Override
 	public Object createFromString(EDataType eDataType, String initialValue) {
 		switch (eDataType.getClassifierID()) {
-			case MonitoringPackage.DATE_TIME:
-				return createDateTimeFromString(eDataType, initialValue);
-			case MonitoringPackage.SECOND:
-				return createSecondFromString(eDataType, initialValue);
 			case MonitoringPackage.STRING:
 				return createStringFromString(eDataType, initialValue);
 			default:
@@ -106,10 +101,6 @@ public class MonitoringFactoryImpl extends EFactoryImpl implements MonitoringFac
 	@Override
 	public String convertToString(EDataType eDataType, Object instanceValue) {
 		switch (eDataType.getClassifierID()) {
-			case MonitoringPackage.DATE_TIME:
-				return convertDateTimeToString(eDataType, instanceValue);
-			case MonitoringPackage.SECOND:
-				return convertSecondToString(eDataType, instanceValue);
 			case MonitoringPackage.STRING:
 				return convertStringToString(eDataType, instanceValue);
 			default:
@@ -117,26 +108,6 @@ public class MonitoringFactoryImpl extends EFactoryImpl implements MonitoringFac
 		}
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MonitoringProperty createMonitoringProperty() {
-		MonitoringPropertyImpl monitoringProperty = new MonitoringPropertyImpl();
-		return monitoringProperty;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MonitoringPropertyArray createMonitoringPropertyArray() {
-		MonitoringPropertyArrayImpl monitoringPropertyArray = new MonitoringPropertyArrayImpl();
-		return monitoringPropertyArray;
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -162,9 +133,9 @@ public class MonitoringFactoryImpl extends EFactoryImpl implements MonitoringFac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public Processor createProcessor() {
-		ProcessorImpl processor = new ProcessorImpl();
-		return processor;
+	public Dataprocessor createDataprocessor() {
+		DataprocessorImpl dataprocessor = new DataprocessorImpl();
+		return dataprocessor;
 	}
 
 	/**
@@ -172,9 +143,9 @@ public class MonitoringFactoryImpl extends EFactoryImpl implements MonitoringFac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public Publisher createPublisher() {
-		PublisherImpl publisher = new PublisherImpl();
-		return publisher;
+	public Resultprovider createResultprovider() {
+		ResultproviderImpl resultprovider = new ResultproviderImpl();
+		return resultprovider;
 	}
 
 	/**
@@ -182,9 +153,9 @@ public class MonitoringFactoryImpl extends EFactoryImpl implements MonitoringFac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public Monitoringproperties createMonitoringproperties() {
-		MonitoringpropertiesImpl monitoringproperties = new MonitoringpropertiesImpl();
-		return monitoringproperties;
+	public Monitorableproperty createMonitorableproperty() {
+		MonitorablepropertyImpl monitorableproperty = new MonitorablepropertyImpl();
+		return monitorableproperty;
 	}
 
 	/**
@@ -192,35 +163,9 @@ public class MonitoringFactoryImpl extends EFactoryImpl implements MonitoringFac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public String createDateTimeFromString(EDataType eDataType, String initialValue) {
-		return (String)super.createFromString(eDataType, initialValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertDateTimeToString(EDataType eDataType, Object instanceValue) {
-		return super.convertToString(eDataType, instanceValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String createSecondFromString(EDataType eDataType, String initialValue) {
-		return (String)super.createFromString(eDataType, initialValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertSecondToString(EDataType eDataType, Object instanceValue) {
-		return super.convertToString(eDataType, instanceValue);
+	public Occiresultprovider createOcciresultprovider() {
+		OcciresultproviderImpl occiresultprovider = new OcciresultproviderImpl();
+		return occiresultprovider;
 	}
 
 	/**
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringPackageImpl.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringPackageImpl.java
index c123c3c7160481ef1a55481b3e3431bfbf607c40..fcbecc7879da6903840dd36433f398d902489adc 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringPackageImpl.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringPackageImpl.java
@@ -13,13 +13,13 @@
 package monitoring.impl;
 
 import monitoring.Datagatherer;
+import monitoring.Dataprocessor;
+import monitoring.Gatheringservice;
+import monitoring.Monitorableproperty;
 import monitoring.MonitoringFactory;
 import monitoring.MonitoringPackage;
-import monitoring.MonitoringProperty;
-import monitoring.MonitoringPropertyArray;
-import monitoring.Monitoringproperties;
-import monitoring.Processor;
-import monitoring.Publisher;
+import monitoring.Occiresultprovider;
+import monitoring.Resultprovider;
 import monitoring.Sensor;
 
 import monitoring.util.MonitoringValidator;
@@ -32,7 +32,6 @@ import org.eclipse.emf.ecore.EDataType;
 import org.eclipse.emf.ecore.EGenericType;
 import org.eclipse.emf.ecore.EOperation;
 import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.EValidator;
 
 import org.eclipse.emf.ecore.impl.EPackageImpl;
@@ -46,20 +45,6 @@ import org.modmacao.occi.platform.PlatformPackage;
  * @generated
  */
 public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPackage {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass monitoringPropertyEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass monitoringPropertyArrayEClass = null;
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -79,35 +64,28 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass processorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass publisherEClass = null;
+	private EClass dataprocessorEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass monitoringpropertiesEClass = null;
+	private EClass resultproviderEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EDataType dateTimeEDataType = null;
+	private EClass monitorablepropertyEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EDataType secondEDataType = null;
+	private EClass occiresultproviderEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -190,60 +168,6 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 		return theMonitoringPackage;
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getMonitoringProperty() {
-		return monitoringPropertyEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoringProperty_Name() {
-		return (EAttribute)monitoringPropertyEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoringProperty_Value() {
-		return (EAttribute)monitoringPropertyEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoringProperty_Id() {
-		return (EAttribute)monitoringPropertyEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getMonitoringPropertyArray() {
-		return monitoringPropertyArrayEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getMonitoringPropertyArray_MonitoringpropertyarrayValues() {
-		return (EReference)monitoringPropertyArrayEClass.getEStructuralFeatures().get(0);
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -253,60 +177,6 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 		return sensorEClass;
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getSensor_OcciSensorTimebase() {
-		return (EAttribute)sensorEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getSensor_OcciSensorTimestart() {
-		return (EAttribute)sensorEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getSensor_OcciSensorTimestop() {
-		return (EAttribute)sensorEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getSensor_OcciSensorPeriod() {
-		return (EAttribute)sensorEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getSensor_OcciSensorGranularity() {
-		return (EAttribute)sensorEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getSensor_OcciSensorAccuracy() {
-		return (EAttribute)sensorEClass.getEStructuralFeatures().get(5);
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -321,17 +191,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getDatagatherer_OcciCollectorPeriod() {
-		return (EAttribute)datagathererEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getDatagatherer_OcciCollectorGranularity() {
-		return (EAttribute)datagathererEClass.getEStructuralFeatures().get(1);
+	public EClass getDataprocessor() {
+		return dataprocessorEClass;
 	}
 
 	/**
@@ -339,8 +200,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getDatagatherer_OcciCollectorAccuracy() {
-		return (EAttribute)datagathererEClass.getEStructuralFeatures().get(2);
+	public EClass getResultprovider() {
+		return resultproviderEClass;
 	}
 
 	/**
@@ -348,8 +209,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EClass getProcessor() {
-		return processorEClass;
+	public EClass getMonitorableproperty() {
+		return monitorablepropertyEClass;
 	}
 
 	/**
@@ -357,8 +218,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EClass getPublisher() {
-		return publisherEClass;
+	public EAttribute getMonitorableproperty_MonitoringProperty() {
+		return (EAttribute)monitorablepropertyEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -366,8 +227,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EClass getMonitoringproperties() {
-		return monitoringpropertiesEClass;
+	public EAttribute getMonitorableproperty_MonitoringResult() {
+		return (EAttribute)monitorablepropertyEClass.getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -375,8 +236,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getMonitoringproperties_MonitoringProperties() {
-		return (EReference)monitoringpropertiesEClass.getEStructuralFeatures().get(0);
+	public EOperation getMonitorableproperty__TargetConstraint__DiagnosticChain_Map() {
+		return monitorablepropertyEClass.getEOperations().get(0);
 	}
 
 	/**
@@ -384,8 +245,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getMonitoringproperties__AppliesConstraint__DiagnosticChain_Map() {
-		return monitoringpropertiesEClass.getEOperations().get(0);
+	public EClass getOcciresultprovider() {
+		return occiresultproviderEClass;
 	}
 
 	/**
@@ -393,8 +254,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EDataType getDateTime() {
-		return dateTimeEDataType;
+	public EAttribute getOcciresultprovider_ResultProviderEndpoint() {
+		return (EAttribute)occiresultproviderEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -402,8 +263,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EDataType getSecond() {
-		return secondEDataType;
+	public EOperation getOcciresultprovider__AppliesConstraint__DiagnosticChain_Map() {
+		return occiresultproviderEClass.getEOperations().get(0);
 	}
 
 	/**
@@ -443,38 +304,24 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 		isCreated = true;
 
 		// Create classes and their features
-		monitoringPropertyEClass = createEClass(MONITORING_PROPERTY);
-		createEAttribute(monitoringPropertyEClass, MONITORING_PROPERTY__NAME);
-		createEAttribute(monitoringPropertyEClass, MONITORING_PROPERTY__VALUE);
-		createEAttribute(monitoringPropertyEClass, MONITORING_PROPERTY__ID);
-
-		monitoringPropertyArrayEClass = createEClass(MONITORING_PROPERTY_ARRAY);
-		createEReference(monitoringPropertyArrayEClass, MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES);
-
 		sensorEClass = createEClass(SENSOR);
-		createEAttribute(sensorEClass, SENSOR__OCCI_SENSOR_TIMEBASE);
-		createEAttribute(sensorEClass, SENSOR__OCCI_SENSOR_TIMESTART);
-		createEAttribute(sensorEClass, SENSOR__OCCI_SENSOR_TIMESTOP);
-		createEAttribute(sensorEClass, SENSOR__OCCI_SENSOR_PERIOD);
-		createEAttribute(sensorEClass, SENSOR__OCCI_SENSOR_GRANULARITY);
-		createEAttribute(sensorEClass, SENSOR__OCCI_SENSOR_ACCURACY);
 
 		datagathererEClass = createEClass(DATAGATHERER);
-		createEAttribute(datagathererEClass, DATAGATHERER__OCCI_COLLECTOR_PERIOD);
-		createEAttribute(datagathererEClass, DATAGATHERER__OCCI_COLLECTOR_GRANULARITY);
-		createEAttribute(datagathererEClass, DATAGATHERER__OCCI_COLLECTOR_ACCURACY);
 
-		processorEClass = createEClass(PROCESSOR);
+		dataprocessorEClass = createEClass(DATAPROCESSOR);
 
-		publisherEClass = createEClass(PUBLISHER);
+		resultproviderEClass = createEClass(RESULTPROVIDER);
 
-		monitoringpropertiesEClass = createEClass(MONITORINGPROPERTIES);
-		createEReference(monitoringpropertiesEClass, MONITORINGPROPERTIES__MONITORING_PROPERTIES);
-		createEOperation(monitoringpropertiesEClass, MONITORINGPROPERTIES___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP);
+		monitorablepropertyEClass = createEClass(MONITORABLEPROPERTY);
+		createEAttribute(monitorablepropertyEClass, MONITORABLEPROPERTY__MONITORING_PROPERTY);
+		createEAttribute(monitorablepropertyEClass, MONITORABLEPROPERTY__MONITORING_RESULT);
+		createEOperation(monitorablepropertyEClass, MONITORABLEPROPERTY___TARGET_CONSTRAINT__DIAGNOSTICCHAIN_MAP);
+
+		occiresultproviderEClass = createEClass(OCCIRESULTPROVIDER);
+		createEAttribute(occiresultproviderEClass, OCCIRESULTPROVIDER__RESULT_PROVIDER_ENDPOINT);
+		createEOperation(occiresultproviderEClass, OCCIRESULTPROVIDER___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP);
 
 		// Create data types
-		dateTimeEDataType = createEDataType(DATE_TIME);
-		secondEDataType = createEDataType(SECOND);
 		stringEDataType = createEDataType(STRING);
 	}
 
@@ -512,40 +359,25 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 		// Add supertypes to classes
 		sensorEClass.getESuperTypes().add(thePlatformPackage.getApplication());
 		datagathererEClass.getESuperTypes().add(thePlatformPackage.getComponent());
-		processorEClass.getESuperTypes().add(thePlatformPackage.getComponent());
-		publisherEClass.getESuperTypes().add(thePlatformPackage.getComponent());
-		monitoringpropertiesEClass.getESuperTypes().add(theOCCIPackage.getMixinBase());
+		dataprocessorEClass.getESuperTypes().add(thePlatformPackage.getComponent());
+		resultproviderEClass.getESuperTypes().add(thePlatformPackage.getComponent());
+		monitorablepropertyEClass.getESuperTypes().add(theOCCIPackage.getLink());
+		occiresultproviderEClass.getESuperTypes().add(theOCCIPackage.getMixinBase());
 
 		// Initialize classes, features, and operations; add parameters
-		initEClass(monitoringPropertyEClass, MonitoringProperty.class, "MonitoringProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getMonitoringProperty_Name(), this.getString(), "name", null, 1, 1, MonitoringProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getMonitoringProperty_Value(), this.getString(), "value", null, 1, 1, MonitoringProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getMonitoringProperty_Id(), this.getString(), "Id", null, 1, 1, MonitoringProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(monitoringPropertyArrayEClass, MonitoringPropertyArray.class, "MonitoringPropertyArray", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getMonitoringPropertyArray_MonitoringpropertyarrayValues(), this.getMonitoringProperty(), null, "monitoringpropertyarrayValues", null, 0, -1, MonitoringPropertyArray.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
 		initEClass(sensorEClass, Sensor.class, "Sensor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getSensor_OcciSensorTimebase(), this.getDateTime(), "occiSensorTimebase", null, 0, 1, Sensor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getSensor_OcciSensorTimestart(), this.getSecond(), "occiSensorTimestart", null, 0, 1, Sensor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getSensor_OcciSensorTimestop(), this.getSecond(), "occiSensorTimestop", null, 0, 1, Sensor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getSensor_OcciSensorPeriod(), this.getSecond(), "occiSensorPeriod", null, 1, 1, Sensor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getSensor_OcciSensorGranularity(), this.getSecond(), "occiSensorGranularity", null, 0, 1, Sensor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getSensor_OcciSensorAccuracy(), this.getSecond(), "occiSensorAccuracy", null, 0, 1, Sensor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(datagathererEClass, Datagatherer.class, "Datagatherer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getDatagatherer_OcciCollectorPeriod(), this.getSecond(), "occiCollectorPeriod", null, 1, 1, Datagatherer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getDatagatherer_OcciCollectorGranularity(), this.getSecond(), "occiCollectorGranularity", null, 0, 1, Datagatherer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getDatagatherer_OcciCollectorAccuracy(), this.getSecond(), "occiCollectorAccuracy", null, 0, 1, Datagatherer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(processorEClass, Processor.class, "Processor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEClass(dataprocessorEClass, Dataprocessor.class, "Dataprocessor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
-		initEClass(publisherEClass, Publisher.class, "Publisher", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEClass(resultproviderEClass, Resultprovider.class, "Resultprovider", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
-		initEClass(monitoringpropertiesEClass, Monitoringproperties.class, "Monitoringproperties", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getMonitoringproperties_MonitoringProperties(), this.getMonitoringPropertyArray(), null, "monitoringProperties", null, 0, 1, Monitoringproperties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEClass(monitorablepropertyEClass, Monitorableproperty.class, "Monitorableproperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMonitorableproperty_MonitoringProperty(), this.getString(), "monitoringProperty", null, 1, 1, Monitorableproperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitorableproperty_MonitoringResult(), this.getString(), "monitoringResult", null, 0, 1, Monitorableproperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		EOperation op = initEOperation(getMonitoringproperties__AppliesConstraint__DiagnosticChain_Map(), ecorePackage.getEBoolean(), "appliesConstraint", 0, 1, IS_UNIQUE, IS_ORDERED);
+		EOperation op = initEOperation(getMonitorableproperty__TargetConstraint__DiagnosticChain_Map(), ecorePackage.getEBoolean(), "targetConstraint", 0, 1, IS_UNIQUE, IS_ORDERED);
 		addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
 		EGenericType g1 = createEGenericType(ecorePackage.getEMap());
 		EGenericType g2 = createEGenericType(ecorePackage.getEJavaObject());
@@ -554,9 +386,19 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 		g1.getETypeArguments().add(g2);
 		addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
 
+		initEClass(occiresultproviderEClass, Occiresultprovider.class, "Occiresultprovider", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getOcciresultprovider_ResultProviderEndpoint(), this.getString(), "resultProviderEndpoint", null, 1, 1, Occiresultprovider.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		op = initEOperation(getOcciresultprovider__AppliesConstraint__DiagnosticChain_Map(), ecorePackage.getEBoolean(), "appliesConstraint", 0, 1, IS_UNIQUE, IS_ORDERED);
+		addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
+		g1 = createEGenericType(ecorePackage.getEMap());
+		g2 = createEGenericType(ecorePackage.getEJavaObject());
+		g1.getETypeArguments().add(g2);
+		g2 = createEGenericType(ecorePackage.getEJavaObject());
+		g1.getETypeArguments().add(g2);
+		addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
+
 		// Initialize data types
-		initEDataType(dateTimeEDataType, String.class, "DateTime", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
-		initEDataType(secondEDataType, String.class, "Second", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
 		initEDataType(stringEDataType, String.class, "String", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
 
 		// Create resource
@@ -565,8 +407,6 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 		// Create annotations
 		// http://www.eclipse.org/emf/2002/Ecore
 		createEcoreAnnotations();
-		// http:///org/eclipse/emf/ecore/util/ExtendedMetaData
-		createExtendedMetaDataAnnotations();
 	}
 
 	/**
@@ -583,26 +423,16 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 		   new String[] {
 		   });	
 		addAnnotation
-		  (monitoringpropertiesEClass, 
+		  (monitorablepropertyEClass, 
 		   source, 
 		   new String[] {
-			 "constraints", "appliesConstraint"
-		   });
-	}
-
-	/**
-	 * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void createExtendedMetaDataAnnotations() {
-		String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";	
+			 "constraints", "targetConstraint"
+		   });	
 		addAnnotation
-		  (dateTimeEDataType, 
+		  (occiresultproviderEClass, 
 		   source, 
 		   new String[] {
-			 "pattern", "^(\\d{4}((-)?(0[1-9]|1[0-2])((-)?(0[1-9]|[1-2][0-9]|3[0-1])(T(24:00(:00(\\.[0]+)?)?|(([0-1][0-9]|2[0-3])(:)[0-5][0-9])((:)[0-5][0-9](\\.[\\d]+)?)?)((\\+|-)(14:00|(0[0-9]|1[0-3])(:)[0-5][0-9])|Z))?)?)?)$"
+			 "constraints", "appliesConstraint"
 		   });
 	}
 
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringPropertyArrayImpl.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringPropertyArrayImpl.java
deleted file mode 100644
index d9ee4e7ee1bf34f3e44c170bb7d3b9907c2234d8..0000000000000000000000000000000000000000
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringPropertyArrayImpl.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/**
- * Copyright (c) 2015-2017 Obeo, Inria
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 	
- * Contributors:
- * - William Piers <william.piers@obeo.fr>
- * - Philippe Merle <philippe.merle@inria.fr>
- * - Faiez Zalila <faiez.zalila@inria.fr>
- */
-package monitoring.impl;
-
-import java.util.Collection;
-
-import monitoring.MonitoringPackage;
-import monitoring.MonitoringProperty;
-import monitoring.MonitoringPropertyArray;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Property Array</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link monitoring.impl.MonitoringPropertyArrayImpl#getMonitoringpropertyarrayValues <em>Monitoringpropertyarray Values</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class MonitoringPropertyArrayImpl extends EObjectImpl implements MonitoringPropertyArray {
-	/**
-	 * The cached value of the '{@link #getMonitoringpropertyarrayValues() <em>Monitoringpropertyarray Values</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMonitoringpropertyarrayValues()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<MonitoringProperty> monitoringpropertyarrayValues;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected MonitoringPropertyArrayImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.MONITORING_PROPERTY_ARRAY;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<MonitoringProperty> getMonitoringpropertyarrayValues() {
-		if (monitoringpropertyarrayValues == null) {
-			monitoringpropertyarrayValues = new EObjectContainmentEList<MonitoringProperty>(MonitoringProperty.class, this, MonitoringPackage.MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES);
-		}
-		return monitoringpropertyarrayValues;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case MonitoringPackage.MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES:
-				return ((InternalEList<?>)getMonitoringpropertyarrayValues()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case MonitoringPackage.MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES:
-				return getMonitoringpropertyarrayValues();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case MonitoringPackage.MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES:
-				getMonitoringpropertyarrayValues().clear();
-				getMonitoringpropertyarrayValues().addAll((Collection<? extends MonitoringProperty>)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES:
-				getMonitoringpropertyarrayValues().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES:
-				return monitoringpropertyarrayValues != null && !monitoringpropertyarrayValues.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-} //MonitoringPropertyArrayImpl
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringPropertyImpl.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringPropertyImpl.java
deleted file mode 100644
index 28112c60337e6084e48a51a936e81a035dcaa260..0000000000000000000000000000000000000000
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringPropertyImpl.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/**
- * Copyright (c) 2015-2017 Obeo, Inria
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 	
- * Contributors:
- * - William Piers <william.piers@obeo.fr>
- * - Philippe Merle <philippe.merle@inria.fr>
- * - Faiez Zalila <faiez.zalila@inria.fr>
- */
-package monitoring.impl;
-
-import monitoring.MonitoringPackage;
-import monitoring.MonitoringProperty;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Property</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link monitoring.impl.MonitoringPropertyImpl#getName <em>Name</em>}</li>
- *   <li>{@link monitoring.impl.MonitoringPropertyImpl#getValue <em>Value</em>}</li>
- *   <li>{@link monitoring.impl.MonitoringPropertyImpl#getId <em>Id</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class MonitoringPropertyImpl extends EObjectImpl implements MonitoringProperty {
-	/**
-	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String name = NAME_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String VALUE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected String value = VALUE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getId()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String ID_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getId()
-	 * @generated
-	 * @ordered
-	 */
-	protected String id = ID_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected MonitoringPropertyImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.MONITORING_PROPERTY;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setName(String newName) {
-		String oldName = name;
-		name = newName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORING_PROPERTY__NAME, oldName, name));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getValue() {
-		return value;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setValue(String newValue) {
-		String oldValue = value;
-		value = newValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORING_PROPERTY__VALUE, oldValue, value));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setId(String newId) {
-		String oldId = id;
-		id = newId;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORING_PROPERTY__ID, oldId, id));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case MonitoringPackage.MONITORING_PROPERTY__NAME:
-				return getName();
-			case MonitoringPackage.MONITORING_PROPERTY__VALUE:
-				return getValue();
-			case MonitoringPackage.MONITORING_PROPERTY__ID:
-				return getId();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case MonitoringPackage.MONITORING_PROPERTY__NAME:
-				setName((String)newValue);
-				return;
-			case MonitoringPackage.MONITORING_PROPERTY__VALUE:
-				setValue((String)newValue);
-				return;
-			case MonitoringPackage.MONITORING_PROPERTY__ID:
-				setId((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.MONITORING_PROPERTY__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case MonitoringPackage.MONITORING_PROPERTY__VALUE:
-				setValue(VALUE_EDEFAULT);
-				return;
-			case MonitoringPackage.MONITORING_PROPERTY__ID:
-				setId(ID_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.MONITORING_PROPERTY__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case MonitoringPackage.MONITORING_PROPERTY__VALUE:
-				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-			case MonitoringPackage.MONITORING_PROPERTY__ID:
-				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (name: ");
-		result.append(name);
-		result.append(", value: ");
-		result.append(value);
-		result.append(", Id: ");
-		result.append(id);
-		result.append(')');
-		return result.toString();
-	}
-
-} //MonitoringPropertyImpl
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringpropertiesImpl.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/OcciresultproviderImpl.java
similarity index 55%
rename from de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringpropertiesImpl.java
rename to de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/OcciresultproviderImpl.java
index b7d5274d919ce4669ecfaef6bb9b1cdc04604169..667ac2e15ca40fa157b9afe150d3db4eaf708ee9 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringpropertiesImpl.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/OcciresultproviderImpl.java
@@ -17,22 +17,19 @@ import java.lang.reflect.InvocationTargetException;
 import java.util.Map;
 
 import monitoring.MonitoringPackage;
-import monitoring.MonitoringPropertyArray;
 import monitoring.MonitoringTables;
-import monitoring.Monitoringproperties;
+import monitoring.Occiresultprovider;
 
 import org.eclipse.cmf.occi.core.Entity;
 
 import org.eclipse.cmf.occi.core.impl.MixinBaseImpl;
 
 import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
 
 import org.eclipse.emf.common.util.DiagnosticChain;
 import org.eclipse.emf.common.util.EList;
 
 import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
 
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 
@@ -55,45 +52,45 @@ import org.eclipse.ocl.pivot.values.IntegerValue;
 
 /**
  * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Monitoringproperties</b></em>'.
+ * An implementation of the model object '<em><b>Occiresultprovider</b></em>'.
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link monitoring.impl.MonitoringpropertiesImpl#getMonitoringProperties <em>Monitoring Properties</em>}</li>
+ *   <li>{@link monitoring.impl.OcciresultproviderImpl#getResultProviderEndpoint <em>Result Provider Endpoint</em>}</li>
  * </ul>
  *
  * @generated
  */
-public class MonitoringpropertiesImpl extends MixinBaseImpl implements Monitoringproperties {
+public class OcciresultproviderImpl extends MixinBaseImpl implements Occiresultprovider {
 	/**
-	 * The cached value of the '{@link #getMonitoringProperties() <em>Monitoring Properties</em>}' containment reference.
+	 * The default value of the '{@link #getResultProviderEndpoint() <em>Result Provider Endpoint</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #getMonitoringProperties()
+	 * @see #getResultProviderEndpoint()
 	 * @generated
 	 * @ordered
 	 */
-	protected MonitoringPropertyArray monitoringProperties;
+	protected static final String RESULT_PROVIDER_ENDPOINT_EDEFAULT = null;
 
 	/**
+	 * The cached value of the '{@link #getResultProviderEndpoint() <em>Result Provider Endpoint</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see #getResultProviderEndpoint()
 	 * @generated
+	 * @ordered
 	 */
-	protected MonitoringpropertiesImpl() {
-		super();
-	}
+	protected String resultProviderEndpoint = RESULT_PROVIDER_ENDPOINT_EDEFAULT;
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.MONITORINGPROPERTIES;
+	protected OcciresultproviderImpl() {
+		super();
 	}
 
 	/**
@@ -101,8 +98,9 @@ public class MonitoringpropertiesImpl extends MixinBaseImpl implements Monitorin
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public MonitoringPropertyArray getMonitoringProperties() {
-		return monitoringProperties;
+	@Override
+	protected EClass eStaticClass() {
+		return MonitoringPackage.Literals.OCCIRESULTPROVIDER;
 	}
 
 	/**
@@ -110,14 +108,8 @@ public class MonitoringpropertiesImpl extends MixinBaseImpl implements Monitorin
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public NotificationChain basicSetMonitoringProperties(MonitoringPropertyArray newMonitoringProperties, NotificationChain msgs) {
-		MonitoringPropertyArray oldMonitoringProperties = monitoringProperties;
-		monitoringProperties = newMonitoringProperties;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORINGPROPERTIES__MONITORING_PROPERTIES, oldMonitoringProperties, newMonitoringProperties);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
+	public String getResultProviderEndpoint() {
+		return resultProviderEndpoint;
 	}
 
 	/**
@@ -125,18 +117,11 @@ public class MonitoringpropertiesImpl extends MixinBaseImpl implements Monitorin
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public void setMonitoringProperties(MonitoringPropertyArray newMonitoringProperties) {
-		if (newMonitoringProperties != monitoringProperties) {
-			NotificationChain msgs = null;
-			if (monitoringProperties != null)
-				msgs = ((InternalEObject)monitoringProperties).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringPackage.MONITORINGPROPERTIES__MONITORING_PROPERTIES, null, msgs);
-			if (newMonitoringProperties != null)
-				msgs = ((InternalEObject)newMonitoringProperties).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringPackage.MONITORINGPROPERTIES__MONITORING_PROPERTIES, null, msgs);
-			msgs = basicSetMonitoringProperties(newMonitoringProperties, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORINGPROPERTIES__MONITORING_PROPERTIES, newMonitoringProperties, newMonitoringProperties));
+	public void setResultProviderEndpoint(String newResultProviderEndpoint) {
+		String oldResultProviderEndpoint = resultProviderEndpoint;
+		resultProviderEndpoint = newResultProviderEndpoint;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.OCCIRESULTPROVIDER__RESULT_PROVIDER_ENDPOINT, oldResultProviderEndpoint, resultProviderEndpoint));
 	}
 
 	/**
@@ -149,49 +134,35 @@ public class MonitoringpropertiesImpl extends MixinBaseImpl implements Monitorin
 		 *
 		 * inv appliesConstraint:
 		 *   let
-		 *     severity : Integer[1] = 'Monitoringproperties::appliesConstraint'.getSeverity()
+		 *     severity : Integer[1] = 'Occiresultprovider::appliesConstraint'.getSeverity()
 		 *   in
 		 *     if severity <= 0
 		 *     then true
 		 *     else
 		 *       let
-		 *         result : occi::Boolean[1] = self.entity.oclIsKindOf(occi::Resource)
+		 *         result : occi::Boolean[1] = self.entity.oclIsKindOf(Resultprovider)
 		 *       in
-		 *         'Monitoringproperties::appliesConstraint'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
+		 *         'Occiresultprovider::appliesConstraint'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)
 		 *     endif
 		 */
 		final /*@NonInvalid*/ Executor executor = PivotUtilInternal.getExecutor(this);
 		final /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver();
-		final /*@NonInvalid*/ IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, MonitoringTables.STR_Monitoringproperties_c_c_appliesConstraint);
+		final /*@NonInvalid*/ IntegerValue severity_0 = CGStringGetSeverityOperation.INSTANCE.evaluate(executor, MonitoringTables.STR_Occiresultprovider_c_c_appliesConstraint);
 		final /*@NonInvalid*/ boolean le = OclComparableLessThanEqualOperation.INSTANCE.evaluate(executor, severity_0, MonitoringTables.INT_0).booleanValue();
 		/*@NonInvalid*/ boolean symbol_0;
 		if (le) {
 			symbol_0 = ValueUtil.TRUE_VALUE;
 		}
 		else {
-			final /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_occi_c_c_Resource = idResolver.getClass(MonitoringTables.CLSSid_Resource, null);
+			final /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_monitoring_c_c_Resultprovider = idResolver.getClass(MonitoringTables.CLSSid_Resultprovider, null);
 			final /*@NonInvalid*/ Entity entity = this.getEntity();
-			final /*@NonInvalid*/ boolean result = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, entity, TYP_occi_c_c_Resource).booleanValue();
-			final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, MonitoringTables.STR_Monitoringproperties_c_c_appliesConstraint, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, MonitoringTables.INT_0).booleanValue();
+			final /*@NonInvalid*/ boolean result = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, entity, TYP_monitoring_c_c_Resultprovider).booleanValue();
+			final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, MonitoringTables.STR_Occiresultprovider_c_c_appliesConstraint, this, (Object)null, diagnostics, context, (Object)null, severity_0, result, MonitoringTables.INT_0).booleanValue();
 			symbol_0 = logDiagnostic;
 		}
 		return Boolean.TRUE == symbol_0;
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case MonitoringPackage.MONITORINGPROPERTIES__MONITORING_PROPERTIES:
-				return basicSetMonitoringProperties(null, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -200,8 +171,8 @@ public class MonitoringpropertiesImpl extends MixinBaseImpl implements Monitorin
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORINGPROPERTIES__MONITORING_PROPERTIES:
-				return getMonitoringProperties();
+			case MonitoringPackage.OCCIRESULTPROVIDER__RESULT_PROVIDER_ENDPOINT:
+				return getResultProviderEndpoint();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -214,8 +185,8 @@ public class MonitoringpropertiesImpl extends MixinBaseImpl implements Monitorin
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORINGPROPERTIES__MONITORING_PROPERTIES:
-				setMonitoringProperties((MonitoringPropertyArray)newValue);
+			case MonitoringPackage.OCCIRESULTPROVIDER__RESULT_PROVIDER_ENDPOINT:
+				setResultProviderEndpoint((String)newValue);
 				return;
 		}
 		super.eSet(featureID, newValue);
@@ -229,8 +200,8 @@ public class MonitoringpropertiesImpl extends MixinBaseImpl implements Monitorin
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORINGPROPERTIES__MONITORING_PROPERTIES:
-				setMonitoringProperties((MonitoringPropertyArray)null);
+			case MonitoringPackage.OCCIRESULTPROVIDER__RESULT_PROVIDER_ENDPOINT:
+				setResultProviderEndpoint(RESULT_PROVIDER_ENDPOINT_EDEFAULT);
 				return;
 		}
 		super.eUnset(featureID);
@@ -244,8 +215,8 @@ public class MonitoringpropertiesImpl extends MixinBaseImpl implements Monitorin
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORINGPROPERTIES__MONITORING_PROPERTIES:
-				return monitoringProperties != null;
+			case MonitoringPackage.OCCIRESULTPROVIDER__RESULT_PROVIDER_ENDPOINT:
+				return RESULT_PROVIDER_ENDPOINT_EDEFAULT == null ? resultProviderEndpoint != null : !RESULT_PROVIDER_ENDPOINT_EDEFAULT.equals(resultProviderEndpoint);
 		}
 		return super.eIsSet(featureID);
 	}
@@ -259,10 +230,26 @@ public class MonitoringpropertiesImpl extends MixinBaseImpl implements Monitorin
 	@SuppressWarnings("unchecked")
 	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
 		switch (operationID) {
-			case MonitoringPackage.MONITORINGPROPERTIES___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP:
+			case MonitoringPackage.OCCIRESULTPROVIDER___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP:
 				return appliesConstraint((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
 		}
 		return super.eInvoke(operationID, arguments);
 	}
 
-} //MonitoringpropertiesImpl
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (resultProviderEndpoint: ");
+		result.append(resultProviderEndpoint);
+		result.append(')');
+		return result.toString();
+	}
+
+} //OcciresultproviderImpl
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/ProcessorImpl.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/ResultproviderImpl.java
similarity index 68%
rename from de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/ProcessorImpl.java
rename to de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/ResultproviderImpl.java
index e87c20cb9f497a1ae5557a8abd0c6356e189c357..1ccbd2e50027138633e26b44ce8a8f500dfed4c2 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/ProcessorImpl.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/ResultproviderImpl.java
@@ -13,26 +13,30 @@
 package monitoring.impl;
 
 import monitoring.MonitoringPackage;
-import monitoring.Processor;
+import monitoring.Resultprovider;
+
+import org.eclipse.emf.common.notify.Notification;
 
 import org.eclipse.emf.ecore.EClass;
 
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
 import org.modmacao.occi.platform.impl.ComponentImpl;
 
 /**
  * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Processor</b></em>'.
+ * An implementation of the model object '<em><b>Resultprovider</b></em>'.
  * <!-- end-user-doc -->
  *
  * @generated
  */
-public class ProcessorImpl extends ComponentImpl implements Processor {
+public class ResultproviderImpl extends ComponentImpl implements Resultprovider {
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected ProcessorImpl() {
+	protected ResultproviderImpl() {
 		super();
 	}
 
@@ -43,7 +47,7 @@ public class ProcessorImpl extends ComponentImpl implements Processor {
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.PROCESSOR;
+		return MonitoringPackage.Literals.RESULTPROVIDER;
 	}
 
-} //ProcessorImpl
+} //ResultproviderImpl
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/SensorImpl.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/SensorImpl.java
index d824030691f626318ccba468771336827785ffaa..7967a306410820e81bda1482463008b1f0cfdb67 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/SensorImpl.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/SensorImpl.java
@@ -27,141 +27,10 @@ import org.modmacao.occi.platform.impl.ApplicationImpl;
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Sensor</b></em>'.
  * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link monitoring.impl.SensorImpl#getOcciSensorTimebase <em>Occi Sensor Timebase</em>}</li>
- *   <li>{@link monitoring.impl.SensorImpl#getOcciSensorTimestart <em>Occi Sensor Timestart</em>}</li>
- *   <li>{@link monitoring.impl.SensorImpl#getOcciSensorTimestop <em>Occi Sensor Timestop</em>}</li>
- *   <li>{@link monitoring.impl.SensorImpl#getOcciSensorPeriod <em>Occi Sensor Period</em>}</li>
- *   <li>{@link monitoring.impl.SensorImpl#getOcciSensorGranularity <em>Occi Sensor Granularity</em>}</li>
- *   <li>{@link monitoring.impl.SensorImpl#getOcciSensorAccuracy <em>Occi Sensor Accuracy</em>}</li>
- * </ul>
  *
  * @generated
  */
 public class SensorImpl extends ApplicationImpl implements Sensor {
-	/**
-	 * The default value of the '{@link #getOcciSensorTimebase() <em>Occi Sensor Timebase</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciSensorTimebase()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String OCCI_SENSOR_TIMEBASE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getOcciSensorTimebase() <em>Occi Sensor Timebase</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciSensorTimebase()
-	 * @generated
-	 * @ordered
-	 */
-	protected String occiSensorTimebase = OCCI_SENSOR_TIMEBASE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getOcciSensorTimestart() <em>Occi Sensor Timestart</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciSensorTimestart()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String OCCI_SENSOR_TIMESTART_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getOcciSensorTimestart() <em>Occi Sensor Timestart</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciSensorTimestart()
-	 * @generated
-	 * @ordered
-	 */
-	protected String occiSensorTimestart = OCCI_SENSOR_TIMESTART_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getOcciSensorTimestop() <em>Occi Sensor Timestop</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciSensorTimestop()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String OCCI_SENSOR_TIMESTOP_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getOcciSensorTimestop() <em>Occi Sensor Timestop</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciSensorTimestop()
-	 * @generated
-	 * @ordered
-	 */
-	protected String occiSensorTimestop = OCCI_SENSOR_TIMESTOP_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getOcciSensorPeriod() <em>Occi Sensor Period</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciSensorPeriod()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String OCCI_SENSOR_PERIOD_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getOcciSensorPeriod() <em>Occi Sensor Period</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciSensorPeriod()
-	 * @generated
-	 * @ordered
-	 */
-	protected String occiSensorPeriod = OCCI_SENSOR_PERIOD_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getOcciSensorGranularity() <em>Occi Sensor Granularity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciSensorGranularity()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String OCCI_SENSOR_GRANULARITY_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getOcciSensorGranularity() <em>Occi Sensor Granularity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciSensorGranularity()
-	 * @generated
-	 * @ordered
-	 */
-	protected String occiSensorGranularity = OCCI_SENSOR_GRANULARITY_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getOcciSensorAccuracy() <em>Occi Sensor Accuracy</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciSensorAccuracy()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String OCCI_SENSOR_ACCURACY_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getOcciSensorAccuracy() <em>Occi Sensor Accuracy</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOcciSensorAccuracy()
-	 * @generated
-	 * @ordered
-	 */
-	protected String occiSensorAccuracy = OCCI_SENSOR_ACCURACY_EDEFAULT;
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -181,264 +50,4 @@ public class SensorImpl extends ApplicationImpl implements Sensor {
 		return MonitoringPackage.Literals.SENSOR;
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getOcciSensorTimebase() {
-		return occiSensorTimebase;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOcciSensorTimebase(String newOcciSensorTimebase) {
-		String oldOcciSensorTimebase = occiSensorTimebase;
-		occiSensorTimebase = newOcciSensorTimebase;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.SENSOR__OCCI_SENSOR_TIMEBASE, oldOcciSensorTimebase, occiSensorTimebase));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getOcciSensorTimestart() {
-		return occiSensorTimestart;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOcciSensorTimestart(String newOcciSensorTimestart) {
-		String oldOcciSensorTimestart = occiSensorTimestart;
-		occiSensorTimestart = newOcciSensorTimestart;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.SENSOR__OCCI_SENSOR_TIMESTART, oldOcciSensorTimestart, occiSensorTimestart));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getOcciSensorTimestop() {
-		return occiSensorTimestop;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOcciSensorTimestop(String newOcciSensorTimestop) {
-		String oldOcciSensorTimestop = occiSensorTimestop;
-		occiSensorTimestop = newOcciSensorTimestop;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.SENSOR__OCCI_SENSOR_TIMESTOP, oldOcciSensorTimestop, occiSensorTimestop));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getOcciSensorPeriod() {
-		return occiSensorPeriod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOcciSensorPeriod(String newOcciSensorPeriod) {
-		String oldOcciSensorPeriod = occiSensorPeriod;
-		occiSensorPeriod = newOcciSensorPeriod;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.SENSOR__OCCI_SENSOR_PERIOD, oldOcciSensorPeriod, occiSensorPeriod));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getOcciSensorGranularity() {
-		return occiSensorGranularity;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOcciSensorGranularity(String newOcciSensorGranularity) {
-		String oldOcciSensorGranularity = occiSensorGranularity;
-		occiSensorGranularity = newOcciSensorGranularity;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.SENSOR__OCCI_SENSOR_GRANULARITY, oldOcciSensorGranularity, occiSensorGranularity));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getOcciSensorAccuracy() {
-		return occiSensorAccuracy;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOcciSensorAccuracy(String newOcciSensorAccuracy) {
-		String oldOcciSensorAccuracy = occiSensorAccuracy;
-		occiSensorAccuracy = newOcciSensorAccuracy;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.SENSOR__OCCI_SENSOR_ACCURACY, oldOcciSensorAccuracy, occiSensorAccuracy));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMEBASE:
-				return getOcciSensorTimebase();
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMESTART:
-				return getOcciSensorTimestart();
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMESTOP:
-				return getOcciSensorTimestop();
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_PERIOD:
-				return getOcciSensorPeriod();
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_GRANULARITY:
-				return getOcciSensorGranularity();
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_ACCURACY:
-				return getOcciSensorAccuracy();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMEBASE:
-				setOcciSensorTimebase((String)newValue);
-				return;
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMESTART:
-				setOcciSensorTimestart((String)newValue);
-				return;
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMESTOP:
-				setOcciSensorTimestop((String)newValue);
-				return;
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_PERIOD:
-				setOcciSensorPeriod((String)newValue);
-				return;
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_GRANULARITY:
-				setOcciSensorGranularity((String)newValue);
-				return;
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_ACCURACY:
-				setOcciSensorAccuracy((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMEBASE:
-				setOcciSensorTimebase(OCCI_SENSOR_TIMEBASE_EDEFAULT);
-				return;
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMESTART:
-				setOcciSensorTimestart(OCCI_SENSOR_TIMESTART_EDEFAULT);
-				return;
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMESTOP:
-				setOcciSensorTimestop(OCCI_SENSOR_TIMESTOP_EDEFAULT);
-				return;
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_PERIOD:
-				setOcciSensorPeriod(OCCI_SENSOR_PERIOD_EDEFAULT);
-				return;
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_GRANULARITY:
-				setOcciSensorGranularity(OCCI_SENSOR_GRANULARITY_EDEFAULT);
-				return;
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_ACCURACY:
-				setOcciSensorAccuracy(OCCI_SENSOR_ACCURACY_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMEBASE:
-				return OCCI_SENSOR_TIMEBASE_EDEFAULT == null ? occiSensorTimebase != null : !OCCI_SENSOR_TIMEBASE_EDEFAULT.equals(occiSensorTimebase);
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMESTART:
-				return OCCI_SENSOR_TIMESTART_EDEFAULT == null ? occiSensorTimestart != null : !OCCI_SENSOR_TIMESTART_EDEFAULT.equals(occiSensorTimestart);
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_TIMESTOP:
-				return OCCI_SENSOR_TIMESTOP_EDEFAULT == null ? occiSensorTimestop != null : !OCCI_SENSOR_TIMESTOP_EDEFAULT.equals(occiSensorTimestop);
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_PERIOD:
-				return OCCI_SENSOR_PERIOD_EDEFAULT == null ? occiSensorPeriod != null : !OCCI_SENSOR_PERIOD_EDEFAULT.equals(occiSensorPeriod);
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_GRANULARITY:
-				return OCCI_SENSOR_GRANULARITY_EDEFAULT == null ? occiSensorGranularity != null : !OCCI_SENSOR_GRANULARITY_EDEFAULT.equals(occiSensorGranularity);
-			case MonitoringPackage.SENSOR__OCCI_SENSOR_ACCURACY:
-				return OCCI_SENSOR_ACCURACY_EDEFAULT == null ? occiSensorAccuracy != null : !OCCI_SENSOR_ACCURACY_EDEFAULT.equals(occiSensorAccuracy);
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (occiSensorTimebase: ");
-		result.append(occiSensorTimebase);
-		result.append(", occiSensorTimestart: ");
-		result.append(occiSensorTimestart);
-		result.append(", occiSensorTimestop: ");
-		result.append(occiSensorTimestop);
-		result.append(", occiSensorPeriod: ");
-		result.append(occiSensorPeriod);
-		result.append(", occiSensorGranularity: ");
-		result.append(occiSensorGranularity);
-		result.append(", occiSensorAccuracy: ");
-		result.append(occiSensorAccuracy);
-		result.append(')');
-		return result.toString();
-	}
-
 } //SensorImpl
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/util/MonitoringAdapterFactory.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/util/MonitoringAdapterFactory.java
index a63816dba1d1903e56804fd893610996ded7ed9a..1731c56fe5900d52d3d05e8f19e8ea1f3a090bc5 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/util/MonitoringAdapterFactory.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/util/MonitoringAdapterFactory.java
@@ -15,6 +15,7 @@ package monitoring.util;
 import monitoring.*;
 
 import org.eclipse.cmf.occi.core.Entity;
+import org.eclipse.cmf.occi.core.Link;
 import org.eclipse.cmf.occi.core.MixinBase;
 import org.eclipse.cmf.occi.core.Resource;
 
@@ -84,14 +85,6 @@ public class MonitoringAdapterFactory extends AdapterFactoryImpl {
 	 */
 	protected MonitoringSwitch<Adapter> modelSwitch =
 		new MonitoringSwitch<Adapter>() {
-			@Override
-			public Adapter caseMonitoringProperty(MonitoringProperty object) {
-				return createMonitoringPropertyAdapter();
-			}
-			@Override
-			public Adapter caseMonitoringPropertyArray(MonitoringPropertyArray object) {
-				return createMonitoringPropertyArrayAdapter();
-			}
 			@Override
 			public Adapter caseSensor(Sensor object) {
 				return createSensorAdapter();
@@ -101,16 +94,20 @@ public class MonitoringAdapterFactory extends AdapterFactoryImpl {
 				return createDatagathererAdapter();
 			}
 			@Override
-			public Adapter caseProcessor(Processor object) {
-				return createProcessorAdapter();
+			public Adapter caseDataprocessor(Dataprocessor object) {
+				return createDataprocessorAdapter();
+			}
+			@Override
+			public Adapter caseResultprovider(Resultprovider object) {
+				return createResultproviderAdapter();
 			}
 			@Override
-			public Adapter casePublisher(Publisher object) {
-				return createPublisherAdapter();
+			public Adapter caseMonitorableproperty(Monitorableproperty object) {
+				return createMonitorablepropertyAdapter();
 			}
 			@Override
-			public Adapter caseMonitoringproperties(Monitoringproperties object) {
-				return createMonitoringpropertiesAdapter();
+			public Adapter caseOcciresultprovider(Occiresultprovider object) {
+				return createOcciresultproviderAdapter();
 			}
 			@Override
 			public Adapter caseEntity(Entity object) {
@@ -129,6 +126,10 @@ public class MonitoringAdapterFactory extends AdapterFactoryImpl {
 				return createComponentAdapter();
 			}
 			@Override
+			public Adapter caseLink(Link object) {
+				return createLinkAdapter();
+			}
+			@Override
 			public Adapter caseMixinBase(MixinBase object) {
 				return createMixinBaseAdapter();
 			}
@@ -153,100 +154,86 @@ public class MonitoringAdapterFactory extends AdapterFactoryImpl {
 
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoring.MonitoringProperty <em>Property</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see monitoring.MonitoringProperty
-	 * @generated
-	 */
-	public Adapter createMonitoringPropertyAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link monitoring.MonitoringPropertyArray <em>Property Array</em>}'.
+	 * Creates a new adapter for an object of class '{@link monitoring.Sensor <em>Sensor</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see monitoring.MonitoringPropertyArray
+	 * @see monitoring.Sensor
 	 * @generated
 	 */
-	public Adapter createMonitoringPropertyArrayAdapter() {
+	public Adapter createSensorAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoring.Sensor <em>Sensor</em>}'.
+	 * Creates a new adapter for an object of class '{@link monitoring.Datagatherer <em>Datagatherer</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see monitoring.Sensor
+	 * @see monitoring.Datagatherer
 	 * @generated
 	 */
-	public Adapter createSensorAdapter() {
+	public Adapter createDatagathererAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoring.Datagatherer <em>Datagatherer</em>}'.
+	 * Creates a new adapter for an object of class '{@link monitoring.Dataprocessor <em>Dataprocessor</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see monitoring.Datagatherer
+	 * @see monitoring.Dataprocessor
 	 * @generated
 	 */
-	public Adapter createDatagathererAdapter() {
+	public Adapter createDataprocessorAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoring.Processor <em>Processor</em>}'.
+	 * Creates a new adapter for an object of class '{@link monitoring.Resultprovider <em>Resultprovider</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see monitoring.Processor
+	 * @see monitoring.Resultprovider
 	 * @generated
 	 */
-	public Adapter createProcessorAdapter() {
+	public Adapter createResultproviderAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoring.Publisher <em>Publisher</em>}'.
+	 * Creates a new adapter for an object of class '{@link monitoring.Monitorableproperty <em>Monitorableproperty</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see monitoring.Publisher
+	 * @see monitoring.Monitorableproperty
 	 * @generated
 	 */
-	public Adapter createPublisherAdapter() {
+	public Adapter createMonitorablepropertyAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoring.Monitoringproperties <em>Monitoringproperties</em>}'.
+	 * Creates a new adapter for an object of class '{@link monitoring.Occiresultprovider <em>Occiresultprovider</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see monitoring.Monitoringproperties
+	 * @see monitoring.Occiresultprovider
 	 * @generated
 	 */
-	public Adapter createMonitoringpropertiesAdapter() {
+	public Adapter createOcciresultproviderAdapter() {
 		return null;
 	}
 
@@ -306,6 +293,20 @@ public class MonitoringAdapterFactory extends AdapterFactoryImpl {
 		return null;
 	}
 
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.cmf.occi.core.Link <em>Link</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.cmf.occi.core.Link
+	 * @generated
+	 */
+	public Adapter createLinkAdapter() {
+		return null;
+	}
+
 	/**
 	 * Creates a new adapter for an object of class '{@link org.eclipse.cmf.occi.core.MixinBase <em>Mixin Base</em>}'.
 	 * <!-- begin-user-doc -->
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/util/MonitoringSwitch.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/util/MonitoringSwitch.java
index 5771b402ba48600343ee677b328941871a7b8cc9..2e9835e61ab480440cb998bab02a04e8378ad5ad 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/util/MonitoringSwitch.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/util/MonitoringSwitch.java
@@ -15,6 +15,7 @@ package monitoring.util;
 import monitoring.*;
 
 import org.eclipse.cmf.occi.core.Entity;
+import org.eclipse.cmf.occi.core.Link;
 import org.eclipse.cmf.occi.core.MixinBase;
 import org.eclipse.cmf.occi.core.Resource;
 
@@ -83,18 +84,6 @@ public class MonitoringSwitch<T> extends Switch<T> {
 	@Override
 	protected T doSwitch(int classifierID, EObject theEObject) {
 		switch (classifierID) {
-			case MonitoringPackage.MONITORING_PROPERTY: {
-				MonitoringProperty monitoringProperty = (MonitoringProperty)theEObject;
-				T result = caseMonitoringProperty(monitoringProperty);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case MonitoringPackage.MONITORING_PROPERTY_ARRAY: {
-				MonitoringPropertyArray monitoringPropertyArray = (MonitoringPropertyArray)theEObject;
-				T result = caseMonitoringPropertyArray(monitoringPropertyArray);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
 			case MonitoringPackage.SENSOR: {
 				Sensor sensor = (Sensor)theEObject;
 				T result = caseSensor(sensor);
@@ -113,28 +102,36 @@ public class MonitoringSwitch<T> extends Switch<T> {
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case MonitoringPackage.PROCESSOR: {
-				Processor processor = (Processor)theEObject;
-				T result = caseProcessor(processor);
-				if (result == null) result = caseComponent(processor);
-				if (result == null) result = caseResource(processor);
-				if (result == null) result = caseEntity(processor);
+			case MonitoringPackage.DATAPROCESSOR: {
+				Dataprocessor dataprocessor = (Dataprocessor)theEObject;
+				T result = caseDataprocessor(dataprocessor);
+				if (result == null) result = caseComponent(dataprocessor);
+				if (result == null) result = caseResource(dataprocessor);
+				if (result == null) result = caseEntity(dataprocessor);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case MonitoringPackage.PUBLISHER: {
-				Publisher publisher = (Publisher)theEObject;
-				T result = casePublisher(publisher);
-				if (result == null) result = caseComponent(publisher);
-				if (result == null) result = caseResource(publisher);
-				if (result == null) result = caseEntity(publisher);
+			case MonitoringPackage.RESULTPROVIDER: {
+				Resultprovider resultprovider = (Resultprovider)theEObject;
+				T result = caseResultprovider(resultprovider);
+				if (result == null) result = caseComponent(resultprovider);
+				if (result == null) result = caseResource(resultprovider);
+				if (result == null) result = caseEntity(resultprovider);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case MonitoringPackage.MONITORINGPROPERTIES: {
-				Monitoringproperties monitoringproperties = (Monitoringproperties)theEObject;
-				T result = caseMonitoringproperties(monitoringproperties);
-				if (result == null) result = caseMixinBase(monitoringproperties);
+			case MonitoringPackage.MONITORABLEPROPERTY: {
+				Monitorableproperty monitorableproperty = (Monitorableproperty)theEObject;
+				T result = caseMonitorableproperty(monitorableproperty);
+				if (result == null) result = caseLink(monitorableproperty);
+				if (result == null) result = caseEntity(monitorableproperty);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case MonitoringPackage.OCCIRESULTPROVIDER: {
+				Occiresultprovider occiresultprovider = (Occiresultprovider)theEObject;
+				T result = caseOcciresultprovider(occiresultprovider);
+				if (result == null) result = caseMixinBase(occiresultprovider);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
@@ -143,107 +140,92 @@ public class MonitoringSwitch<T> extends Switch<T> {
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Property</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Property</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseMonitoringProperty(MonitoringProperty object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Property Array</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Sensor</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
 	 * returning a non-null result will terminate the switch.
 	 * <!-- end-user-doc -->
 	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Property Array</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Sensor</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseMonitoringPropertyArray(MonitoringPropertyArray object) {
+	public T caseSensor(Sensor object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Sensor</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Datagatherer</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
 	 * returning a non-null result will terminate the switch.
 	 * <!-- end-user-doc -->
 	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Sensor</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Datagatherer</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseSensor(Sensor object) {
+	public T caseDatagatherer(Datagatherer object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Datagatherer</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Dataprocessor</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
 	 * returning a non-null result will terminate the switch.
 	 * <!-- end-user-doc -->
 	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Datagatherer</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Dataprocessor</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseDatagatherer(Datagatherer object) {
+	public T caseDataprocessor(Dataprocessor object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Processor</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Resultprovider</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
 	 * returning a non-null result will terminate the switch.
 	 * <!-- end-user-doc -->
 	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Processor</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Resultprovider</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseProcessor(Processor object) {
+	public T caseResultprovider(Resultprovider object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Publisher</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Monitorableproperty</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
 	 * returning a non-null result will terminate the switch.
 	 * <!-- end-user-doc -->
 	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Publisher</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Monitorableproperty</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T casePublisher(Publisher object) {
+	public T caseMonitorableproperty(Monitorableproperty object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Monitoringproperties</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Occiresultprovider</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
 	 * returning a non-null result will terminate the switch.
 	 * <!-- end-user-doc -->
 	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Monitoringproperties</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Occiresultprovider</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseMonitoringproperties(Monitoringproperties object) {
+	public T caseOcciresultprovider(Occiresultprovider object) {
 		return null;
 	}
 
@@ -307,6 +289,21 @@ public class MonitoringSwitch<T> extends Switch<T> {
 		return null;
 	}
 
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Link</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Link</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLink(Link object) {
+		return null;
+	}
+
 	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Mixin Base</em>'.
 	 * <!-- begin-user-doc -->
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/util/MonitoringValidator.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/util/MonitoringValidator.java
index 0fb63c9475cf74b510dd6fa44d0507dfd6995c83..1df82fa8d4a2b66979a47884f306ff85c063ca34 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/util/MonitoringValidator.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/util/MonitoringValidator.java
@@ -21,6 +21,9 @@ import org.eclipse.cmf.occi.core.util.OCCIValidator;
 import org.eclipse.emf.common.util.DiagnosticChain;
 import org.eclipse.emf.common.util.ResourceLocator;
 
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
 import org.eclipse.emf.ecore.EPackage;
 
 import org.eclipse.emf.ecore.util.EObjectValidator;
@@ -54,12 +57,20 @@ public class MonitoringValidator extends EObjectValidator {
 	public static final String DIAGNOSTIC_SOURCE = "monitoring";
 
 	/**
-	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Applies Constraint' of 'Monitoringproperties'.
+	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Target Constraint' of 'Monitorableproperty'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int MONITORINGPROPERTIES__APPLIES_CONSTRAINT = 1;
+	public static final int MONITORABLEPROPERTY__TARGET_CONSTRAINT = 1;
+
+	/**
+	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Applies Constraint' of 'Occiresultprovider'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final int OCCIRESULTPROVIDER__APPLIES_CONSTRAINT = 2;
 
 	/**
 	 * A constant with a fixed name that can be used as the base value for additional hand written constants.
@@ -67,7 +78,7 @@ public class MonitoringValidator extends EObjectValidator {
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 1;
+	private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 2;
 
 	/**
 	 * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class.
@@ -116,24 +127,18 @@ public class MonitoringValidator extends EObjectValidator {
 	@Override
 	protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, Map<Object, Object> context) {
 		switch (classifierID) {
-			case MonitoringPackage.MONITORING_PROPERTY:
-				return validateMonitoringProperty((MonitoringProperty)value, diagnostics, context);
-			case MonitoringPackage.MONITORING_PROPERTY_ARRAY:
-				return validateMonitoringPropertyArray((MonitoringPropertyArray)value, diagnostics, context);
 			case MonitoringPackage.SENSOR:
 				return validateSensor((Sensor)value, diagnostics, context);
 			case MonitoringPackage.DATAGATHERER:
 				return validateDatagatherer((Datagatherer)value, diagnostics, context);
-			case MonitoringPackage.PROCESSOR:
-				return validateProcessor((Processor)value, diagnostics, context);
-			case MonitoringPackage.PUBLISHER:
-				return validatePublisher((Publisher)value, diagnostics, context);
-			case MonitoringPackage.MONITORINGPROPERTIES:
-				return validateMonitoringproperties((Monitoringproperties)value, diagnostics, context);
-			case MonitoringPackage.DATE_TIME:
-				return validateDateTime((String)value, diagnostics, context);
-			case MonitoringPackage.SECOND:
-				return validateSecond((String)value, diagnostics, context);
+			case MonitoringPackage.DATAPROCESSOR:
+				return validateDataprocessor((Dataprocessor)value, diagnostics, context);
+			case MonitoringPackage.RESULTPROVIDER:
+				return validateResultprovider((Resultprovider)value, diagnostics, context);
+			case MonitoringPackage.MONITORABLEPROPERTY:
+				return validateMonitorableproperty((Monitorableproperty)value, diagnostics, context);
+			case MonitoringPackage.OCCIRESULTPROVIDER:
+				return validateOcciresultprovider((Occiresultprovider)value, diagnostics, context);
 			case MonitoringPackage.STRING:
 				return validateString((String)value, diagnostics, context);
 			default:
@@ -141,24 +146,6 @@ public class MonitoringValidator extends EObjectValidator {
 		}
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean validateMonitoringProperty(MonitoringProperty monitoringProperty, DiagnosticChain diagnostics, Map<Object, Object> context) {
-		return validate_EveryDefaultConstraint(monitoringProperty, diagnostics, context);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean validateMonitoringPropertyArray(MonitoringPropertyArray monitoringPropertyArray, DiagnosticChain diagnostics, Map<Object, Object> context) {
-		return validate_EveryDefaultConstraint(monitoringPropertyArray, diagnostics, context);
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -210,21 +197,21 @@ public class MonitoringValidator extends EObjectValidator {
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean validateProcessor(Processor processor, DiagnosticChain diagnostics, Map<Object, Object> context) {
-		if (!validate_NoCircularContainment(processor, diagnostics, context)) return false;
-		boolean result = validate_EveryMultiplicityConforms(processor, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(processor, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(processor, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(processor, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryProxyResolves(processor, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_UniqueID(processor, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryKeyUnique(processor, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(processor, diagnostics, context);
-		if (result || diagnostics != null) result &= occiValidator.validateEntity_IdUnique(processor, diagnostics, context);
-		if (result || diagnostics != null) result &= occiValidator.validateEntity_AttributesNameUnique(processor, diagnostics, context);
-		if (result || diagnostics != null) result &= occiValidator.validateEntity_KindCompatibleWithOneAppliesOfEachMixin(processor, diagnostics, context);
-		if (result || diagnostics != null) result &= occiValidator.validateEntity_DifferentMixins(processor, diagnostics, context);
-		if (result || diagnostics != null) result &= occiValidator.validateResource_ResourceKindIsInParent(processor, diagnostics, context);
+	public boolean validateDataprocessor(Dataprocessor dataprocessor, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		if (!validate_NoCircularContainment(dataprocessor, diagnostics, context)) return false;
+		boolean result = validate_EveryMultiplicityConforms(dataprocessor, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(dataprocessor, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(dataprocessor, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(dataprocessor, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryProxyResolves(dataprocessor, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_UniqueID(dataprocessor, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryKeyUnique(dataprocessor, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(dataprocessor, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_IdUnique(dataprocessor, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_AttributesNameUnique(dataprocessor, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_KindCompatibleWithOneAppliesOfEachMixin(dataprocessor, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_DifferentMixins(dataprocessor, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateResource_ResourceKindIsInParent(dataprocessor, diagnostics, context);
 		return result;
 	}
 
@@ -233,21 +220,21 @@ public class MonitoringValidator extends EObjectValidator {
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean validatePublisher(Publisher publisher, DiagnosticChain diagnostics, Map<Object, Object> context) {
-		if (!validate_NoCircularContainment(publisher, diagnostics, context)) return false;
-		boolean result = validate_EveryMultiplicityConforms(publisher, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(publisher, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(publisher, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(publisher, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryProxyResolves(publisher, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_UniqueID(publisher, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryKeyUnique(publisher, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(publisher, diagnostics, context);
-		if (result || diagnostics != null) result &= occiValidator.validateEntity_IdUnique(publisher, diagnostics, context);
-		if (result || diagnostics != null) result &= occiValidator.validateEntity_AttributesNameUnique(publisher, diagnostics, context);
-		if (result || diagnostics != null) result &= occiValidator.validateEntity_KindCompatibleWithOneAppliesOfEachMixin(publisher, diagnostics, context);
-		if (result || diagnostics != null) result &= occiValidator.validateEntity_DifferentMixins(publisher, diagnostics, context);
-		if (result || diagnostics != null) result &= occiValidator.validateResource_ResourceKindIsInParent(publisher, diagnostics, context);
+	public boolean validateResultprovider(Resultprovider resultprovider, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		if (!validate_NoCircularContainment(resultprovider, diagnostics, context)) return false;
+		boolean result = validate_EveryMultiplicityConforms(resultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(resultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(resultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(resultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryProxyResolves(resultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_UniqueID(resultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryKeyUnique(resultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(resultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_IdUnique(resultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_AttributesNameUnique(resultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_KindCompatibleWithOneAppliesOfEachMixin(resultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_DifferentMixins(resultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateResource_ResourceKindIsInParent(resultprovider, diagnostics, context);
 		return result;
 	}
 
@@ -256,28 +243,35 @@ public class MonitoringValidator extends EObjectValidator {
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean validateMonitoringproperties(Monitoringproperties monitoringproperties, DiagnosticChain diagnostics, Map<Object, Object> context) {
-		if (!validate_NoCircularContainment(monitoringproperties, diagnostics, context)) return false;
-		boolean result = validate_EveryMultiplicityConforms(monitoringproperties, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(monitoringproperties, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(monitoringproperties, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(monitoringproperties, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryProxyResolves(monitoringproperties, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_UniqueID(monitoringproperties, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryKeyUnique(monitoringproperties, diagnostics, context);
-		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(monitoringproperties, diagnostics, context);
-		if (result || diagnostics != null) result &= validateMonitoringproperties_appliesConstraint(monitoringproperties, diagnostics, context);
+	public boolean validateMonitorableproperty(Monitorableproperty monitorableproperty, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		if (!validate_NoCircularContainment(monitorableproperty, diagnostics, context)) return false;
+		boolean result = validate_EveryMultiplicityConforms(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryProxyResolves(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_UniqueID(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryKeyUnique(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_IdUnique(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_AttributesNameUnique(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_KindCompatibleWithOneAppliesOfEachMixin(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_DifferentMixins(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateLink_LinkKindIsInParent(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateLink_sourceReferenceInvariant(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateLink_targetReferenceInvariant(monitorableproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validateMonitorableproperty_targetConstraint(monitorableproperty, diagnostics, context);
 		return result;
 	}
 
 	/**
-	 * Validates the appliesConstraint constraint of '<em>Monitoringproperties</em>'.
+	 * Validates the targetConstraint constraint of '<em>Monitorableproperty</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean validateMonitoringproperties_appliesConstraint(Monitoringproperties monitoringproperties, DiagnosticChain diagnostics, Map<Object, Object> context) {
-		return monitoringproperties.appliesConstraint(diagnostics, context);
+	public boolean validateMonitorableproperty_targetConstraint(Monitorableproperty monitorableproperty, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return monitorableproperty.targetConstraint(diagnostics, context);
 	}
 
 	/**
@@ -285,41 +279,28 @@ public class MonitoringValidator extends EObjectValidator {
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean validateDateTime(String dateTime, DiagnosticChain diagnostics, Map<Object, Object> context) {
-		boolean result = validateDateTime_Pattern(dateTime, diagnostics, context);
+	public boolean validateOcciresultprovider(Occiresultprovider occiresultprovider, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		if (!validate_NoCircularContainment(occiresultprovider, diagnostics, context)) return false;
+		boolean result = validate_EveryMultiplicityConforms(occiresultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(occiresultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(occiresultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(occiresultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryProxyResolves(occiresultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_UniqueID(occiresultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryKeyUnique(occiresultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(occiresultprovider, diagnostics, context);
+		if (result || diagnostics != null) result &= validateOcciresultprovider_appliesConstraint(occiresultprovider, diagnostics, context);
 		return result;
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @see #validateDateTime_Pattern
-	 */
-	public static final  PatternMatcher [][] DATE_TIME__PATTERN__VALUES =
-		new PatternMatcher [][] {
-			new PatternMatcher [] {
-				XMLTypeUtil.createPatternMatcher("^(\\d{4}((-)?(0[1-9]|1[0-2])((-)?(0[1-9]|[1-2][0-9]|3[0-1])(T(24:00(:00(\\.[0]+)?)?|(([0-1][0-9]|2[0-3])(:)[0-5][0-9])((:)[0-5][0-9](\\.[\\d]+)?)?)((\\+|-)(14:00|(0[0-9]|1[0-3])(:)[0-5][0-9])|Z))?)?)?)$")
-			}
-		};
-
-	/**
-	 * Validates the Pattern constraint of '<em>Date Time</em>'.
+	 * Validates the appliesConstraint constraint of '<em>Occiresultprovider</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean validateDateTime_Pattern(String dateTime, DiagnosticChain diagnostics, Map<Object, Object> context) {
-		return validatePattern(MonitoringPackage.Literals.DATE_TIME, dateTime, DATE_TIME__PATTERN__VALUES, diagnostics, context);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean validateSecond(String second, DiagnosticChain diagnostics, Map<Object, Object> context) {
-		return true;
+	public boolean validateOcciresultprovider_appliesConstraint(Occiresultprovider occiresultprovider, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return occiresultprovider.appliesConstraint(diagnostics, context);
 	}
 
 	/**
diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/CreateElementsTest.java b/src/test/java/de/ugoe/cs/rwm/mocci/CreateElementsTest.java
index 17a473d41c9d401d37e5c458b204f3c444c94454..3b95d7f34edf07e5e2295f53c7a3898ec226b9f1 100644
--- a/src/test/java/de/ugoe/cs/rwm/mocci/CreateElementsTest.java
+++ b/src/test/java/de/ugoe/cs/rwm/mocci/CreateElementsTest.java
@@ -39,9 +39,6 @@ import de.ugoe.cs.rwm.tocci.TransformatorFactory;
 import de.ugoe.cs.rwm.tocci.occi2openstack.OCCI2OPENSTACKTransformator;
 import monitoring.MonitoringFactory;
 import monitoring.MonitoringPackage;
-import monitoring.MonitoringProperty;
-import monitoring.MonitoringPropertyArray;
-import monitoring.Monitoringproperties;
 import monitoring.Sensor;
 import monitoring.impl.MonitoringFactoryImpl;
 
@@ -65,29 +62,7 @@ public class CreateElementsTest {
 		//Resources
 		Sensor sensor = mFact.createSensor();
 		Compute comp = iFact.createCompute();
-		//MixinBase
-		Monitoringproperties monProps = mFact.createMonitoringproperties();
-		MonitoringPropertyArray monArr = mFact.createMonitoringPropertyArray();
-		MonitoringProperty monProp = mFact.createMonitoringProperty();
-		monProp.setName("CPU");
-		monProp.setValue("Critical");
-		monProp.setId("123452");
-		monArr.getMonitoringpropertyarrayValues().add(monProp);
-		monProps.setMonitoringProperties(monArr);
-		
-		comp.getParts().add(monProps);
-		
-		config.getResources().add(sensor);
-		config.getResources().add(comp);
-		System.out.println(config);
-		for(org.eclipse.cmf.occi.core.Resource res : config.getResources()) {
-			System.out.println(res);
-			for(MixinBase mixBase: res.getParts()) {
-				System.out.println(mixBase);
-				if(mixBase instanceof Monitoringproperties) {
-					System.out.println(((Monitoringproperties) mixBase).getMonitoringProperties().getMonitoringpropertyarrayValues());
-				}
-			}
-		}
 	}
+
 }
+ 
\ No newline at end of file
diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/DeployHadoopMonitoringTest.java b/src/test/java/de/ugoe/cs/rwm/mocci/DeployHadoopMonitoringTest.java
index 00e439723e83e951e53db7faa4c92da4f6aececd..a2d65ec618a15d0186bc251592e14b32aee4e84a 100644
--- a/src/test/java/de/ugoe/cs/rwm/mocci/DeployHadoopMonitoringTest.java
+++ b/src/test/java/de/ugoe/cs/rwm/mocci/DeployHadoopMonitoringTest.java
@@ -60,7 +60,7 @@ public class DeployHadoopMonitoringTest {
 		CachedResourceSet.getCache().clear();
 		System.out.println(OcciRegistry.getInstance().getRegisteredExtensions());
 		//Logger.getRootLogger().setLevel(Level.FATAL);
-		Path occiPath = Paths.get(ModelUtility.getPathToResource("occi/hadoopClusterNewExt.occic"));
+		Path occiPath = Paths.get(ModelUtility.getPathToResource("occi/hadoopClusterNewExtWithMem.occic"));
 
 		Transformator trans = TransformatorFactory.getTransformator("OCCI2OCCI");
 		trans.transform(occiPath, occiPath);
diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/EmptyTest.java b/src/test/java/de/ugoe/cs/rwm/mocci/EmptyTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..0f9bceab19e8807fc18464c89ebe037d425f953e
--- /dev/null
+++ b/src/test/java/de/ugoe/cs/rwm/mocci/EmptyTest.java
@@ -0,0 +1,58 @@
+package de.ugoe.cs.rwm.mocci;
+
+import static org.junit.Assert.assertTrue;
+
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.eclipse.cmf.occi.core.Configuration;
+import org.eclipse.cmf.occi.core.Link;
+import org.eclipse.cmf.occi.core.Mixin;
+import org.eclipse.cmf.occi.core.OCCIPackage;
+import org.eclipse.cmf.occi.core.util.OcciRegistry;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.epsilon.emc.emf.CachedResourceSet;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import de.ugoe.cs.rwm.docci.MartDeployer;
+import de.ugoe.cs.rwm.docci.ModelUtility;
+import de.ugoe.cs.rwm.mocci.TestUtility;
+import de.ugoe.cs.rwm.docci.connector.Connector;
+import de.ugoe.cs.rwm.docci.connector.LocalhostConnector;
+import de.ugoe.cs.rwm.tocci.Transformator;
+import de.ugoe.cs.rwm.tocci.TransformatorFactory;
+import de.ugoe.cs.rwm.tocci.occi2openstack.OCCI2OPENSTACKTransformator;
+import monitoring.MonitoringPackage;
+
+public class EmptyTest {
+	String manNWid = "urn:uuid:29d78078-fb4c-47aa-a9af-b8aaf3339590";
+	String manNWRuntimeId = "75a4639e-9ce7-4058-b859-8a711b0e2e7b";
+	String sshKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6H7Ydi45BTHid4qNppGAi5mzjbnZgt7bi6xLGmZG9CiLmhMsxOuk3Z05Nn+pmoN98qS0eY8S240PPk5VOlYqBY0vdRAwrZSHHaLdMp6I7ARNrI2KraYduweqz7ZQxPXQfwIeYx2HKQxEF2r+4//Fo4WfgdBkLuulvl/Gw3TUzJNQHvgpaiNo9+PI5CZydHnZbjUkRikS12pT+CbNKj+0QKeQztbCd41aKxDv5H0DjltVRcpPppv4dmiU/zoCAIngWLO1PPgfYWyze8Z9IoyBT7Qdg30U91TYZBuxzXR5lq7Fh64y/IZ/SjdOdSIvIuDjtmJDULRdLJzrvubrKY+YH Generated-by-Nova";
+	String userData = "I2Nsb3VkLWNvbmZpZwoKIyBVcGdyYWRlIHRoZSBpbnN0YW5jZSBvbiBmaXJzdCBib290CiMgKGllIHJ1biBhcHQtZ2V0IHVwZ3JhZGUpCiMKIyBEZWZhdWx0OiBmYWxzZQojIEFsaWFzZXM6IGFwdF91cGdyYWRlCnBhY2thZ2VfdXBncmFkZTogdHJ1ZQoKcGFja2FnZXM6CiAtIHB5dGhvbgoKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL25ldHdvcmsvaW50ZXJmYWNlcy5kLzUwLWNsb3VkLWluaXQuY2ZnCiAgICBjb250ZW50OiB8CiAgICAgIGF1dG8gbG8KICAgICAgaWZhY2UgbG8gaW5ldCBsb29wYmFjawogICAgICAKICAgICAgYXV0byBlbnMwCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMAogICAgICBpZmFjZSBlbnMwIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMQogICAgICBpZmFjZSBlbnMxIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMyCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMgogICAgICBpZmFjZSBlbnMyIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMzCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMwogICAgICBpZmFjZSBlbnMzIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM0CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNAogICAgICBpZmFjZSBlbnM0IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM1CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNQogICAgICBpZmFjZSBlbnM1IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM2CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNgogICAgICBpZmFjZSBlbnM2IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM3CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNwogICAgICBpZmFjZSBlbnM3IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM4CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOAogICAgICBpZmFjZSBlbnM4IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM5CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOQogICAgICBpZmFjZSBlbnM5IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxMAogICAgICBhbGxvdy1ob3RwbHVnIGVuczEwCiAgICAgIGlmYWNlIGVuczEwIGluZXQgZGhjcAoKIyMj";
+
+	
+	@BeforeClass
+	public static void OCCIRegistrySetup() {		
+		TestUtility.loggerSetup();
+		TestUtility.extensionRegistrySetup();
+	}
+ 
+	@Test
+	public void deprovisionEverything() {
+		CachedResourceSet.getCache().clear();
+		Path occiPath = Paths.get(ModelUtility.getPathToResource("occi/Empty.occic"));
+		Connector conn = new LocalhostConnector("localhost", 8080, "ubuntu");
+		MartDeployer deployer = new MartDeployer(conn);
+		deployer.deploy(occiPath);
+		assertTrue(TestUtility.equalsRuntime(occiPath, conn));
+	}
+}
diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/ResolveProxyTest.java b/src/test/java/de/ugoe/cs/rwm/mocci/ResolveProxyTest.java
index 121f25f60c7d5fcb5e99960ff6869fddfd3aa520..82dd9d10849aea494f5c96ec37d51a2074fd2a58 100644
--- a/src/test/java/de/ugoe/cs/rwm/mocci/ResolveProxyTest.java
+++ b/src/test/java/de/ugoe/cs/rwm/mocci/ResolveProxyTest.java
@@ -43,7 +43,7 @@ public class ResolveProxyTest {
 	
 	@Test
 	public void resolveProxies() {
-		Path newOCCI = Paths.get(de.ugoe.cs.rwm.docci.ModelUtility.getPathToResource("occi/hadoopClusterNewExt.occic"));
+		Path newOCCI = Paths.get(de.ugoe.cs.rwm.docci.ModelUtility.getPathToResource("occi/hadoopClusterNewExtWithMem.occic"));
 		
 		Resource ress = de.ugoe.cs.rwm.docci.ModelUtility.loadOCCIintoEMFResource(newOCCI);
 		ResourceSet resSet = ress.getResourceSet();
diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/TestUtility.java b/src/test/java/de/ugoe/cs/rwm/mocci/TestUtility.java
index 2b749cf43073ce30d67e92feb38bb67c524b7579..ae582dca7818539cc75310675a65952ce03d96e4 100644
--- a/src/test/java/de/ugoe/cs/rwm/mocci/TestUtility.java
+++ b/src/test/java/de/ugoe/cs/rwm/mocci/TestUtility.java
@@ -26,7 +26,6 @@ import de.ugoe.cs.rwm.docci.deprovisioner.Deprovisioner;
 import de.ugoe.cs.rwm.docci.executor.Executor;
 import de.ugoe.cs.rwm.docci.extractor.Extractor;
 import de.ugoe.cs.rwm.docci.provisioner.Provisioner;
-import de.ugoe.cs.rwm.docci.updater.ElementAdapter;
 import de.ugoe.cs.rwm.tocci.Transformator;
 import modmacao.ModmacaoPackage;
 import monitoring.MonitoringPackage;
diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/live/DeployHadoopMonitoringTestLive.java b/src/test/java/de/ugoe/cs/rwm/mocci/live/DeployHadoopMonitoringTestLive.java
index bb8b7a613ae8759f14b33bc3a7d4f10ebd6bc5ee..4ca86bcc7579c43fd056a4ad79ad24adda1fef6b 100644
--- a/src/test/java/de/ugoe/cs/rwm/mocci/live/DeployHadoopMonitoringTestLive.java
+++ b/src/test/java/de/ugoe/cs/rwm/mocci/live/DeployHadoopMonitoringTestLive.java
@@ -5,34 +5,18 @@ import static org.junit.Assert.assertTrue;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.eclipse.cmf.occi.core.Configuration;
-import org.eclipse.cmf.occi.core.Link;
-import org.eclipse.cmf.occi.core.Mixin;
-import org.eclipse.cmf.occi.core.OCCIPackage;
-import org.eclipse.cmf.occi.core.util.OcciRegistry;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.epsilon.emc.emf.CachedResourceSet;
-import org.junit.Before;
 import org.junit.BeforeClass;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import de.ugoe.cs.rwm.docci.MartDeployer;
 import de.ugoe.cs.rwm.docci.ModelUtility;
-import de.ugoe.cs.rwm.mocci.TestUtility;
 import de.ugoe.cs.rwm.docci.connector.Connector;
-import de.ugoe.cs.rwm.docci.connector.LocalhostConnector;
 import de.ugoe.cs.rwm.docci.connector.MartConnector;
+import de.ugoe.cs.rwm.mocci.TestUtility;
 import de.ugoe.cs.rwm.tocci.Transformator;
 import de.ugoe.cs.rwm.tocci.TransformatorFactory;
 import de.ugoe.cs.rwm.tocci.occi2openstack.OCCI2OPENSTACKTransformator;
-import monitoring.MonitoringPackage;
 
 public class DeployHadoopMonitoringTestLive {
 	String manNWid = "urn:uuid:29d78078-fb4c-47aa-a9af-b8aaf3339590";
@@ -47,7 +31,6 @@ public class DeployHadoopMonitoringTestLive {
 		TestUtility.extensionRegistrySetup();
 	}
  
-	@Before
 	public void deprovisionEverything() {
 		CachedResourceSet.getCache().clear();
 		Path occiPath = Paths.get(ModelUtility.getPathToResource("occi/Empty.occic"));
@@ -59,7 +42,7 @@ public class DeployHadoopMonitoringTestLive {
 	@Test
 	public void deployHadoopWithNewMonitoring() {
 		CachedResourceSet.getCache().clear();
-		Path occiPath = Paths.get(ModelUtility.getPathToResource("occi/hadoopClusterNewExt.occic"));
+		Path occiPath = Paths.get(ModelUtility.getPathToResource("occi/hadoopClusterNewExtWithMem.occic"));
 
 		Transformator trans = TransformatorFactory.getTransformator("OCCI2OCCI");
 		trans.transform(occiPath, occiPath);
diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/live/EmptyTestLive.java b/src/test/java/de/ugoe/cs/rwm/mocci/live/EmptyTestLive.java
new file mode 100644
index 0000000000000000000000000000000000000000..3d6d6551b621e3c948d1739c695fef4451b3e6ed
--- /dev/null
+++ b/src/test/java/de/ugoe/cs/rwm/mocci/live/EmptyTestLive.java
@@ -0,0 +1,58 @@
+package de.ugoe.cs.rwm.mocci.live;
+
+import static org.junit.Assert.assertTrue;
+
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.eclipse.cmf.occi.core.Configuration;
+import org.eclipse.cmf.occi.core.Link;
+import org.eclipse.cmf.occi.core.Mixin;
+import org.eclipse.cmf.occi.core.OCCIPackage;
+import org.eclipse.cmf.occi.core.util.OcciRegistry;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.epsilon.emc.emf.CachedResourceSet;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import de.ugoe.cs.rwm.docci.MartDeployer;
+import de.ugoe.cs.rwm.docci.ModelUtility;
+import de.ugoe.cs.rwm.mocci.TestUtility;
+import de.ugoe.cs.rwm.docci.connector.Connector;
+import de.ugoe.cs.rwm.docci.connector.LocalhostConnector;
+import de.ugoe.cs.rwm.docci.connector.MartConnector;
+import de.ugoe.cs.rwm.tocci.Transformator;
+import de.ugoe.cs.rwm.tocci.TransformatorFactory;
+import de.ugoe.cs.rwm.tocci.occi2openstack.OCCI2OPENSTACKTransformator;
+import monitoring.MonitoringPackage;
+
+public class EmptyTestLive {
+	String manNWid = "urn:uuid:29d78078-fb4c-47aa-a9af-b8aaf3339590";
+	String manNWRuntimeId = "75a4639e-9ce7-4058-b859-8a711b0e2e7b";
+	String sshKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6H7Ydi45BTHid4qNppGAi5mzjbnZgt7bi6xLGmZG9CiLmhMsxOuk3Z05Nn+pmoN98qS0eY8S240PPk5VOlYqBY0vdRAwrZSHHaLdMp6I7ARNrI2KraYduweqz7ZQxPXQfwIeYx2HKQxEF2r+4//Fo4WfgdBkLuulvl/Gw3TUzJNQHvgpaiNo9+PI5CZydHnZbjUkRikS12pT+CbNKj+0QKeQztbCd41aKxDv5H0DjltVRcpPppv4dmiU/zoCAIngWLO1PPgfYWyze8Z9IoyBT7Qdg30U91TYZBuxzXR5lq7Fh64y/IZ/SjdOdSIvIuDjtmJDULRdLJzrvubrKY+YH Generated-by-Nova";
+	String userData = "I2Nsb3VkLWNvbmZpZwoKIyBVcGdyYWRlIHRoZSBpbnN0YW5jZSBvbiBmaXJzdCBib290CiMgKGllIHJ1biBhcHQtZ2V0IHVwZ3JhZGUpCiMKIyBEZWZhdWx0OiBmYWxzZQojIEFsaWFzZXM6IGFwdF91cGdyYWRlCnBhY2thZ2VfdXBncmFkZTogdHJ1ZQoKcGFja2FnZXM6CiAtIHB5dGhvbgoKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL25ldHdvcmsvaW50ZXJmYWNlcy5kLzUwLWNsb3VkLWluaXQuY2ZnCiAgICBjb250ZW50OiB8CiAgICAgIGF1dG8gbG8KICAgICAgaWZhY2UgbG8gaW5ldCBsb29wYmFjawogICAgICAKICAgICAgYXV0byBlbnMwCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMAogICAgICBpZmFjZSBlbnMwIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMQogICAgICBpZmFjZSBlbnMxIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMyCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMgogICAgICBpZmFjZSBlbnMyIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMzCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMwogICAgICBpZmFjZSBlbnMzIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM0CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNAogICAgICBpZmFjZSBlbnM0IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM1CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNQogICAgICBpZmFjZSBlbnM1IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM2CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNgogICAgICBpZmFjZSBlbnM2IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM3CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNwogICAgICBpZmFjZSBlbnM3IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM4CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOAogICAgICBpZmFjZSBlbnM4IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM5CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOQogICAgICBpZmFjZSBlbnM5IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxMAogICAgICBhbGxvdy1ob3RwbHVnIGVuczEwCiAgICAgIGlmYWNlIGVuczEwIGluZXQgZGhjcAoKIyMj";
+
+	
+	@BeforeClass
+	public static void OCCIRegistrySetup() {		
+		TestUtility.loggerSetup();
+		TestUtility.extensionRegistrySetup();
+	}
+ 
+	@Test
+	public void deprovisionEverything() {
+		CachedResourceSet.getCache().clear();
+		Path occiPath = Paths.get(ModelUtility.getPathToResource("occi/Empty.occic"));
+		Connector conn = new MartConnector("192.168.35.45", 8080, "ubuntu", "~/key.pem");
+		MartDeployer deployer = new MartDeployer(conn);
+		deployer.deploy(occiPath);
+	}
+}
diff --git a/src/test/resources/martserver-plugins/de.ugoe.cs.rwm.mocci.connector.dummy.jar b/src/test/resources/martserver-plugins/de.ugoe.cs.rwm.mocci.connector.dummy.jar
index 48c2737dce437a56a3cc3bd2d6e0ac60bd881ac5..793d3af5aecf748e6d4f11a219cefd3fdb7b33a1 100644
Binary files a/src/test/resources/martserver-plugins/de.ugoe.cs.rwm.mocci.connector.dummy.jar and b/src/test/resources/martserver-plugins/de.ugoe.cs.rwm.mocci.connector.dummy.jar differ
diff --git a/src/test/resources/martserver-plugins/de.ugoe.cs.rwm.mocci.model.jar b/src/test/resources/martserver-plugins/de.ugoe.cs.rwm.mocci.model.jar
index 1982e9ff4689e905a1e4fc157af58a255cb344e8..3daa71dced99d384fa0d58e143d94690b9d10dfc 100644
Binary files a/src/test/resources/martserver-plugins/de.ugoe.cs.rwm.mocci.model.jar and b/src/test/resources/martserver-plugins/de.ugoe.cs.rwm.mocci.model.jar differ
diff --git a/src/test/resources/occi/expectedRuntime.occic b/src/test/resources/occi/expectedRuntime.occic
deleted file mode 100644
index 89cc8c39e63beb9572a1dc46903d67f27b00bc01..0000000000000000000000000000000000000000
--- a/src/test/resources/occi/expectedRuntime.occic
+++ /dev/null
@@ -1,451 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<occi:Configuration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ansibleconfiguration="http://schemas.modmacao.org/occi/ansible/ecore" xmlns:infrastructure="http://schemas.ogf.org/occi/infrastructure/ecore" xmlns:monitoring="http://schemas.ugoe.cs.rwm/monitoring/ecore" xmlns:occi="http://schemas.ogf.org/occi/core/ecore" xmlns:openstackruntime="http://schemas.modmacao.org/openstack/runtime/ecore" xmlns:ossweruntime="http://schemas.modmacao.org/openstack/swe/ecore" xmlns:placement="http://schemas.modmacao.org/placement/ecore" xmlns:platform="http://schemas.modmacao.org/occi/platform/ecore">
-  <use href="http://schemas.ogf.org/occi/core#/"/>
-  <use href="http://schemas.ogf.org/occi/infrastructure#/"/>
-  <use href="http://schemas.modmacao.org/occi/platform#/"/>
-  <use href="http://schemas.ogf.org/occi/infrastructure/compute/template/1.1#/"/>
-  <use href="http://schemas.modmacao.org/sugarcrm#/"/>
-  <use href="http://schemas.modmacao.org/openstack/runtime#/"/>
-  <use href="http://schemas.modmacao.org/modmacao#/"/>
-  <use href="http://schemas.ugoe.cs.rwm/workflow#/"/>
-  <use href="http://schemas.modmacao.org/toscabasetypes#/"/>
-  <use href="http://schemas.modmacao.org/toscaspecifictypes#/"/>
-  <use href="http://schemas.modmacao.org/placement#/"/>
-  <use href="http://schemas.modmacao.org/occi/ansible#/"/>
-  <use href="http://schemas.modmacao.org/openstack/swe#/"/>
-  <use href="http://schemas.ugoe.cs.rwm/monitoring#/"/>
-  <resources xsi:type="platform:Application" id="a4888ba9-a0ea-48f2-a29e-901c876ab42d" location="/application/urn:uuid:a4888ba9-a0ea-48f2-a29e-901c876ab42d/" occiAppState="error">
-    <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='application']"/>
-    <attributes name="occi.core.id" value="a4888ba9-a0ea-48f2-a29e-901c876ab42d"/>
-    <attributes name="occi.core.title" value="hadoopcluster"/>
-    <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.app.name" value=""/>
-    <attributes name="occi.app.context" value="0"/>
-    <attributes name="occi.app.url" value="0"/>
-    <attributes name="occi.app.state" value="undeployed"/>
-    <attributes name="occi.app.state.message" value=""/>
-    <links xsi:type="platform:Componentlink" id="7890f02b-6f56-4809-865f-d8c686fd9da1" location="/componentlink/urn:uuid:7890f02b-6f56-4809-865f-d8c686fd9da1/" target="//@resources.5">
-      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
-      <attributes name="occi.core.id" value="7890f02b-6f56-4809-865f-d8c686fd9da1"/>
-      <attributes name="occi.core.title" value="link4"/>
-    </links>
-    <links xsi:type="platform:Componentlink" id="9aa31c50-c605-4370-aa60-2c7c461051ef" location="/componentlink/urn:uuid:9aa31c50-c605-4370-aa60-2c7c461051ef/" target="//@resources.13">
-      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
-      <attributes name="occi.core.id" value="9aa31c50-c605-4370-aa60-2c7c461051ef"/>
-      <attributes name="occi.core.title" value="ComponentLink"/>
-    </links>
-  </resources>
-  <resources xsi:type="monitoring:Sensor" id="efb0f50a-7a7c-4153-b939-4846d6554dbb" location="/sensor/urn:uuid:efb0f50a-7a7c-4153-b939-4846d6554dbb/" occiAppState="inactive" occiAppStateMessage="" occiSensorTimebase="" occiSensorTimestart="" occiSensorTimestop="" occiSensorPeriod="" occiSensorGranularity="" occiSensorAccuracy="">
-    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='sensor']"/>
-    <attributes name="occi.core.id" value="efb0f50a-7a7c-4153-b939-4846d6554dbb"/>
-    <attributes name="occi.core.title" value="Sensor"/>
-    <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.app.name" value=""/>
-    <attributes name="occi.app.context" value="0"/>
-    <attributes name="occi.app.url" value="0"/>
-    <attributes name="occi.app.state" value="undeployed"/>
-    <attributes name="occi.app.state.message" value=""/>
-    <attributes name="occi.sensor.timebase" value=""/>
-    <attributes name="occi.sensor.timestart" value=""/>
-    <attributes name="occi.sensor.timestop" value=""/>
-    <attributes name="occi.sensor.period" value=""/>
-    <attributes name="occi.sensor.granularity" value=""/>
-    <attributes name="occi.sensor.accuracy" value=""/>
-    <links xsi:type="platform:Componentlink" id="93f08e31-f350-42b7-a73b-c139eba4a8e3" location="/componentlink/urn:uuid:93f08e31-f350-42b7-a73b-c139eba4a8e3/" target="//@resources.7">
-      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
-      <attributes name="occi.core.id" value="93f08e31-f350-42b7-a73b-c139eba4a8e3"/>
-      <attributes name="occi.core.title" value="link3"/>
-    </links>
-    <links xsi:type="platform:Componentlink" id="9c604867-3135-4fa1-af9e-2bb11018ff5a" location="/componentlink/urn:uuid:9c604867-3135-4fa1-af9e-2bb11018ff5a/" target="//@resources.2">
-      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
-      <attributes name="occi.core.id" value="9c604867-3135-4fa1-af9e-2bb11018ff5a"/>
-      <attributes name="occi.core.title" value="link2"/>
-    </links>
-    <links xsi:type="platform:Componentlink" id="04cf6483-706d-4a2a-9114-9918ab2bb52a" location="/componentlink/urn:uuid:04cf6483-706d-4a2a-9114-9918ab2bb52a/" target="//@resources.11">
-      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
-      <attributes name="occi.core.id" value="04cf6483-706d-4a2a-9114-9918ab2bb52a"/>
-      <attributes name="occi.core.title" value="link1"/>
-    </links>
-  </resources>
-  <resources xsi:type="monitoring:Processor" id="1bda25ab-723b-47e7-9704-5134db26ebdc" location="/processor/urn:uuid:1bda25ab-723b-47e7-9704-5134db26ebdc/" rlinks="//@resources.7/@links.0 //@resources.1/@links.1" occiComponentState="inactive">
-    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='processor']"/>
-    <attributes name="occi.core.id" value="1bda25ab-723b-47e7-9704-5134db26ebdc"/>
-    <attributes name="occi.core.title" value="Processor"/>
-    <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.component.state" value="undeployed"/>
-    <attributes name="occi.component.state.message" value=""/>
-    <parts mixin="//@mixins.4"/>
-    <links xsi:type="platform:Componentlink" id="1a821776-7886-4cb4-8b80-46a8403acf40" location="/componentlink/urn:uuid:1a821776-7886-4cb4-8b80-46a8403acf40/" target="//@resources.11">
-      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
-      <attributes name="occi.core.id" value="1a821776-7886-4cb4-8b80-46a8403acf40"/>
-      <attributes name="occi.core.title" value="link1"/>
-    </links>
-    <links xsi:type="placement:Placementlink" id="ff7019e4-a9dc-48dc-83c3-ab77714a25f4" location="/placementlink/urn:uuid:ff7019e4-a9dc-48dc-83c3-ab77714a25f4/" target="//@resources.10">
-      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
-      <attributes name="occi.core.id" value="ff7019e4-a9dc-48dc-83c3-ab77714a25f4"/>
-      <attributes name="occi.core.title" value="link2"/>
-    </links>
-  </resources>
-  <resources xsi:type="infrastructure:Network" id="29d78078-fb4c-47aa-a9af-b8aaf3339590" location="/network/urn:uuid:29d78078-fb4c-47aa-a9af-b8aaf3339590/" rlinks="//@resources.10/@links.0 //@resources.8/@links.2 //@resources.9/@links.0">
-    <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='network']"/>
-    <attributes name="occi.core.id" value="29d78078-fb4c-47aa-a9af-b8aaf3339590"/>
-    <attributes name="occi.core.title" value="Management Network"/>
-    <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.network.vlan" value="0"/>
-    <attributes name="occi.network.label" value=""/>
-    <attributes name="occi.network.state" value="inactive"/>
-    <attributes name="occi.network.state.message" value=""/>
-    <parts xsi:type="openstackruntime:Runtimeid" openstackRuntimeId="75a4639e-9ce7-4058-b859-8a711b0e2e7b">
-      <mixin href="http://schemas.modmacao.org/openstack/runtime#//@mixins[term='runtimeid']"/>
-      <attributes name="openstack.runtime.id" value="75a4639e-9ce7-4058-b859-8a711b0e2e7b"/>
-    </parts>
-  </resources>
-  <resources xsi:type="infrastructure:Network" id="29d78078-fb4c-47aa-a9af-b8aaf3339591" title="hNetwork" location="/network/urn:uuid:29d78078-fb4c-47aa-a9af-b8aaf3339591/" rlinks="//@resources.8/@links.1 //@resources.9/@links.1" occiNetworkVlan="0" occiNetworkLabel="" occiNetworkState="active" occiNetworkStateMessage="">
-    <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='network']"/>
-    <attributes name="occi.core.id" value="29d78078-fb4c-47aa-a9af-b8aaf3339591"/>
-    <attributes name="occi.core.title" value="hNetwork"/>
-    <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.network.vlan" value="0"/>
-    <attributes name="occi.network.label" value=""/>
-    <attributes name="occi.network.state" value="active"/>
-    <attributes name="occi.network.state.message" value=""/>
-    <parts xsi:type="infrastructure:Ipnetwork" occiNetworkAddress="10.254.1.1/24">
-      <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetwork']"/>
-      <attributes name="occi.network.address" value="10.254.1.1/24"/>
-      <attributes name="occi.network.gateway" value=""/>
-      <attributes name="occi.network.allocation" value="dynamic"/>
-    </parts>
-    <parts xsi:type="openstackruntime:Runtimeid" openstackRuntimeId="ffb9aca8-7599-4cb1-999f-306a0b8efd0e">
-      <mixin href="http://schemas.modmacao.org/openstack/runtime#//@mixins[term='runtimeid']"/>
-    </parts>
-  </resources>
-  <resources xsi:type="platform:Component" id="f934d445-d0c8-4f2f-8086-d9f1a8255898" location="/component/urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255898/" rlinks="//@resources.0/@links.0" occiComponentState="error" occiComponentStateMessage="">
-    <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='component']"/>
-    <attributes name="occi.core.id" value="f934d445-d0c8-4f2f-8086-d9f1a8255898"/>
-    <attributes name="occi.core.title" value="Worker"/>
-    <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.component.state" value="undeployed"/>
-    <attributes name="occi.component.state.message" value=""/>
-    <parts mixin="//@mixins.2"/>
-    <links xsi:type="placement:Placementlink" id="ff292f08-d263-41b6-88c8-84d33783b917" location="/placementlink/urn:uuid:ff292f08-d263-41b6-88c8-84d33783b917/" target="//@resources.8">
-      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
-      <attributes name="occi.core.id" value="ff292f08-d263-41b6-88c8-84d33783b917"/>
-      <attributes name="occi.core.title" value="link1"/>
-    </links>
-  </resources>
-  <resources xsi:type="infrastructure:Network" id="7a9fca2c-24fb-473c-aa9c-8dc9e68a432a" title="MonitoringNetwork" location="/network/urn:uuid:7a9fca2c-24fb-473c-aa9c-8dc9e68a432a/" rlinks="//@resources.10/@links.1 //@resources.8/@links.0" occiNetworkVlan="0" occiNetworkLabel="" occiNetworkState="active" occiNetworkStateMessage="">
-    <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='network']"/>
-    <attributes name="occi.core.id" value="7a9fca2c-24fb-473c-aa9c-8dc9e68a432a"/>
-    <attributes name="occi.core.title" value="MonitoringNetwork"/>
-    <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.network.vlan" value="0"/>
-    <attributes name="occi.network.label" value=""/>
-    <attributes name="occi.network.state" value="active"/>
-    <attributes name="occi.network.state.message" value=""/>
-    <parts xsi:type="infrastructure:Ipnetwork" occiNetworkAddress="100.254.1.1/24">
-      <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetwork']"/>
-      <attributes name="occi.network.address" value="100.254.1.1/24"/>
-      <attributes name="occi.network.gateway" value=""/>
-      <attributes name="occi.network.allocation" value="dynamic"/>
-    </parts>
-    <parts xsi:type="openstackruntime:Runtimeid" openstackRuntimeId="a78e379b-83d7-4afe-95ec-6266a1ada35d">
-      <mixin href="http://schemas.modmacao.org/openstack/runtime#//@mixins[term='runtimeid']"/>
-    </parts>
-  </resources>
-  <resources xsi:type="monitoring:Publisher" id="588f705e-5279-4847-9337-846af2c86972" location="/publisher/urn:uuid:588f705e-5279-4847-9337-846af2c86972/" rlinks="//@resources.1/@links.0" occiComponentState="inactive">
-    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='publisher']"/>
-    <attributes name="occi.core.id" value="588f705e-5279-4847-9337-846af2c86972"/>
-    <attributes name="occi.core.title" value="Publisher"/>
-    <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.component.state" value="undeployed"/>
-    <attributes name="occi.component.state.message" value=""/>
-    <parts mixin="//@mixins.5"/>
-    <links xsi:type="platform:Componentlink" id="9551c357-59f8-4ac1-8c85-0e886e206b80" location="/componentlink/urn:uuid:9551c357-59f8-4ac1-8c85-0e886e206b80/" target="//@resources.2">
-      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
-      <attributes name="occi.core.id" value="9551c357-59f8-4ac1-8c85-0e886e206b80"/>
-      <attributes name="occi.core.title" value="link1"/>
-    </links>
-    <links xsi:type="placement:Placementlink" id="275b5bce-084c-46f0-88bc-1f6f31bf3616" location="/placementlink/urn:uuid:275b5bce-084c-46f0-88bc-1f6f31bf3616/" target="//@resources.10">
-      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
-      <attributes name="occi.core.id" value="275b5bce-084c-46f0-88bc-1f6f31bf3616"/>
-      <attributes name="occi.core.title" value="link2"/>
-    </links>
-  </resources>
-  <resources xsi:type="infrastructure:Compute" id="2e6a73d0-faaa-476a-bd25-ca461dd166cf" title="hadoop-worker-1" location="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166cf/" rlinks="//@resources.11/@links.0 //@resources.5/@links.0" occiComputeCores="2" occiComputeHostname="hadoop-worker-1" occiComputeShare="0" occiComputeSpeed="0.0" occiComputeMemory="4096.0" occiComputeState="active" occiComputeStateMessage="">
-    <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='compute']"/>
-    <attributes name="occi.core.id" value="2e6a73d0-faaa-476a-bd25-ca461dd166cf"/>
-    <attributes name="occi.core.title" value="hadoop-worker-1"/>
-    <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.compute.architecture" value="x86"/>
-    <attributes name="occi.compute.cores" value="2"/>
-    <attributes name="occi.compute.hostname" value="hadoop-worker-1"/>
-    <attributes name="occi.compute.share" value="0"/>
-    <attributes name="occi.compute.speed" value="0"/>
-    <attributes name="occi.compute.memory" value="4096"/>
-    <attributes name="occi.compute.state" value="active"/>
-    <attributes name="occi.compute.state.message" value=""/>
-    <parts xsi:type="infrastructure:User_data" occiComputeUserdata="I2Nsb3VkLWNvbmZpZwoKIyBVcGdyYWRlIHRoZSBpbnN0YW5jZSBvbiBmaXJzdCBib290CiMgKGllIHJ1biBhcHQtZ2V0IHVwZ3JhZGUpCiMKIyBEZWZhdWx0OiBmYWxzZQojIEFsaWFzZXM6IGFwdF91cGdyYWRlCnBhY2thZ2VfdXBncmFkZTogdHJ1ZQoKcGFja2FnZXM6CiAtIHB5dGhvbgoKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL25ldHdvcmsvaW50ZXJmYWNlcy5kLzUwLWNsb3VkLWluaXQuY2ZnCiAgICBjb250ZW50OiB8CiAgICAgIGF1dG8gbG8KICAgICAgaWZhY2UgbG8gaW5ldCBsb29wYmFjawogICAgICAKICAgICAgYXV0byBlbnMwCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMAogICAgICBpZmFjZSBlbnMwIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMQogICAgICBpZmFjZSBlbnMxIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMyCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMgogICAgICBpZmFjZSBlbnMyIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMzCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMwogICAgICBpZmFjZSBlbnMzIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM0CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNAogICAgICBpZmFjZSBlbnM0IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM1CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNQogICAgICBpZmFjZSBlbnM1IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM2CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNgogICAgICBpZmFjZSBlbnM2IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM3CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNwogICAgICBpZmFjZSBlbnM3IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM4CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOAogICAgICBpZmFjZSBlbnM4IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM5CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOQogICAgICBpZmFjZSBlbnM5IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxMAogICAgICBhbGxvdy1ob3RwbHVnIGVuczEwCiAgICAgIGlmYWNlIGVuczEwIGluZXQgZGhjcAoKIyMj">
-      <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='user_data']"/>
-      <attributes name="occi.compute.userdata" value="I2Nsb3VkLWNvbmZpZwoKIyBVcGdyYWRlIHRoZSBpbnN0YW5jZSBvbiBmaXJzdCBib290CiMgKGllIHJ1biBhcHQtZ2V0IHVwZ3JhZGUpCiMKIyBEZWZhdWx0OiBmYWxzZQojIEFsaWFzZXM6IGFwdF91cGdyYWRlCnBhY2thZ2VfdXBncmFkZTogdHJ1ZQoKcGFja2FnZXM6CiAtIHB5dGhvbgoKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL25ldHdvcmsvaW50ZXJmYWNlcy5kLzUwLWNsb3VkLWluaXQuY2ZnCiAgICBjb250ZW50OiB8CiAgICAgIGF1dG8gbG8KICAgICAgaWZhY2UgbG8gaW5ldCBsb29wYmFjawogICAgICAKICAgICAgYXV0byBlbnMwCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMAogICAgICBpZmFjZSBlbnMwIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMQogICAgICBpZmFjZSBlbnMxIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMyCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMgogICAgICBpZmFjZSBlbnMyIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMzCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMwogICAgICBpZmFjZSBlbnMzIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM0CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNAogICAgICBpZmFjZSBlbnM0IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM1CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNQogICAgICBpZmFjZSBlbnM1IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM2CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNgogICAgICBpZmFjZSBlbnM2IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM3CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNwogICAgICBpZmFjZSBlbnM3IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM4CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOAogICAgICBpZmFjZSBlbnM4IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM5CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOQogICAgICBpZmFjZSBlbnM5IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxMAogICAgICBhbGxvdy1ob3RwbHVnIGVuczEwCiAgICAgIGlmYWNlIGVuczEwIGluZXQgZGhjcAoKIyMj"/>
-    </parts>
-    <parts xsi:type="ossweruntime:Ubuntu_xenialxerus">
-      <mixin href="http://schemas.modmacao.org/openstack/swe#//@mixins[term='ubuntu_xenialxerus']"/>
-      <attributes name="openstack.runtime.id" value="5437eae8-7c47-4834-929c-a314de77d291"/>
-    </parts>
-    <parts xsi:type="infrastructure:Ssh_key" occiCredentialsSshPublickey="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6H7Ydi45BTHid4qNppGAi5mzjbnZgt7bi6xLGmZG9CiLmhMsxOuk3Z05Nn+pmoN98qS0eY8S240PPk5VOlYqBY0vdRAwrZSHHaLdMp6I7ARNrI2KraYduweqz7ZQxPXQfwIeYx2HKQxEF2r+4//Fo4WfgdBkLuulvl/Gw3TUzJNQHvgpaiNo9+PI5CZydHnZbjUkRikS12pT+CbNKj+0QKeQztbCd41aKxDv5H0DjltVRcpPppv4dmiU/zoCAIngWLO1PPgfYWyze8Z9IoyBT7Qdg30U91TYZBuxzXR5lq7Fh64y/IZ/SjdOdSIvIuDjtmJDULRdLJzrvubrKY+YH Generated-by-Nova">
-      <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ssh_key']"/>
-      <attributes name="occi.credentials.ssh.publickey" value="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6H7Ydi45BTHid4qNppGAi5mzjbnZgt7bi6xLGmZG9CiLmhMsxOuk3Z05Nn+pmoN98qS0eY8S240PPk5VOlYqBY0vdRAwrZSHHaLdMp6I7ARNrI2KraYduweqz7ZQxPXQfwIeYx2HKQxEF2r+4//Fo4WfgdBkLuulvl/Gw3TUzJNQHvgpaiNo9+PI5CZydHnZbjUkRikS12pT+CbNKj+0QKeQztbCd41aKxDv5H0DjltVRcpPppv4dmiU/zoCAIngWLO1PPgfYWyze8Z9IoyBT7Qdg30U91TYZBuxzXR5lq7Fh64y/IZ/SjdOdSIvIuDjtmJDULRdLJzrvubrKY+YH Generated-by-Nova"/>
-    </parts>
-    <parts xsi:type="monitoring:Monitoringproperties">
-      <mixin href="http://schemas.ugoe.cs.rwm/monitoring#//@mixins[term='monitoringproperties']"/>
-      <attributes name="monitoring.properties" value=""/>
-    </parts>
-    <parts xsi:type="openstackruntime:Runtimeid" openstackRuntimeId="d3cade51-e0c2-48d5-ad75-0706dd301caf">
-      <mixin href="http://schemas.modmacao.org/openstack/runtime#//@mixins[term='runtimeid']"/>
-    </parts>
-    <links xsi:type="infrastructure:Networkinterface" id="03f91178-136f-4023-876e-84509f8a5a2d" location="/networkinterface/urn:uuid:03f91178-136f-4023-876e-84509f8a5a2d/" target="//@resources.6">
-      <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='networkinterface']"/>
-      <attributes name="occi.core.id" value="03f91178-136f-4023-876e-84509f8a5a2d"/>
-      <attributes name="occi.core.title" value="monNwLink"/>
-      <attributes name="occi.networkinterface.interface" value=""/>
-      <attributes name="occi.networkinterface.mac" value=""/>
-      <attributes name="occi.networkinterface.state" value="active"/>
-      <attributes name="occi.networkinterface.state.message" value=""/>
-      <attributes name="occi.networkinterface.address" value="100.254.1.35"/>
-      <attributes name="occi.networkinterface.gateway" value=""/>
-      <attributes name="occi.networkinterface.allocation" value="dynamic"/>
-      <parts xsi:type="infrastructure:Ipnetworkinterface" occiNetworkinterfaceAddress="100.254.1.35">
-        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
-      </parts>
-      <parts xsi:type="openstackruntime:Runtimeid" openstackRuntimeId="fb5e8706-c5a5-48b1-a5f7-554be26b1f0b">
-        <mixin href="http://schemas.modmacao.org/openstack/runtime#//@mixins[term='runtimeid']"/>
-      </parts>
-    </links>
-    <links xsi:type="infrastructure:Networkinterface" id="c8c49905-3d5e-43b2-8d09-fabf92d29722" location="/networkinterface/urn:uuid:c8c49905-3d5e-43b2-8d09-fabf92d29722/" target="//@resources.4">
-      <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='networkinterface']"/>
-      <attributes name="occi.core.id" value="c8c49905-3d5e-43b2-8d09-fabf92d29722"/>
-      <attributes name="occi.core.title" value="link2"/>
-      <attributes name="occi.networkinterface.interface" value=""/>
-      <attributes name="occi.networkinterface.mac" value=""/>
-      <attributes name="occi.networkinterface.state" value="active"/>
-      <attributes name="occi.networkinterface.state.message" value=""/>
-      <attributes name="occi.networkinterface.address" value="10.254.1.8"/>
-      <attributes name="occi.networkinterface.gateway" value=""/>
-      <attributes name="occi.networkinterface.allocation" value="dynamic"/>
-      <parts xsi:type="infrastructure:Ipnetworkinterface" occiNetworkinterfaceAddress="10.254.1.8">
-        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
-      </parts>
-      <parts xsi:type="openstackruntime:Runtimeid" openstackRuntimeId="beffdcda-b4f3-4acd-a6ba-8d1cb4642d9d">
-        <mixin href="http://schemas.modmacao.org/openstack/runtime#//@mixins[term='runtimeid']"/>
-      </parts>
-    </links>
-    <links xsi:type="infrastructure:Networkinterface" id="a81f796a-c59f-46d7-8411-e3811ddfc58d" location="/networkinterface/urn:uuid:a81f796a-c59f-46d7-8411-e3811ddfc58d/" target="//@resources.3">
-      <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='networkinterface']"/>
-      <attributes name="occi.core.id" value="a81f796a-c59f-46d7-8411-e3811ddfc58d"/>
-      <attributes name="occi.core.title" value="hadoop-worker-1 -> Management Network"/>
-      <attributes name="occi.networkinterface.interface" value=""/>
-      <attributes name="occi.networkinterface.mac" value=""/>
-      <attributes name="occi.networkinterface.state" value="active"/>
-      <attributes name="occi.networkinterface.state.message" value=""/>
-      <attributes name="occi.networkinterface.address" value=""/>
-      <attributes name="occi.networkinterface.gateway" value=""/>
-      <attributes name="occi.networkinterface.allocation" value="dynamic"/>
-      <parts xsi:type="infrastructure:Ipnetworkinterface" occiNetworkinterfaceAddress="10.0.0.25">
-        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
-      </parts>
-      <parts xsi:type="ansibleconfiguration:Ansibleendpoint">
-        <mixin href="http://schemas.modmacao.org/occi/ansible#//@mixins[term='ansibleendpoint']"/>
-      </parts>
-      <parts xsi:type="openstackruntime:Runtimeid" openstackRuntimeId="59fbe73d-0707-401e-9941-97539f59b108">
-        <mixin href="http://schemas.modmacao.org/openstack/runtime#//@mixins[term='runtimeid']"/>
-      </parts>
-    </links>
-  </resources>
-  <resources xsi:type="infrastructure:Compute" id="2e6a73d0-faaa-476a-bd25-ca461dd166ce" title="hadoop-master" location="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166ce/" rlinks="//@resources.13/@links.0 //@resources.12/@links.0" occiComputeCores="2" occiComputeHostname="hadoop-master" occiComputeShare="0" occiComputeSpeed="0.0" occiComputeMemory="4096.0" occiComputeState="active" occiComputeStateMessage="">
-    <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='compute']"/>
-    <attributes name="occi.core.id" value="2e6a73d0-faaa-476a-bd25-ca461dd166ce"/>
-    <attributes name="occi.core.title" value="hadoop-master"/>
-    <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.compute.architecture" value="x86"/>
-    <attributes name="occi.compute.cores" value="2"/>
-    <attributes name="occi.compute.hostname" value="hadoop-master"/>
-    <attributes name="occi.compute.share" value="0"/>
-    <attributes name="occi.compute.speed" value="0"/>
-    <attributes name="occi.compute.memory" value="4096"/>
-    <attributes name="occi.compute.state" value="active"/>
-    <attributes name="occi.compute.state.message" value=""/>
-    <parts xsi:type="infrastructure:User_data" occiComputeUserdata="I2Nsb3VkLWNvbmZpZwoKIyBVcGdyYWRlIHRoZSBpbnN0YW5jZSBvbiBmaXJzdCBib290CiMgKGllIHJ1biBhcHQtZ2V0IHVwZ3JhZGUpCiMKIyBEZWZhdWx0OiBmYWxzZQojIEFsaWFzZXM6IGFwdF91cGdyYWRlCnBhY2thZ2VfdXBncmFkZTogdHJ1ZQoKcGFja2FnZXM6CiAtIHB5dGhvbgoKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL25ldHdvcmsvaW50ZXJmYWNlcy5kLzUwLWNsb3VkLWluaXQuY2ZnCiAgICBjb250ZW50OiB8CiAgICAgIGF1dG8gbG8KICAgICAgaWZhY2UgbG8gaW5ldCBsb29wYmFjawogICAgICAKICAgICAgYXV0byBlbnMwCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMAogICAgICBpZmFjZSBlbnMwIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMQogICAgICBpZmFjZSBlbnMxIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMyCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMgogICAgICBpZmFjZSBlbnMyIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMzCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMwogICAgICBpZmFjZSBlbnMzIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM0CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNAogICAgICBpZmFjZSBlbnM0IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM1CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNQogICAgICBpZmFjZSBlbnM1IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM2CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNgogICAgICBpZmFjZSBlbnM2IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM3CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNwogICAgICBpZmFjZSBlbnM3IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM4CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOAogICAgICBpZmFjZSBlbnM4IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM5CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOQogICAgICBpZmFjZSBlbnM5IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxMAogICAgICBhbGxvdy1ob3RwbHVnIGVuczEwCiAgICAgIGlmYWNlIGVuczEwIGluZXQgZGhjcAoKIyMj">
-      <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='user_data']"/>
-      <attributes name="occi.compute.userdata" value="I2Nsb3VkLWNvbmZpZwoKIyBVcGdyYWRlIHRoZSBpbnN0YW5jZSBvbiBmaXJzdCBib290CiMgKGllIHJ1biBhcHQtZ2V0IHVwZ3JhZGUpCiMKIyBEZWZhdWx0OiBmYWxzZQojIEFsaWFzZXM6IGFwdF91cGdyYWRlCnBhY2thZ2VfdXBncmFkZTogdHJ1ZQoKcGFja2FnZXM6CiAtIHB5dGhvbgoKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL25ldHdvcmsvaW50ZXJmYWNlcy5kLzUwLWNsb3VkLWluaXQuY2ZnCiAgICBjb250ZW50OiB8CiAgICAgIGF1dG8gbG8KICAgICAgaWZhY2UgbG8gaW5ldCBsb29wYmFjawogICAgICAKICAgICAgYXV0byBlbnMwCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMAogICAgICBpZmFjZSBlbnMwIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMQogICAgICBpZmFjZSBlbnMxIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMyCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMgogICAgICBpZmFjZSBlbnMyIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMzCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMwogICAgICBpZmFjZSBlbnMzIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM0CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNAogICAgICBpZmFjZSBlbnM0IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM1CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNQogICAgICBpZmFjZSBlbnM1IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM2CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNgogICAgICBpZmFjZSBlbnM2IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM3CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNwogICAgICBpZmFjZSBlbnM3IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM4CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOAogICAgICBpZmFjZSBlbnM4IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM5CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOQogICAgICBpZmFjZSBlbnM5IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxMAogICAgICBhbGxvdy1ob3RwbHVnIGVuczEwCiAgICAgIGlmYWNlIGVuczEwIGluZXQgZGhjcAoKIyMj"/>
-    </parts>
-    <parts xsi:type="ossweruntime:Ubuntu_xenialxerus">
-      <mixin href="http://schemas.modmacao.org/openstack/swe#//@mixins[term='ubuntu_xenialxerus']"/>
-      <attributes name="openstack.runtime.id" value="5437eae8-7c47-4834-929c-a314de77d291"/>
-    </parts>
-    <parts xsi:type="infrastructure:Ssh_key" occiCredentialsSshPublickey="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6H7Ydi45BTHid4qNppGAi5mzjbnZgt7bi6xLGmZG9CiLmhMsxOuk3Z05Nn+pmoN98qS0eY8S240PPk5VOlYqBY0vdRAwrZSHHaLdMp6I7ARNrI2KraYduweqz7ZQxPXQfwIeYx2HKQxEF2r+4//Fo4WfgdBkLuulvl/Gw3TUzJNQHvgpaiNo9+PI5CZydHnZbjUkRikS12pT+CbNKj+0QKeQztbCd41aKxDv5H0DjltVRcpPppv4dmiU/zoCAIngWLO1PPgfYWyze8Z9IoyBT7Qdg30U91TYZBuxzXR5lq7Fh64y/IZ/SjdOdSIvIuDjtmJDULRdLJzrvubrKY+YH Generated-by-Nova">
-      <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ssh_key']"/>
-      <attributes name="occi.credentials.ssh.publickey" value="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6H7Ydi45BTHid4qNppGAi5mzjbnZgt7bi6xLGmZG9CiLmhMsxOuk3Z05Nn+pmoN98qS0eY8S240PPk5VOlYqBY0vdRAwrZSHHaLdMp6I7ARNrI2KraYduweqz7ZQxPXQfwIeYx2HKQxEF2r+4//Fo4WfgdBkLuulvl/Gw3TUzJNQHvgpaiNo9+PI5CZydHnZbjUkRikS12pT+CbNKj+0QKeQztbCd41aKxDv5H0DjltVRcpPppv4dmiU/zoCAIngWLO1PPgfYWyze8Z9IoyBT7Qdg30U91TYZBuxzXR5lq7Fh64y/IZ/SjdOdSIvIuDjtmJDULRdLJzrvubrKY+YH Generated-by-Nova"/>
-    </parts>
-    <parts xsi:type="openstackruntime:Runtimeid" openstackRuntimeId="a8193a3f-d0a6-48e2-900f-f40a972186f6">
-      <mixin href="http://schemas.modmacao.org/openstack/runtime#//@mixins[term='runtimeid']"/>
-    </parts>
-    <links xsi:type="infrastructure:Networkinterface" id="576fa64d-bf7e-4c15-bd20-d3e13c03ad64" location="/networkinterface/urn:uuid:576fa64d-bf7e-4c15-bd20-d3e13c03ad64/" target="//@resources.3">
-      <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='networkinterface']"/>
-      <attributes name="occi.core.id" value="576fa64d-bf7e-4c15-bd20-d3e13c03ad64"/>
-      <attributes name="occi.core.title" value="hadoop-master -> Management Network"/>
-      <attributes name="occi.networkinterface.interface" value=""/>
-      <attributes name="occi.networkinterface.mac" value=""/>
-      <attributes name="occi.networkinterface.state" value="active"/>
-      <attributes name="occi.networkinterface.state.message" value=""/>
-      <attributes name="occi.networkinterface.address" value=""/>
-      <attributes name="occi.networkinterface.gateway" value=""/>
-      <attributes name="occi.networkinterface.allocation" value="dynamic"/>
-      <parts xsi:type="infrastructure:Ipnetworkinterface" occiNetworkinterfaceAddress="10.0.0.16">
-        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
-      </parts>
-      <parts xsi:type="ansibleconfiguration:Ansibleendpoint">
-        <mixin href="http://schemas.modmacao.org/occi/ansible#//@mixins[term='ansibleendpoint']"/>
-      </parts>
-      <parts xsi:type="openstackruntime:Runtimeid" openstackRuntimeId="2322b413-a434-4262-ba6d-e082f5d4a0cf">
-        <mixin href="http://schemas.modmacao.org/openstack/runtime#//@mixins[term='runtimeid']"/>
-      </parts>
-    </links>
-    <links xsi:type="infrastructure:Networkinterface" id="ea482951-5c26-471d-aa1b-8e03b1e6096c" location="/networkinterface/urn:uuid:ea482951-5c26-471d-aa1b-8e03b1e6096c/" target="//@resources.4">
-      <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='networkinterface']"/>
-      <attributes name="occi.core.id" value="ea482951-5c26-471d-aa1b-8e03b1e6096c"/>
-      <attributes name="occi.core.title" value="link3"/>
-      <attributes name="occi.networkinterface.interface" value=""/>
-      <attributes name="occi.networkinterface.mac" value=""/>
-      <attributes name="occi.networkinterface.state" value="active"/>
-      <attributes name="occi.networkinterface.state.message" value=""/>
-      <attributes name="occi.networkinterface.address" value="10.254.1.5"/>
-      <attributes name="occi.networkinterface.gateway" value=""/>
-      <attributes name="occi.networkinterface.allocation" value="dynamic"/>
-      <parts xsi:type="infrastructure:Ipnetworkinterface" occiNetworkinterfaceAddress="10.254.1.5">
-        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
-      </parts>
-      <parts xsi:type="openstackruntime:Runtimeid" openstackRuntimeId="f9a171b5-050a-455e-acf8-582e9a2db090">
-        <mixin href="http://schemas.modmacao.org/openstack/runtime#//@mixins[term='runtimeid']"/>
-      </parts>
-    </links>
-  </resources>
-  <resources xsi:type="infrastructure:Compute" id="37829092-c690-494a-98fa-335b2fd660ea" title="MonVm" location="/compute/urn:uuid:37829092-c690-494a-98fa-335b2fd660ea/" rlinks="//@resources.7/@links.1 //@resources.2/@links.1" occiComputeCores="2" occiComputeHostname="monVM" occiComputeShare="0" occiComputeSpeed="0.0" occiComputeMemory="4096.0" occiComputeState="active" occiComputeStateMessage="">
-    <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='compute']"/>
-    <attributes name="occi.core.id" value="37829092-c690-494a-98fa-335b2fd660ea"/>
-    <attributes name="occi.core.title" value="MonVm"/>
-    <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.compute.architecture" value="x86"/>
-    <attributes name="occi.compute.cores" value="2"/>
-    <attributes name="occi.compute.hostname" value="monVM"/>
-    <attributes name="occi.compute.share" value="0"/>
-    <attributes name="occi.compute.speed" value="0"/>
-    <attributes name="occi.compute.memory" value="4096"/>
-    <attributes name="occi.compute.state" value="active"/>
-    <attributes name="occi.compute.state.message" value=""/>
-    <parts xsi:type="infrastructure:User_data" occiComputeUserdata="I2Nsb3VkLWNvbmZpZwoKIyBVcGdyYWRlIHRoZSBpbnN0YW5jZSBvbiBmaXJzdCBib290CiMgKGllIHJ1biBhcHQtZ2V0IHVwZ3JhZGUpCiMKIyBEZWZhdWx0OiBmYWxzZQojIEFsaWFzZXM6IGFwdF91cGdyYWRlCnBhY2thZ2VfdXBncmFkZTogdHJ1ZQoKcGFja2FnZXM6CiAtIHB5dGhvbgoKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL25ldHdvcmsvaW50ZXJmYWNlcy5kLzUwLWNsb3VkLWluaXQuY2ZnCiAgICBjb250ZW50OiB8CiAgICAgIGF1dG8gbG8KICAgICAgaWZhY2UgbG8gaW5ldCBsb29wYmFjawogICAgICAKICAgICAgYXV0byBlbnMwCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMAogICAgICBpZmFjZSBlbnMwIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMQogICAgICBpZmFjZSBlbnMxIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMyCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMgogICAgICBpZmFjZSBlbnMyIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMzCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMwogICAgICBpZmFjZSBlbnMzIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM0CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNAogICAgICBpZmFjZSBlbnM0IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM1CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNQogICAgICBpZmFjZSBlbnM1IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM2CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNgogICAgICBpZmFjZSBlbnM2IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM3CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNwogICAgICBpZmFjZSBlbnM3IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM4CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOAogICAgICBpZmFjZSBlbnM4IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM5CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOQogICAgICBpZmFjZSBlbnM5IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxMAogICAgICBhbGxvdy1ob3RwbHVnIGVuczEwCiAgICAgIGlmYWNlIGVuczEwIGluZXQgZGhjcAoKIyMj">
-      <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='user_data']"/>
-      <attributes name="occi.compute.userdata" value="I2Nsb3VkLWNvbmZpZwoKIyBVcGdyYWRlIHRoZSBpbnN0YW5jZSBvbiBmaXJzdCBib290CiMgKGllIHJ1biBhcHQtZ2V0IHVwZ3JhZGUpCiMKIyBEZWZhdWx0OiBmYWxzZQojIEFsaWFzZXM6IGFwdF91cGdyYWRlCnBhY2thZ2VfdXBncmFkZTogdHJ1ZQoKcGFja2FnZXM6CiAtIHB5dGhvbgoKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL25ldHdvcmsvaW50ZXJmYWNlcy5kLzUwLWNsb3VkLWluaXQuY2ZnCiAgICBjb250ZW50OiB8CiAgICAgIGF1dG8gbG8KICAgICAgaWZhY2UgbG8gaW5ldCBsb29wYmFjawogICAgICAKICAgICAgYXV0byBlbnMwCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMAogICAgICBpZmFjZSBlbnMwIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMQogICAgICBpZmFjZSBlbnMxIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMyCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMgogICAgICBpZmFjZSBlbnMyIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMzCiAgICAgIGFsbG93LWhvdHBsdWcgZW5zMwogICAgICBpZmFjZSBlbnMzIGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM0CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNAogICAgICBpZmFjZSBlbnM0IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM1CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNQogICAgICBpZmFjZSBlbnM1IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM2CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNgogICAgICBpZmFjZSBlbnM2IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM3CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zNwogICAgICBpZmFjZSBlbnM3IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM4CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOAogICAgICBpZmFjZSBlbnM4IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnM5CiAgICAgIGFsbG93LWhvdHBsdWcgZW5zOQogICAgICBpZmFjZSBlbnM5IGluZXQgZGhjcAogICAgICAKICAgICAgYXV0byBlbnMxMAogICAgICBhbGxvdy1ob3RwbHVnIGVuczEwCiAgICAgIGlmYWNlIGVuczEwIGluZXQgZGhjcAoKIyMj"/>
-    </parts>
-    <parts xsi:type="ossweruntime:Ubuntu_xenialxerus">
-      <mixin href="http://schemas.modmacao.org/openstack/swe#//@mixins[term='ubuntu_xenialxerus']"/>
-      <attributes name="openstack.runtime.id" value="5437eae8-7c47-4834-929c-a314de77d291"/>
-    </parts>
-    <parts xsi:type="infrastructure:Ssh_key" occiCredentialsSshPublickey="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6H7Ydi45BTHid4qNppGAi5mzjbnZgt7bi6xLGmZG9CiLmhMsxOuk3Z05Nn+pmoN98qS0eY8S240PPk5VOlYqBY0vdRAwrZSHHaLdMp6I7ARNrI2KraYduweqz7ZQxPXQfwIeYx2HKQxEF2r+4//Fo4WfgdBkLuulvl/Gw3TUzJNQHvgpaiNo9+PI5CZydHnZbjUkRikS12pT+CbNKj+0QKeQztbCd41aKxDv5H0DjltVRcpPppv4dmiU/zoCAIngWLO1PPgfYWyze8Z9IoyBT7Qdg30U91TYZBuxzXR5lq7Fh64y/IZ/SjdOdSIvIuDjtmJDULRdLJzrvubrKY+YH Generated-by-Nova">
-      <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ssh_key']"/>
-      <attributes name="occi.credentials.ssh.publickey" value="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6H7Ydi45BTHid4qNppGAi5mzjbnZgt7bi6xLGmZG9CiLmhMsxOuk3Z05Nn+pmoN98qS0eY8S240PPk5VOlYqBY0vdRAwrZSHHaLdMp6I7ARNrI2KraYduweqz7ZQxPXQfwIeYx2HKQxEF2r+4//Fo4WfgdBkLuulvl/Gw3TUzJNQHvgpaiNo9+PI5CZydHnZbjUkRikS12pT+CbNKj+0QKeQztbCd41aKxDv5H0DjltVRcpPppv4dmiU/zoCAIngWLO1PPgfYWyze8Z9IoyBT7Qdg30U91TYZBuxzXR5lq7Fh64y/IZ/SjdOdSIvIuDjtmJDULRdLJzrvubrKY+YH Generated-by-Nova"/>
-    </parts>
-    <parts xsi:type="openstackruntime:Runtimeid" openstackRuntimeId="426dd30a-4aed-42f3-854d-217e6e74f4a8">
-      <mixin href="http://schemas.modmacao.org/openstack/runtime#//@mixins[term='runtimeid']"/>
-    </parts>
-    <links xsi:type="infrastructure:Networkinterface" id="efe27a6b-e6e3-4fe8-ab52-9b4039fba9e5" location="/networkinterface/urn:uuid:efe27a6b-e6e3-4fe8-ab52-9b4039fba9e5/" target="//@resources.3">
-      <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='networkinterface']"/>
-      <attributes name="occi.core.id" value="efe27a6b-e6e3-4fe8-ab52-9b4039fba9e5"/>
-      <attributes name="occi.core.title" value="MonVm -> Management Network"/>
-      <attributes name="occi.networkinterface.interface" value=""/>
-      <attributes name="occi.networkinterface.mac" value=""/>
-      <attributes name="occi.networkinterface.state" value="active"/>
-      <attributes name="occi.networkinterface.state.message" value=""/>
-      <attributes name="occi.networkinterface.address" value=""/>
-      <attributes name="occi.networkinterface.gateway" value=""/>
-      <attributes name="occi.networkinterface.allocation" value="dynamic"/>
-      <parts xsi:type="infrastructure:Ipnetworkinterface" occiNetworkinterfaceAddress="10.0.0.9">
-        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
-      </parts>
-      <parts xsi:type="ansibleconfiguration:Ansibleendpoint">
-        <mixin href="http://schemas.modmacao.org/occi/ansible#//@mixins[term='ansibleendpoint']"/>
-      </parts>
-      <parts xsi:type="openstackruntime:Runtimeid" openstackRuntimeId="0bf1a760-6db1-4347-938e-e24b25556ec0">
-        <mixin href="http://schemas.modmacao.org/openstack/runtime#//@mixins[term='runtimeid']"/>
-      </parts>
-    </links>
-    <links xsi:type="infrastructure:Networkinterface" id="00d6889d-b644-44bf-af13-3fe350e926ed" location="/networkinterface/urn:uuid:00d6889d-b644-44bf-af13-3fe350e926ed/" target="//@resources.6">
-      <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='networkinterface']"/>
-      <attributes name="occi.core.id" value="00d6889d-b644-44bf-af13-3fe350e926ed"/>
-      <attributes name="occi.core.title" value="link1"/>
-      <attributes name="occi.networkinterface.interface" value=""/>
-      <attributes name="occi.networkinterface.mac" value=""/>
-      <attributes name="occi.networkinterface.state" value="active"/>
-      <attributes name="occi.networkinterface.state.message" value=""/>
-      <attributes name="occi.networkinterface.address" value=""/>
-      <attributes name="occi.networkinterface.gateway" value=""/>
-      <attributes name="occi.networkinterface.allocation" value="dynamic"/>
-      <parts xsi:type="infrastructure:Ipnetworkinterface">
-        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
-      </parts>
-      <parts xsi:type="openstackruntime:Runtimeid" openstackRuntimeId="1a9c2480-618e-405f-bebc-532c5ff6d546">
-        <mixin href="http://schemas.modmacao.org/openstack/runtime#//@mixins[term='runtimeid']"/>
-      </parts>
-    </links>
-  </resources>
-  <resources xsi:type="monitoring:Datagatherer" id="051affdc-d686-48f8-884c-83fe81718a48" location="/datagatherer/urn:uuid:051affdc-d686-48f8-884c-83fe81718a48/" rlinks="//@resources.1/@links.2 //@resources.2/@links.0" occiComponentState="inactive">
-    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='datagatherer']"/>
-    <attributes name="occi.core.id" value="051affdc-d686-48f8-884c-83fe81718a48"/>
-    <attributes name="occi.core.title" value="DataGatherer"/>
-    <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.component.state" value="undeployed"/>
-    <attributes name="occi.component.state.message" value=""/>
-    <attributes name="occi.collector.period" value=""/>
-    <attributes name="occi.collector.granularity" value=""/>
-    <attributes name="occi.collector.accuracy" value=""/>
-    <parts mixin="//@mixins.3"/>
-    <links xsi:type="placement:Placementlink" id="60cc05ca-4fd7-465b-8fd0-945dcbf8867f" location="/placementlink/urn:uuid:60cc05ca-4fd7-465b-8fd0-945dcbf8867f/" target="//@resources.8">
-      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
-      <attributes name="occi.core.id" value="60cc05ca-4fd7-465b-8fd0-945dcbf8867f"/>
-      <attributes name="occi.core.title" value="link1"/>
-    </links>
-  </resources>
-  <resources xsi:type="platform:Component" id="f934d445-d0c8-4f2f-8086-d9f1a8255896" location="/component/urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255896/" occiComponentStateMessage="">
-    <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='component']"/>
-    <attributes name="occi.core.id" value="f934d445-d0c8-4f2f-8086-d9f1a8255896"/>
-    <attributes name="occi.core.title" value="Wordcount"/>
-    <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.component.state" value="undeployed"/>
-    <attributes name="occi.component.state.message" value=""/>
-    <parts mixin="//@mixins.0"/>
-    <links xsi:type="placement:Placementlink" id="ff292f08-d263-41b6-88c8-84d33783b929" location="/placementlink/urn:uuid:ff292f08-d263-41b6-88c8-84d33783b929/" target="//@resources.9">
-      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
-      <attributes name="occi.core.id" value="ff292f08-d263-41b6-88c8-84d33783b929"/>
-      <attributes name="occi.core.title" value="link1"/>
-    </links>
-  </resources>
-  <resources xsi:type="platform:Component" id="f934d445-d0c8-4f2f-8086-d9f1a8255897" location="/component/urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255897/" rlinks="//@resources.0/@links.1" occiComponentState="error" occiComponentStateMessage="">
-    <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='component']"/>
-    <attributes name="occi.core.id" value="f934d445-d0c8-4f2f-8086-d9f1a8255897"/>
-    <attributes name="occi.core.title" value="hMaster"/>
-    <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.component.state" value="undeployed"/>
-    <attributes name="occi.component.state.message" value=""/>
-    <parts mixin="//@mixins.1"/>
-    <links xsi:type="placement:Placementlink" id="ff292f08-d263-41b6-88c8-84d33783b928" location="/placementlink/urn:uuid:ff292f08-d263-41b6-88c8-84d33783b928/" target="//@resources.9">
-      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
-      <attributes name="occi.core.id" value="ff292f08-d263-41b6-88c8-84d33783b928"/>
-      <attributes name="occi.core.title" value="link1"/>
-    </links>
-  </resources>
-  <mixins name="hjob" scheme="http://schemas.modmacao.org/usermixins#"/>
-  <mixins name="hmaster" scheme="http://schemas.modmacao.org/usermixins#"/>
-  <mixins name="hworker" scheme="http://schemas.modmacao.org/usermixins#"/>
-  <mixins name="cpugatherer" scheme="http://schemas.modmacao.org/usermixins#"/>
-  <mixins name="cpuprocessor" scheme="http://schemas.modmacao.org/usermixins#"/>
-  <mixins name="cpupublisher" scheme="http://schemas.modmacao.org/usermixins#"/>
-</occi:Configuration>
diff --git a/src/test/resources/occi/expectedRuntimeImage.pdf b/src/test/resources/occi/expectedRuntimeImage.pdf
deleted file mode 100644
index aa36da5884c9d83a816bda040a4b8265556f8b5c..0000000000000000000000000000000000000000
Binary files a/src/test/resources/occi/expectedRuntimeImage.pdf and /dev/null differ
diff --git a/src/test/resources/occi/hadoopClusterNewExt.occic b/src/test/resources/occi/hadoopClusterNewExtWithMem.occic
similarity index 80%
rename from src/test/resources/occi/hadoopClusterNewExt.occic
rename to src/test/resources/occi/hadoopClusterNewExtWithMem.occic
index 71b7fe03d99fbbfe3581fa81048ff87d8922fa97..347251e0d710ad1257ad114c612412d5715e925f 100644
--- a/src/test/resources/occi/hadoopClusterNewExt.occic
+++ b/src/test/resources/occi/hadoopClusterNewExtWithMem.occic
@@ -88,7 +88,7 @@
       <attributes name="occi.core.title" value="link4"/>
     </links>
   </resources>
-  <resources xsi:type="infrastructure:Compute" id="urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166cf" title="hadoop-worker-1" location="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166cf/" rlinks="//@resources.5/@links.0 //@resources.8/@links.0" occiComputeCores="2" occiComputeHostname="vm2" occiComputeMemory="4096.0" occiComputeState="active">
+  <resources xsi:type="infrastructure:Compute" id="urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166cf" title="hadoop-worker-1" location="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166cf/" rlinks="//@resources.5/@links.0 //@resources.8/@links.0 //@resources.7/@links.3 //@resources.15/@links.3" occiComputeCores="2" occiComputeHostname="vm2" occiComputeMemory="4096.0" occiComputeState="active">
     <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='compute']"/>
     <attributes name="occi.core.id" value="urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166cf"/>
     <attributes name="occi.core.title" value="hadoop-worker-1"/>
@@ -112,9 +112,6 @@
     <parts>
       <mixin href="http://schemas.modmacao.org/openstack/swe#//@mixins[term='ubuntu_xenialxerus']"/>
     </parts>
-    <parts>
-      <mixin href="http://schemas.ugoe.cs.rwm/monitoring#//@mixins[term='monitoringproperties']"/>
-    </parts>
     <links xsi:type="infrastructure:Networkinterface" id="urn:uuid:c8c49905-3d5e-43b2-8d09-fabf92d29722" title="link2" location="/networkinterface/urn:uuid:c8c49905-3d5e-43b2-8d09-fabf92d29722" target="//@resources.6">
       <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='networkinterface']"/>
       <attributes name="occi.core.id" value="urn:uuid:c8c49905-3d5e-43b2-8d09-fabf92d29722"/>
@@ -168,12 +165,6 @@
     <attributes name="occi.core.id" value="urn:uuid:efb0f50a-7a7c-4153-b939-4846d6554dbb"/>
     <attributes name="occi.core.title" value="Sensor"/>
     <attributes name="occi.core.summary" value=""/>
-    <attributes name="occi.sensor.timebase" value=""/>
-    <attributes name="occi.sensor.timestart" value=""/>
-    <attributes name="occi.sensor.timestop" value=""/>
-    <attributes name="occi.sensor.period" value=""/>
-    <attributes name="occi.sensor.granularity" value=""/>
-    <attributes name="occi.sensor.accuracy" value=""/>
     <attributes name="occi.app.state" value="undeployed"/>
     <attributes name="occi.app.state.message" value=""/>
     <links xsi:type="platform:Componentlink" id="urn:uuid:04cf6483-706d-4a2a-9114-9918ab2bb52a" title="link1" target="//@resources.8">
@@ -191,8 +182,14 @@
       <attributes name="occi.core.id" value="urn:uuid:93f08e31-f350-42b7-a73b-c139eba4a8e3"/>
       <attributes name="occi.core.title" value="link3"/>
     </links>
+    <links xsi:type="monitoring:Monitorableproperty" id="urn:uuid:ba16f4ee-1601-4192-a259-eae4274aed72" title="CPU Monitoring" location="" target="//@resources.4" monitoringProperty="CPU" monitoringResult="">
+      <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='monitorableproperty']"/>
+      <attributes name="occi.core.id" value="urn:uuid:ba16f4ee-1601-4192-a259-eae4274aed72"/>
+      <attributes name="occi.core.title" value="CPU Monitoring"/>
+      <attributes name="monitoring.property" value="CPU"/>
+    </links>
   </resources>
-  <resources xsi:type="monitoring:Datagatherer" id="urn:uuid:051affdc-d686-48f8-884c-83fe81718a48" title="DataGatherer" rlinks="//@resources.7/@links.0 //@resources.9/@links.0">
+  <resources xsi:type="monitoring:Datagatherer" id="urn:uuid:051affdc-d686-48f8-884c-83fe81718a48" title="DataGatherer" rlinks="//@resources.7/@links.0 //@resources.9/@links.0 //@resources.13/@links.0 //@resources.15/@links.0">
     <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='datagatherer']"/>
     <attributes name="occi.core.id" value="urn:uuid:051affdc-d686-48f8-884c-83fe81718a48"/>
     <attributes name="occi.core.title" value="DataGatherer"/>
@@ -203,8 +200,8 @@
       <attributes name="occi.core.title" value="link1"/>
     </links>
   </resources>
-  <resources xsi:type="monitoring:Processor" id="urn:uuid:1bda25ab-723b-47e7-9704-5134db26ebdc" title="Processor" rlinks="//@resources.10/@links.0 //@resources.7/@links.1">
-    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='processor']"/>
+  <resources xsi:type="monitoring:Dataprocessor" id="urn:uuid:1bda25ab-723b-47e7-9704-5134db26ebdc" title="Processor" rlinks="//@resources.10/@links.0 //@resources.7/@links.1">
+    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='dataprocessor']"/>
     <attributes name="occi.core.id" value="urn:uuid:1bda25ab-723b-47e7-9704-5134db26ebdc"/>
     <attributes name="occi.core.title" value="Processor"/>
     <parts mixin="//@mixins.4"/>
@@ -219,11 +216,15 @@
       <attributes name="occi.core.title" value="link2"/>
     </links>
   </resources>
-  <resources xsi:type="monitoring:Publisher" id="urn:uuid:588f705e-5279-4847-9337-846af2c86972" title="Publisher" rlinks="//@resources.7/@links.2">
-    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='publisher']"/>
+  <resources xsi:type="monitoring:Resultprovider" id="urn:uuid:588f705e-5279-4847-9337-846af2c86972" title="Resultprovider" rlinks="//@resources.7/@links.2">
+    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='resultprovider']"/>
     <attributes name="occi.core.id" value="urn:uuid:588f705e-5279-4847-9337-846af2c86972"/>
-    <attributes name="occi.core.title" value="Publisher"/>
+    <attributes name="occi.core.title" value="Resultprovider"/>
     <parts mixin="//@mixins.5"/>
+    <parts xsi:type="monitoring:Occiresultprovider">
+      <mixin href="http://schemas.ugoe.cs.rwm/monitoring#//@mixins[term='occiresultprovider']"/>
+      <attributes name="result.provider.endpoint" value="192.168.35.45:8080"/>
+    </parts>
     <links xsi:type="platform:Componentlink" id="urn:uuid:9551c357-59f8-4ac1-8c85-0e886e206b80" title="link1" target="//@resources.9">
       <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
       <attributes name="occi.core.id" value="urn:uuid:9551c357-59f8-4ac1-8c85-0e886e206b80"/>
@@ -235,7 +236,7 @@
       <attributes name="occi.core.title" value="link2"/>
     </links>
   </resources>
-  <resources xsi:type="infrastructure:Compute" id="urn:uuid:37829092-c690-494a-98fa-335b2fd660ea" title="MonVm" rlinks="//@resources.9/@links.1 //@resources.10/@links.1" occiComputeHostname="monVM" occiComputeState="inactive">
+  <resources xsi:type="infrastructure:Compute" id="urn:uuid:37829092-c690-494a-98fa-335b2fd660ea" title="MonVm" rlinks="//@resources.9/@links.1 //@resources.10/@links.1 //@resources.13/@links.1 //@resources.14/@links.1" occiComputeHostname="monVM" occiComputeState="inactive">
     <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='compute']"/>
     <attributes name="occi.core.id" value="urn:uuid:37829092-c690-494a-98fa-335b2fd660ea"/>
     <attributes name="occi.core.title" value="MonVm"/>
@@ -274,10 +275,75 @@
       <attributes name="occi.network.address" value="100.254.1.1/24"/>
     </parts>
   </resources>
+  <resources xsi:type="monitoring:Dataprocessor" id="urn:uuid:1bda25ab-723b-47e7-9704-5134db26ebdd" title="Processor" rlinks="//@resources.14/@links.0 //@resources.15/@links.2">
+    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='dataprocessor']"/>
+    <attributes name="occi.core.title" value="Processor"/>
+    <attributes name="occi.core.id" value="urn:uuid:1bda25ab-723b-47e7-9704-5134db26ebdd"/>
+    <parts mixin="//@mixins.6"/>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:1a821776-7886-4cb4-8b80-46a8403acf41" title="link1" target="//@resources.8">
+      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:1a821776-7886-4cb4-8b80-46a8403acf41"/>
+      <attributes name="occi.core.title" value="link1"/>
+    </links>
+    <links xsi:type="placement:Placementlink" id="urn:uuid:ff7019e4-a9dc-48dc-83c3-ab77714a25f5" title="link2" target="//@resources.11">
+      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:ff7019e4-a9dc-48dc-83c3-ab77714a25f5"/>
+      <attributes name="occi.core.title" value="link2"/>
+    </links>
+  </resources>
+  <resources xsi:type="monitoring:Resultprovider" id="urn:uuid:588f705e-5279-4847-9337-846af2c86973" title="Resultprovider" rlinks="//@resources.15/@links.1">
+    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='resultprovider']"/>
+    <attributes name="occi.core.id" value="urn:uuid:588f705e-5279-4847-9337-846af2c86973"/>
+    <attributes name="occi.core.title" value="Resultprovider"/>
+    <parts mixin="//@mixins.7"/>
+    <parts xsi:type="monitoring:Occiresultprovider">
+      <mixin href="http://schemas.ugoe.cs.rwm/monitoring#//@mixins[term='occiresultprovider']"/>
+      <attributes name="result.provider.endpoint" value="192.168.35.45:8080"/>
+    </parts>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:9551c357-59f8-4ac1-8c85-0e886e206b83" title="link1" target="//@resources.13">
+      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:9551c357-59f8-4ac1-8c85-0e886e206b83"/>
+      <attributes name="occi.core.title" value="link1"/>
+    </links>
+    <links xsi:type="placement:Placementlink" id="urn:uuid:275b5bce-084c-46f0-88bc-1f6f31bf3618" title="link2" target="//@resources.11">
+      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:275b5bce-084c-46f0-88bc-1f6f31bf3618"/>
+      <attributes name="occi.core.title" value="link2"/>
+    </links>
+  </resources>
+  <resources xsi:type="monitoring:Sensor" id="urn:uuid:efb0f50a-7a7c-4153-b939-4846d6554dbc" title="Sensor" occiAppStateMessage="">
+    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='sensor']"/>
+    <attributes name="occi.core.title" value="Sensor"/>
+    <attributes name="occi.core.id" value="urn:uuid:efb0f50a-7a7c-4153-b939-4846d6554dbc"/>
+    <attributes name="occi.app.state.message" value=""/>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:04cf6483-706d-4a2a-9114-9918ab2bb52b" title="link1" target="//@resources.8">
+      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:04cf6483-706d-4a2a-9114-9918ab2bb52b"/>
+      <attributes name="occi.core.title" value="link1"/>
+    </links>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:9c604867-3135-4fa1-af9e-2bb11018ff5b" title="link2" target="//@resources.14">
+      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:9c604867-3135-4fa1-af9e-2bb11018ff5b"/>
+      <attributes name="occi.core.title" value="link2"/>
+    </links>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:93f08e31-f350-42b7-a73b-c139eba4a8e4" title="link3" target="//@resources.13">
+      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:93f08e31-f350-42b7-a73b-c139eba4a8e4"/>
+      <attributes name="occi.core.title" value="link3"/>
+    </links>
+    <links xsi:type="monitoring:Monitorableproperty" id="urn:uuid:ba16f4ee-1601-4192-a259-eae4274aed73" title="MEM Monitoring" location="" target="//@resources.4" monitoringProperty="Mem" monitoringResult="">
+      <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='monitorableproperty']"/>
+      <attributes name="occi.core.title" value="MEM Monitoring"/>
+      <attributes name="occi.core.id" value="urn:uuid:ba16f4ee-1601-4192-a259-eae4274aed73"/>
+      <attributes name="monitoring.property" value="Mem"/>
+    </links>
+  </resources>
   <mixins name="hJob" scheme="http://schemas.modmacao.org/usermixins#" title="Hjob"/>
   <mixins name="hMaster" scheme="http://schemas.modmacao.org/usermixins#" title="HMaster"/>
   <mixins name="hWorker" scheme="http://schemas.modmacao.org/usermixins#" title="HWorker"/>
   <mixins name="CPUGatherer" scheme="http://schemas.modmacao.org/usermixins#" title="CPUGatherer"/>
   <mixins name="CPUProcessor" scheme="http://schemas.modmacao.org/usermixins#" title="CPUProcessor"/>
   <mixins name="CPUPublisher" scheme="http://schemas.modmacao.org/usermixins#" title="CPUPublisher"/>
+  <mixins name="MemProcessor" scheme="http://schemas.modmacao.org/usermixins#" title="MemProcessor"/>
+  <mixins name="MemPublisher" scheme="http://schemas.modmacao.org/usermixins#" title="MemPublisher"/>
 </occi:Configuration>
diff --git a/src/test/resources/roles/cpuprocessor/files/processor.sh b/src/test/resources/roles/cpuprocessor/files/processor.sh
index c823ae5163480c3c9644dd2280902d4b01759fbe..4ad171ab8e8bb901efd3765837614f1296723809 100755
--- a/src/test/resources/roles/cpuprocessor/files/processor.sh
+++ b/src/test/resources/roles/cpuprocessor/files/processor.sh
@@ -1,14 +1,14 @@
-#! /bin/sh
+#! /bin/bash
 
 avgCpu=0
 slept=0
 sequence=3
 times=3
 send=$(python -c "print $sequence*$times")
-url=http://192.168.35.28:61208/api/2/cpu/total
+url=http://$1:61208/api/2/cpu/total
 
 if [ -f ~/monitor.txt ]; then
-    echo "Removing previoud monitoring data"
+    echo "Removing previous monitoring data"
     rm monitor.txt
 fi
 
diff --git a/src/test/resources/roles/cpuprocessor/tasks/main.yml b/src/test/resources/roles/cpuprocessor/tasks/main.yml
index d95903d4ac061539dd9f88b4b56063b24aa724a5..51b21f295315b687aae5eb17764b22d5c04005b1 100644
--- a/src/test/resources/roles/cpuprocessor/tasks/main.yml
+++ b/src/test/resources/roles/cpuprocessor/tasks/main.yml
@@ -19,7 +19,7 @@
 - name: Start CPUProcessor
   block:
   - name: Execute processor script
-    command: start-stop-daemon --start --startas /home/ubuntu/processor.sh -m --pidfile /run/processor.pid -b
+    command: start-stop-daemon --start --startas /home/ubuntu/processor.sh 100.254.1.35 -m --pidfile /run/processor.pid -b
   when: task == "START"
   become_user: root
   
diff --git a/src/test/resources/roles/cpupublisher/files/publisher.sh b/src/test/resources/roles/cpupublisher/files/publisher.sh
index a66670c7df730db3e40a37758abaf4bfce259c22..45f116ba7999a10803edbebb9b82de6b5dcc049f 100644
--- a/src/test/resources/roles/cpupublisher/files/publisher.sh
+++ b/src/test/resources/roles/cpupublisher/files/publisher.sh
@@ -1,9 +1,21 @@
-#! /bin/sh
-
-threshold=80
+#! /bin/bash
+
+endpoint=$1
+propresource=$2
+propname=$3
+sensor=$4
+propid=$5
+thresholdCrit=90
+thresholdHigh=60
+thresholdMid=40
+thresholdLow=10
 monfile=~/monitor.txt
 sequence=3
 
+echo "Endpoint: $endpoint"
+echo "Resource: $propresource"
+echo "Name: $propname"
+
 if [! -f "$monfile" ]; then
     echo "Did not find file for monitoring: $monfile"
     sleep 10
@@ -22,18 +34,27 @@ while true; do
     val=$(tail -1 $monfile)
     echo "$val"
 
-    if [ $(echo "$val > $threshold" | bc ) = 1 ]; then
+    if [ $(echo "$val > $thresholdCrit" | bc ) = 1 ]; then
        state=Critical
+    elif [ $(echo "$val > $thresholdHigh" | bc ) = 1 ]; then
+       state=High
+    elif [ $(echo "$val > $thresholdMid" | bc ) = 1 ]; then
+       state=Mid
+    elif [ $(echo "$val > $thresholdLow" | bc ) = 1 ]; then
+       state=Low
     else
-       state=Cool
+       state=None
     fi
+    
 
     if [ "$oldstate" = "$state" ]; then
       echo "Nothing changed! Still in state $state"
     else
       echo "New state reached: $state"
       echo "Publishing new results"
+      curl -v -X PUT http://"$endpoint""$propid" -H 'Content-Type: text/occi'  -H 'Category: monitorableproperty; scheme="http://schemas.ugoe.cs.rwm/monitoring#"; class="kind"'  -H 'X-OCCI-Attribute:occi.core.source="'$sensor'",occi.core.target="'$propresource'", occi.core.title="monProp", monitoring.result="'$state'", monitoring.property="'$propname'"' 
       oldstate=$state
     fi
     sleep $sequence
 done
+
diff --git a/src/test/resources/roles/cpupublisher/tasks/main.yml b/src/test/resources/roles/cpupublisher/tasks/main.yml
index f9dd15157c5384ce5155b07d7734a11855e15c81..90492864213c1e695619016c0d47ec3a25b3e669 100644
--- a/src/test/resources/roles/cpupublisher/tasks/main.yml
+++ b/src/test/resources/roles/cpupublisher/tasks/main.yml
@@ -23,7 +23,7 @@
 - name: Start CPUPublisher
   block:
   - name: Execute publisher script
-    command: start-stop-daemon --start --startas /home/ubuntu/publisher.sh -m --pidfile /run/publisher.pid -b
+    command: start-stop-daemon --start --startas /home/ubuntu/publisher.sh {{ result_provider_endpoint }} {{ monitorable_property_target }} {{ monitorable_property_property }} {{ sensor }} {{ monitorable_property }} -m --pidfile /run/publisher.pid -b
   when: task == "START"
   become_user: root
   
@@ -36,6 +36,7 @@
 
 - name: Undeploy CPUPublisher
   block:
-  - debug: msg="Operation undeploy not implemented."
+  - debug: msg="To be implemented."
   when: task == "UNDEPLOY"
   become_user: root
+
diff --git a/src/test/resources/roles/mecoshark/defaults/main.yml b/src/test/resources/roles/mecoshark/defaults/main.yml
deleted file mode 100644
index 672d0f5d3949e64ffc2dc69b8f8d7990619ee81c..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mecoshark/defaults/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-# defaults file for pip
diff --git a/src/test/resources/roles/mecoshark/handlers/main.yml b/src/test/resources/roles/mecoshark/handlers/main.yml
deleted file mode 100644
index 03bcffc54748da1c510e19dc87476d874440eff1..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mecoshark/handlers/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-# handlers file for pip
diff --git a/src/test/resources/roles/mecoshark/tasks/main.yml b/src/test/resources/roles/mecoshark/tasks/main.yml
deleted file mode 100644
index bdcc2f2f08cd3ed3f44540919951728e3b2b15bc..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mecoshark/tasks/main.yml
+++ /dev/null
@@ -1,98 +0,0 @@
-- block:
-  - name: enable ubuntu group
-    group: name=ubuntu state=present
-  - name: enable ubuntu user
-    user: name=ubuntu state=present shell=/bin/bash
-
-  - name: Installing required packages
-    apt: pkg=python3-pip state=installed force=yes
-    become_user: root
-
-
-  - name: Installing required packages
-    apt: pkg=python3-cffi state=installed force=yes
-    become_user: root
-
-
-  - name: Installing required packages
-    apt: pkg=git state=installed force=yes
-    become_user: root
-
-
-  - name: Installing required packages
-    become_user: root
-    apt: pkg=openjdk-8-jre-headless state=installed
-
-  - name: Installing required packages
-    become_user: root
-    apt: pkg=unzip state=installed
-
-  - name: Creating mecoshark folder
-    file: path=~/mecoshark state=directory
-
-  - name: Clone mecoSHARK repository
-    git:
-     repo: 'https://github.com/smartshark/mecoSHARK.git'
-     dest: ~/mecoshark
-     clone: yes
-     update: no
-    
-  - name: Pip install mecoSHARK
-    shell: pip3 install https://github.com/smartshark/mecoSHARK/zipball/master --process-dependency-links
-
-  - name: Upload sourcemeter
-    unarchive:
-      src: SourceMeter-8.2.0-x64-linux.tgz
-      dest: ~/
-      
-  when: task == "DEPLOY"
-  remote_user: "ubuntu"
-  become_user: ubuntu
-
-- block:
-  - name: Set JAVA HOME
-    become_user: root
-    lineinfile: 
-      dest: /etc/environment 
-      state: present 
-      regexp: '^JAVA_HOME'
-      line: 'JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64'
-
-  - name: Set LC_ALL
-    become_user: root
-    lineinfile: 
-      dest: /etc/environment 
-      state: present 
-      regexp: '^LC_ALL'
-      line: 'LC_ALL=en_US.UTF-8'
-
-  - name: Set LANG
-    become_user: root
-    lineinfile: 
-      dest: /etc/environment 
-      state: present 
-      regexp: '^LANG'
-      line: 'LANG=en_US.UTF-8'
-
-  - name: add /home/ubuntu/mecoshark/external/sloccount2.26 to path
-    become_user: root
-    lineinfile:
-     dest: /etc/environment
-     state: present
-     backrefs: yes
-     regexp: 'PATH=(["]*)((?!.*?/home/ubuntu/mecoshark/external/sloccount2.26).*?)(["]*)$'
-     line: 'PATH=\1\2:/home/ubuntu/mecoshark/external/sloccount2.26\3'
-
-  - name: Move sourcemeter
-    shell: cp -r /home/ubuntu/SourceMeter-8.2.0-x64-linux/ /home/ubuntu/mecoshark/external/sourcemeter/
-    
-  when: task == "CONFIGURE"
-  remote_user: ubuntu
-  become_user: "ubuntu"
- 
-- block:
-   - name: Test mecoSHARK
-     shell: echo "python3.6 ~/mecoshark/setup.py test"
-  when: task == "START"
-  remote_user: ubuntu
-  become_user: "ubuntu"
diff --git a/src/test/resources/roles/mecoshark/vars/main.yml b/src/test/resources/roles/mecoshark/vars/main.yml
deleted file mode 100644
index ec5619103c8e29013a93f20f461301c748f83c93..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mecoshark/vars/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-# vars file for pip
diff --git a/src/test/resources/roles/mecosharkjob/defaults/main.yml b/src/test/resources/roles/mecosharkjob/defaults/main.yml
deleted file mode 100644
index 334c04601846cc2cd5413bd72e70e6a613e02023..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mecosharkjob/defaults/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-# defaults file for vcsshark
diff --git a/src/test/resources/roles/mecosharkjob/handlers/main.yml b/src/test/resources/roles/mecosharkjob/handlers/main.yml
deleted file mode 100644
index c0feb823f5cb0b7edf3b99d28a363a4adb2a5917..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mecosharkjob/handlers/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-# handlers file for vcsshark
diff --git a/src/test/resources/roles/mecosharkjob/tasks/main.yml b/src/test/resources/roles/mecosharkjob/tasks/main.yml
deleted file mode 100644
index 597ac8f3647a2c01e2b067c6828477744a6d66c4..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mecosharkjob/tasks/main.yml
+++ /dev/null
@@ -1,32 +0,0 @@
----
-# tasks file for vcsshark
-- block:
-  - name: enable ubuntu group
-    group: name=ubuntu state=present
-
-  - name: enable ubuntu user
-    user: name=ubuntu state=present shell=/bin/bash
-
-  - name: Deploy mecoSHARK Job
-    shell: echo "Insert part for deployment here."
-  when: task == "DEPLOY"
-  remote_user: ubuntu
-  become_user: ubuntu
-
-- block:
-  - name: Executing help as check
-    shell: python3.6 ~/mecoshark/main.py --help
-
-  - name: Create outdir
-    file: path={{ tempdirpath }} state=directory
-
-  when: task == "CONFIGURE"
-  remote_user: ubuntu
-  become_user: ubuntu
- 
-- block:
-  - name: Start mecoSHARK
-    shell: python3.6 ~/mecoshark/main.py -i ~/{{ projectname }} --db-database {{ mongodb }} -o {{ tempdirpath }} -r {{ revision }}  -u {{ projectrepo }}
-  when: task == "START"
-  become_user: "ubuntu"
-  remote_user: ubuntu
diff --git a/src/test/resources/roles/mecosharkjob/tests/test.yml b/src/test/resources/roles/mecosharkjob/tests/test.yml
deleted file mode 100644
index 1cada8756ea6df9f039deff0f74baf523d039528..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mecosharkjob/tests/test.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-- hosts: localhost
-  remote_user: root
-  roles:
-    - vcsshark
diff --git a/src/test/resources/roles/mecosharkjob/vars/main.yml b/src/test/resources/roles/mecosharkjob/vars/main.yml
deleted file mode 100644
index 681202b0e8d16621e7a16c37bc249df824690c61..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mecosharkjob/vars/main.yml
+++ /dev/null
@@ -1,10 +0,0 @@
----
-# vars file for vcsshark
-projectrepo: https://github.com/openintents/safe.git
-#https://github.com/checkstyle/checkstyle.git
-projectname: safe
-#checkstyle
-mongodb: vcsshark
-mongolocation: localhost
-tempdirpath: ~/temp
-revision: f582d1017be3a2df16ca64fce38a97416a6cbad7
diff --git a/src/test/resources/roles/memeshark/README.md b/src/test/resources/roles/memeshark/README.md
deleted file mode 100644
index 225dd44b9fc5b3abff7e9c68ff9e91d505cdd5f0..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memeshark/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-Role Name
-=========
-
-A brief description of the role goes here.
-
-Requirements
-------------
-
-Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
-
-Role Variables
---------------
-
-A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
-
-Dependencies
-------------
-
-A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
-
-Example Playbook
-----------------
-
-Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
-
-    - hosts: servers
-      roles:
-         - { role: username.rolename, x: 42 }
-
-License
--------
-
-BSD
-
-Author Information
-------------------
-
-An optional section for the role authors to include contact information, or a website (HTML is not allowed).
diff --git a/src/test/resources/roles/memeshark/defaults/main.yml b/src/test/resources/roles/memeshark/defaults/main.yml
deleted file mode 100644
index 672d0f5d3949e64ffc2dc69b8f8d7990619ee81c..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memeshark/defaults/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-# defaults file for pip
diff --git a/src/test/resources/roles/memeshark/handlers/main.yml b/src/test/resources/roles/memeshark/handlers/main.yml
deleted file mode 100644
index 03bcffc54748da1c510e19dc87476d874440eff1..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memeshark/handlers/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-# handlers file for pip
diff --git a/src/test/resources/roles/memeshark/meta/main.yml b/src/test/resources/roles/memeshark/meta/main.yml
deleted file mode 100644
index 0a147082ea5084e910650dfbf9a9f0803931b6cb..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memeshark/meta/main.yml
+++ /dev/null
@@ -1,246 +0,0 @@
-galaxy_info:
-  author: your name
-  description: 
-  company: your company (optional)
-  
-  # If the issue tracker for your role is not on github, uncomment the
-  # next line and provide a value
-  # issue_tracker_url: http://example.com/issue/tracker
-  
-  # Some suggested licenses:
-  # - BSD (default)
-  # - MIT
-  # - GPLv2
-  # - GPLv3
-  # - Apache
-  # - CC-BY
-  license: license (GPLv2, CC-BY, etc)
-  
-  min_ansible_version: 1.2
-
-  # Optionally specify the branch Galaxy will use when accessing the GitHub
-  # repo for this role. During role install, if no tags are available,
-  # Galaxy will use this branch. During import Galaxy will access files on
-  # this branch. If travis integration is cofigured, only notification for this
-  # branch will be accepted. Otherwise, in all cases, the repo's default branch
-  # (usually master) will be used.
-  #github_branch:
-  
-  #
-  # Below are all platforms currently available. Just uncomment
-  # the ones that apply to your role. If you don't see your
-  # platform on this list, let us know and we'll get it added!
-  #
-  #platforms:
-  #- name: OpenBSD
-  #  versions:
-  #  - all
-  #  - 5.6
-  #  - 5.7
-  #  - 5.8
-  #  - 5.9
-  #  - 6.0
-  #  - 6.1
-  #  - 6.2
-  #- name: Fedora
-  #  versions:
-  #  - all
-  #  - 16
-  #  - 17
-  #  - 18
-  #  - 19
-  #  - 20
-  #  - 21
-  #  - 22
-  #  - 23
-  #  - 24
-  #  - 25
-  #  - 26
-  #  - 27
-  #- name: DellOS
-  #  versions:
-  #  - all
-  #  - 10
-  #  - 6
-  #  - 9
-  #- name: MacOSX
-  #  versions:
-  #  - all
-  #  - 10.10
-  #  - 10.11
-  #  - 10.12
-  #  - 10.7
-  #  - 10.8
-  #  - 10.9
-  #- name: Synology
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Junos
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Cumulus
-  #  versions:
-  #  - all
-  #  - 2.5
-  #  - 3.0
-  #  - 3.1
-  #  - 3.2
-  #  - 3.3
-  #  - 3.4
-  #  - 3.5
-  #- name: GenericBSD
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Void Linux
-  #  versions:
-  #  - all
-  #  - any
-  #- name: GenericLinux
-  #  versions:
-  #  - all
-  #  - any
-  #- name: NXOS
-  #  versions:
-  #  - all
-  #  - any
-  #- name: macOS
-  #  versions:
-  #  - all
-  #  - Sierra
-  #- name: IOS
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Amazon
-  #  versions:
-  #  - all
-  #  - 2013.03
-  #  - 2013.09
-  #  - 2016.03
-  #  - 2016.09
-  #- name: ArchLinux
-  #  versions:
-  #  - all
-  #  - any
-  #- name: FreeBSD
-  #  versions:
-  #  - all
-  #  - 10.0
-  #  - 10.1
-  #  - 10.2
-  #  - 10.3
-  #  - 10.4
-  #  - 11.0
-  #  - 11.1
-  #  - 8.0
-  #  - 8.1
-  #  - 8.2
-  #  - 8.3
-  #  - 8.4
-  #  - 9.0
-  #  - 9.1
-  #  - 9.1
-  #  - 9.2
-  #  - 9.3
-  #- name: Ubuntu
-  #  versions:
-  #  - all
-  #  - artful
-  #  - bionic
-  #  - lucid
-  #  - maverick
-  #  - natty
-  #  - oneiric
-  #  - precise
-  #  - quantal
-  #  - raring
-  #  - saucy
-  #  - trusty
-  #  - utopic
-  #  - vivid
-  #  - wily
-  #  - xenial
-  #  - yakkety
-  #  - zesty
-  #- name: Debian
-  #  versions:
-  #  - all
-  #  - buster
-  #  - etch
-  #  - jessie
-  #  - lenny
-  #  - sid
-  #  - squeeze
-  #  - stretch
-  #  - wheezy
-  #- name: Alpine
-  #  versions:
-  #  - all
-  #  - any
-  #- name: EL
-  #  versions:
-  #  - all
-  #  - 5
-  #  - 6
-  #  - 7
-  #- name: Windows
-  #  versions:
-  #  - all
-  #  - 2012R2
-  #- name: SmartOS
-  #  versions:
-  #  - all
-  #  - any
-  #- name: opensuse
-  #  versions:
-  #  - all
-  #  - 12.1
-  #  - 12.2
-  #  - 12.3
-  #  - 13.1
-  #  - 13.2
-  #- name: SLES
-  #  versions:
-  #  - all
-  #  - 10SP3
-  #  - 10SP4
-  #  - 11
-  #  - 11SP1
-  #  - 11SP2
-  #  - 11SP3
-  #  - 11SP4
-  #  - 12
-  #  - 12SP1
-  #- name: GenericUNIX
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Solaris
-  #  versions:
-  #  - all
-  #  - 10
-  #  - 11.0
-  #  - 11.1
-  #  - 11.2
-  #  - 11.3
-  #- name: eos
-  #  versions:
-  #  - all
-  #  - Any
-  
-  galaxy_tags: []
-    # List tags for your role here, one per line. A tag is
-    # a keyword that describes and categorizes the role.
-    # Users find roles by searching for tags. Be sure to
-    # remove the '[]' above if you add tags to this list.
-    #
-    # NOTE: A tag is limited to a single word comprised of
-    # alphanumeric characters. Maximum 20 tags per role.
-
-dependencies: []
-  # List your role dependencies here, one per line.
-  # Be sure to remove the '[]' above if you add dependencies
-  # to this list.
\ No newline at end of file
diff --git a/src/test/resources/roles/memeshark/tasks/main.yml b/src/test/resources/roles/memeshark/tasks/main.yml
deleted file mode 100644
index 02ea9b5c793ccf95a49f2cad59ddf8f37b0024a4..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memeshark/tasks/main.yml
+++ /dev/null
@@ -1,54 +0,0 @@
-- block:
-  - name: enable ubuntu group
-    group: name=ubuntu state=present
-  - name: enable ubuntu user
-    user: name=ubuntu state=present shell=/bin/bash
-
-  - name: Installing required packages
-    apt: pkg=python3-pip state=installed force=yes
-    become_user: root
-
-
-  - name: Installing required packages
-    apt: pkg=python3-cffi state=installed force=yes
-    become_user: root
-
-  - name: Installing required packages
-    apt: pkg=git state=installed force=yes
-    become_user: root
-
-  - name: Installing required packages
-    apt: pkg=openjdk-8-jre-headless state=installed
-    become_user: root
-
-  - name: Creating memeshark folder
-    file: path=~/memeshark state=directory
-
-  - name: Clone memeSHARK repository
-    git:
-     repo: 'https://github.com/smartshark/memeSHARK.git'
-     dest: ~/memeshark
-     clone: yes
-     update: no
-    
-  - name: Pip install memeSHARK
-    shell: pip3 install https://github.com/smartshark/memeSHARK/zipball/master --process-dependency-links
-      
-  when: task == "DEPLOY"
-  remote_user: "ubuntu"
-  become_user: ubuntu
-
-- block:
-  - name: Configure memeSHARK
-    shell: echo "Configure"
-    
-  when: task == "CONFIGURE"
-  remote_user: ubuntu
-  become_user: "ubuntu"
- 
-- block:
-   - name: Test mecoSHARK
-     shell: echo "python3.6 ~/memeshark/main.py"
-  when: task == "START"
-  remote_user: ubuntu
-  become_user: "ubuntu"
diff --git a/src/test/resources/roles/memeshark/tests/inventory b/src/test/resources/roles/memeshark/tests/inventory
deleted file mode 100644
index d18580b3c364645735235c667c2a546e28c273bb..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memeshark/tests/inventory
+++ /dev/null
@@ -1 +0,0 @@
-localhost
\ No newline at end of file
diff --git a/src/test/resources/roles/memeshark/vars/main.yml b/src/test/resources/roles/memeshark/vars/main.yml
deleted file mode 100644
index ec5619103c8e29013a93f20f461301c748f83c93..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memeshark/vars/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-# vars file for pip
diff --git a/src/test/resources/roles/memesharkjob/README.md b/src/test/resources/roles/memesharkjob/README.md
deleted file mode 100644
index 225dd44b9fc5b3abff7e9c68ff9e91d505cdd5f0..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memesharkjob/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-Role Name
-=========
-
-A brief description of the role goes here.
-
-Requirements
-------------
-
-Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
-
-Role Variables
---------------
-
-A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
-
-Dependencies
-------------
-
-A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
-
-Example Playbook
-----------------
-
-Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
-
-    - hosts: servers
-      roles:
-         - { role: username.rolename, x: 42 }
-
-License
--------
-
-BSD
-
-Author Information
-------------------
-
-An optional section for the role authors to include contact information, or a website (HTML is not allowed).
diff --git a/src/test/resources/roles/memesharkjob/defaults/main.yml b/src/test/resources/roles/memesharkjob/defaults/main.yml
deleted file mode 100644
index 334c04601846cc2cd5413bd72e70e6a613e02023..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memesharkjob/defaults/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-# defaults file for vcsshark
diff --git a/src/test/resources/roles/memesharkjob/handlers/main.yml b/src/test/resources/roles/memesharkjob/handlers/main.yml
deleted file mode 100644
index c0feb823f5cb0b7edf3b99d28a363a4adb2a5917..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memesharkjob/handlers/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-# handlers file for vcsshark
diff --git a/src/test/resources/roles/memesharkjob/meta/main.yml b/src/test/resources/roles/memesharkjob/meta/main.yml
deleted file mode 100644
index 0a147082ea5084e910650dfbf9a9f0803931b6cb..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memesharkjob/meta/main.yml
+++ /dev/null
@@ -1,246 +0,0 @@
-galaxy_info:
-  author: your name
-  description: 
-  company: your company (optional)
-  
-  # If the issue tracker for your role is not on github, uncomment the
-  # next line and provide a value
-  # issue_tracker_url: http://example.com/issue/tracker
-  
-  # Some suggested licenses:
-  # - BSD (default)
-  # - MIT
-  # - GPLv2
-  # - GPLv3
-  # - Apache
-  # - CC-BY
-  license: license (GPLv2, CC-BY, etc)
-  
-  min_ansible_version: 1.2
-
-  # Optionally specify the branch Galaxy will use when accessing the GitHub
-  # repo for this role. During role install, if no tags are available,
-  # Galaxy will use this branch. During import Galaxy will access files on
-  # this branch. If travis integration is cofigured, only notification for this
-  # branch will be accepted. Otherwise, in all cases, the repo's default branch
-  # (usually master) will be used.
-  #github_branch:
-  
-  #
-  # Below are all platforms currently available. Just uncomment
-  # the ones that apply to your role. If you don't see your
-  # platform on this list, let us know and we'll get it added!
-  #
-  #platforms:
-  #- name: OpenBSD
-  #  versions:
-  #  - all
-  #  - 5.6
-  #  - 5.7
-  #  - 5.8
-  #  - 5.9
-  #  - 6.0
-  #  - 6.1
-  #  - 6.2
-  #- name: Fedora
-  #  versions:
-  #  - all
-  #  - 16
-  #  - 17
-  #  - 18
-  #  - 19
-  #  - 20
-  #  - 21
-  #  - 22
-  #  - 23
-  #  - 24
-  #  - 25
-  #  - 26
-  #  - 27
-  #- name: DellOS
-  #  versions:
-  #  - all
-  #  - 10
-  #  - 6
-  #  - 9
-  #- name: MacOSX
-  #  versions:
-  #  - all
-  #  - 10.10
-  #  - 10.11
-  #  - 10.12
-  #  - 10.7
-  #  - 10.8
-  #  - 10.9
-  #- name: Synology
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Junos
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Cumulus
-  #  versions:
-  #  - all
-  #  - 2.5
-  #  - 3.0
-  #  - 3.1
-  #  - 3.2
-  #  - 3.3
-  #  - 3.4
-  #  - 3.5
-  #- name: GenericBSD
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Void Linux
-  #  versions:
-  #  - all
-  #  - any
-  #- name: GenericLinux
-  #  versions:
-  #  - all
-  #  - any
-  #- name: NXOS
-  #  versions:
-  #  - all
-  #  - any
-  #- name: macOS
-  #  versions:
-  #  - all
-  #  - Sierra
-  #- name: IOS
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Amazon
-  #  versions:
-  #  - all
-  #  - 2013.03
-  #  - 2013.09
-  #  - 2016.03
-  #  - 2016.09
-  #- name: ArchLinux
-  #  versions:
-  #  - all
-  #  - any
-  #- name: FreeBSD
-  #  versions:
-  #  - all
-  #  - 10.0
-  #  - 10.1
-  #  - 10.2
-  #  - 10.3
-  #  - 10.4
-  #  - 11.0
-  #  - 11.1
-  #  - 8.0
-  #  - 8.1
-  #  - 8.2
-  #  - 8.3
-  #  - 8.4
-  #  - 9.0
-  #  - 9.1
-  #  - 9.1
-  #  - 9.2
-  #  - 9.3
-  #- name: Ubuntu
-  #  versions:
-  #  - all
-  #  - artful
-  #  - bionic
-  #  - lucid
-  #  - maverick
-  #  - natty
-  #  - oneiric
-  #  - precise
-  #  - quantal
-  #  - raring
-  #  - saucy
-  #  - trusty
-  #  - utopic
-  #  - vivid
-  #  - wily
-  #  - xenial
-  #  - yakkety
-  #  - zesty
-  #- name: Debian
-  #  versions:
-  #  - all
-  #  - buster
-  #  - etch
-  #  - jessie
-  #  - lenny
-  #  - sid
-  #  - squeeze
-  #  - stretch
-  #  - wheezy
-  #- name: Alpine
-  #  versions:
-  #  - all
-  #  - any
-  #- name: EL
-  #  versions:
-  #  - all
-  #  - 5
-  #  - 6
-  #  - 7
-  #- name: Windows
-  #  versions:
-  #  - all
-  #  - 2012R2
-  #- name: SmartOS
-  #  versions:
-  #  - all
-  #  - any
-  #- name: opensuse
-  #  versions:
-  #  - all
-  #  - 12.1
-  #  - 12.2
-  #  - 12.3
-  #  - 13.1
-  #  - 13.2
-  #- name: SLES
-  #  versions:
-  #  - all
-  #  - 10SP3
-  #  - 10SP4
-  #  - 11
-  #  - 11SP1
-  #  - 11SP2
-  #  - 11SP3
-  #  - 11SP4
-  #  - 12
-  #  - 12SP1
-  #- name: GenericUNIX
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Solaris
-  #  versions:
-  #  - all
-  #  - 10
-  #  - 11.0
-  #  - 11.1
-  #  - 11.2
-  #  - 11.3
-  #- name: eos
-  #  versions:
-  #  - all
-  #  - Any
-  
-  galaxy_tags: []
-    # List tags for your role here, one per line. A tag is
-    # a keyword that describes and categorizes the role.
-    # Users find roles by searching for tags. Be sure to
-    # remove the '[]' above if you add tags to this list.
-    #
-    # NOTE: A tag is limited to a single word comprised of
-    # alphanumeric characters. Maximum 20 tags per role.
-
-dependencies: []
-  # List your role dependencies here, one per line.
-  # Be sure to remove the '[]' above if you add dependencies
-  # to this list.
\ No newline at end of file
diff --git a/src/test/resources/roles/memesharkjob/tasks/main.yml b/src/test/resources/roles/memesharkjob/tasks/main.yml
deleted file mode 100644
index f4a6dea71ac8bb01947e40ecc9ac8499f6dce5e9..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memesharkjob/tasks/main.yml
+++ /dev/null
@@ -1,28 +0,0 @@
----
-# tasks file for vcsshark
-- block:
-  - name: enable ubuntu group
-    group: name=ubuntu state=present
-
-  - name: enable ubuntu user
-    user: name=ubuntu state=present shell=/bin/bash
-
-  - name: Deploy memeSHARK Job
-    shell: echo "Insert part for deployment here."
-  when: task == "DEPLOY"
-  remote_user: ubuntu
-  become_user: ubuntu
-
-- block:
-  - name: Executing check
-    shell: echo "python3.6 ~/memeshark/memeshark.py"
-  when: task == "CONFIGURE"
-  remote_user: ubuntu
-  become_user: ubuntu
- 
-- block:
-  - name: Start memeSHARK
-    shell: python3.6 ~/memeshark/main.py -n {{ projectname }} -D {{ mongodb }} -H {{ mongolocation }} -p 27017
-  when: task == "START"
-  become_user: "ubuntu"
-  remote_user: ubuntu
diff --git a/src/test/resources/roles/memesharkjob/tests/inventory b/src/test/resources/roles/memesharkjob/tests/inventory
deleted file mode 100644
index d18580b3c364645735235c667c2a546e28c273bb..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memesharkjob/tests/inventory
+++ /dev/null
@@ -1 +0,0 @@
-localhost
\ No newline at end of file
diff --git a/src/test/resources/roles/memesharkjob/tests/test.yml b/src/test/resources/roles/memesharkjob/tests/test.yml
deleted file mode 100644
index 1cada8756ea6df9f039deff0f74baf523d039528..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memesharkjob/tests/test.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-- hosts: localhost
-  remote_user: root
-  roles:
-    - vcsshark
diff --git a/src/test/resources/roles/memesharkjob/vars/main.yml b/src/test/resources/roles/memesharkjob/vars/main.yml
deleted file mode 100644
index 769304137376957497316093d5cfed3b0800f33a..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/memesharkjob/vars/main.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-# vars file for vcsshark
-projectpath: ~/safe
-projectname: safe
-#checkstyle
-mongodb: vcsshark
-mongolocation: localhost
diff --git a/src/test/resources/roles/memprocessor/.travis.yml b/src/test/resources/roles/memprocessor/.travis.yml
new file mode 100644
index 0000000000000000000000000000000000000000..36bbf6208cfd42ac91bfbe7f9126bc9044e186c6
--- /dev/null
+++ b/src/test/resources/roles/memprocessor/.travis.yml
@@ -0,0 +1,29 @@
+---
+language: python
+python: "2.7"
+
+# Use the new container infrastructure
+sudo: false
+
+# Install ansible
+addons:
+  apt:
+    packages:
+    - python-pip
+
+install:
+  # Install ansible
+  - pip install ansible
+
+  # Check ansible version
+  - ansible --version
+
+  # Create ansible.cfg with correct roles_path
+  - printf '[defaults]\nroles_path=../' >ansible.cfg
+
+script:
+  # Basic role syntax check
+  - ansible-playbook tests/test.yml -i tests/inventory --syntax-check
+
+notifications:
+  webhooks: https://galaxy.ansible.com/api/v1/notifications/
\ No newline at end of file
diff --git a/src/test/resources/roles/mecoshark/README.md b/src/test/resources/roles/memprocessor/README.md
similarity index 100%
rename from src/test/resources/roles/mecoshark/README.md
rename to src/test/resources/roles/memprocessor/README.md
diff --git a/src/test/resources/roles/memprocessor/defaults/main.yml b/src/test/resources/roles/memprocessor/defaults/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0642dc2a280e95b9fdf8ccb27e8a7931116d5a2e
--- /dev/null
+++ b/src/test/resources/roles/memprocessor/defaults/main.yml
@@ -0,0 +1,2 @@
+---
+# defaults file for java
diff --git a/src/test/resources/roles/memprocessor/files/memprocessor.sh b/src/test/resources/roles/memprocessor/files/memprocessor.sh
new file mode 100644
index 0000000000000000000000000000000000000000..e364673894b2d6aa477da8556a7de8d8e7beea5e
--- /dev/null
+++ b/src/test/resources/roles/memprocessor/files/memprocessor.sh
@@ -0,0 +1,33 @@
+#! /bin/bash
+
+avgMem=0
+slept=0
+sequence=3
+times=3
+send=$(python -c "print $sequence*$times")
+url=http://$1:61208/api/2/mem/percent
+
+if [ -f ~/memmonitor.txt ]; then
+    echo "Removing previous monitoring data"
+    rm monitor.txt
+fi
+
+echo "Starting monitoring script"
+echo "Requesting $url every $sequence seconds aggregating after $times times!"
+
+
+while true; do
+    mem=$(curl -s $url | awk '{print $2}')
+    cutmem=$(echo "$mem" | rev | cut -c 2- | rev)
+    sumMem=$(python -c "print $sumMem+$cutmem")
+    echo "Current Mem: $cutmem"
+    sleep $sequence
+    slept=$(($slept+$sequence))
+    if [ "$slept" = $send ]; then
+       mid=$(python -c "print $sumMem/$times")
+       echo "Aggregate Mem: $mid"
+       echo $mid >> ~/memmonitor.txt
+       slept=0
+       sumMem=0
+    fi
+done
diff --git a/src/test/resources/roles/memprocessor/handlers/main.yml b/src/test/resources/roles/memprocessor/handlers/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6e163da17e02539d20ee1de12fd5a4434e3d235f
--- /dev/null
+++ b/src/test/resources/roles/memprocessor/handlers/main.yml
@@ -0,0 +1,2 @@
+---
+# handlers file for java
diff --git a/src/test/resources/roles/mecoshark/meta/main.yml b/src/test/resources/roles/memprocessor/meta/main.yml
similarity index 100%
rename from src/test/resources/roles/mecoshark/meta/main.yml
rename to src/test/resources/roles/memprocessor/meta/main.yml
diff --git a/src/test/resources/roles/memprocessor/tasks/main.yml b/src/test/resources/roles/memprocessor/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..08c606e4a141f1f91e393a5e9d0fd98577f3fe70
--- /dev/null
+++ b/src/test/resources/roles/memprocessor/tasks/main.yml
@@ -0,0 +1,37 @@
+- name: Deploy CPUProcessor
+  block:	
+  - name: Upload MemProcessor Script
+    copy:
+      src: memprocessor.sh
+      dest: /home/ubuntu/memprocessor.sh
+  when: task == "DEPLOY"
+  become_user: root
+  
+- name: Configure MemProcessor
+  block:
+  - name: Make script executable
+    file:
+      path: /home/ubuntu/memprocessor.sh
+      mode: 0777
+  when: task == "CONFIGURE"
+  become_user: root
+  
+- name: Start MemProcessor
+  block:
+  - name: Execute processor script
+    command: start-stop-daemon --start --startas /home/ubuntu/memprocessor.sh 100.254.1.35 -m --pidfile /run/memprocessor.pid -b
+  when: task == "START"
+  become_user: root
+  
+- name: Stop MemProcessor
+  block:
+  - name: Stop processor script
+    command: start-stop-daemon --stop -m --pidfile /run/memprocessor.pid
+  when: task == "STOP"
+  become_user: root
+
+- name: Undeploy MemProcessor
+  block:
+  - debug: msg="Operation undeploy not implemented."
+  when: task == "UNDEPLOY"
+  become_user: root
diff --git a/src/test/resources/roles/mecoshark/tests/inventory b/src/test/resources/roles/memprocessor/tests/inventory
similarity index 100%
rename from src/test/resources/roles/mecoshark/tests/inventory
rename to src/test/resources/roles/memprocessor/tests/inventory
diff --git a/src/test/resources/roles/mecoshark/tests/test.yml b/src/test/resources/roles/memprocessor/tests/test.yml
similarity index 83%
rename from src/test/resources/roles/mecoshark/tests/test.yml
rename to src/test/resources/roles/memprocessor/tests/test.yml
index 3784b47046aa8a9d0e8348ffce64f5458d4c3222..4e3583045b405c931277c841b881b1b00e5da61c 100644
--- a/src/test/resources/roles/mecoshark/tests/test.yml
+++ b/src/test/resources/roles/memprocessor/tests/test.yml
@@ -2,4 +2,4 @@
 - hosts: localhost
   remote_user: root
   roles:
-    - pip
\ No newline at end of file
+    - java
\ No newline at end of file
diff --git a/src/test/resources/roles/memprocessor/vars/main.yml b/src/test/resources/roles/memprocessor/vars/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fe053733d8d97c5a3f923fa37f8d26a67d7e55cb
--- /dev/null
+++ b/src/test/resources/roles/memprocessor/vars/main.yml
@@ -0,0 +1,2 @@
+---
+# vars file for java
diff --git a/src/test/resources/roles/mempublisher/.travis.yml b/src/test/resources/roles/mempublisher/.travis.yml
new file mode 100644
index 0000000000000000000000000000000000000000..36bbf6208cfd42ac91bfbe7f9126bc9044e186c6
--- /dev/null
+++ b/src/test/resources/roles/mempublisher/.travis.yml
@@ -0,0 +1,29 @@
+---
+language: python
+python: "2.7"
+
+# Use the new container infrastructure
+sudo: false
+
+# Install ansible
+addons:
+  apt:
+    packages:
+    - python-pip
+
+install:
+  # Install ansible
+  - pip install ansible
+
+  # Check ansible version
+  - ansible --version
+
+  # Create ansible.cfg with correct roles_path
+  - printf '[defaults]\nroles_path=../' >ansible.cfg
+
+script:
+  # Basic role syntax check
+  - ansible-playbook tests/test.yml -i tests/inventory --syntax-check
+
+notifications:
+  webhooks: https://galaxy.ansible.com/api/v1/notifications/
\ No newline at end of file
diff --git a/src/test/resources/roles/mecosharkjob/README.md b/src/test/resources/roles/mempublisher/README.md
similarity index 100%
rename from src/test/resources/roles/mecosharkjob/README.md
rename to src/test/resources/roles/mempublisher/README.md
diff --git a/src/test/resources/roles/mempublisher/defaults/main.yml b/src/test/resources/roles/mempublisher/defaults/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0642dc2a280e95b9fdf8ccb27e8a7931116d5a2e
--- /dev/null
+++ b/src/test/resources/roles/mempublisher/defaults/main.yml
@@ -0,0 +1,2 @@
+---
+# defaults file for java
diff --git a/src/test/resources/roles/mempublisher/files/mempublisher.sh b/src/test/resources/roles/mempublisher/files/mempublisher.sh
new file mode 100644
index 0000000000000000000000000000000000000000..dbaab32e81521cbf8f7db4b152908fe08a4a52e1
--- /dev/null
+++ b/src/test/resources/roles/mempublisher/files/mempublisher.sh
@@ -0,0 +1,60 @@
+#! /bin/bash
+
+endpoint=$1
+propresource=$2
+propname=$3
+sensor=$4
+propid=$5
+thresholdCrit=90
+thresholdHigh=60
+thresholdMid=40
+thresholdLow=10
+monfile=~/memmonitor.txt
+sequence=3
+
+echo "Endpoint: $endpoint"
+echo "Resource: $propresource"
+echo "Name: $propname"
+
+if [! -f "$monfile" ]; then
+    echo "Did not find file for monitoring: $monfile"
+    sleep 10
+fi
+
+if [! -f "$monfile" ]; then
+    echo "Did not find file for monitoring: $monfile"
+    sleep 10
+fi
+
+echo "Starting publishing script"
+echo "Checking $monfile every $sequence seconds with threshold of $threshold!"
+
+
+while true; do
+    val=$(tail -1 $monfile)
+    echo "$val"
+
+    if [ $(echo "$val > $thresholdCrit" | bc ) = 1 ]; then
+       state=Critical
+    elif [ $(echo "$val > $thresholdHigh" | bc ) = 1 ]; then
+       state=High
+    elif [ $(echo "$val > $thresholdMid" | bc ) = 1 ]; then
+       state=Mid
+    elif [ $(echo "$val > $thresholdLow" | bc ) = 1 ]; then
+       state=Low
+    else
+       state=None
+    fi
+    
+
+    if [ "$oldstate" = "$state" ]; then
+      echo "Nothing changed! Still in state $state"
+    else
+      echo "New state reached: $state"
+      echo "Publishing new results"
+      curl -v -X PUT http://"$endpoint""$propid" -H 'Content-Type: text/occi'  -H 'Category: monitorableproperty; scheme="http://schemas.ugoe.cs.rwm/monitoring#"; class="kind"'  -H 'X-OCCI-Attribute:occi.core.source="'$sensor'",occi.core.target="'$propresource'", occi.core.title="monProp", monitoring.property="'$state'", monitoring.property.result="'$propname'"' 
+      oldstate=$state
+    fi
+    sleep $sequence
+done
+
diff --git a/src/test/resources/roles/mempublisher/handlers/main.yml b/src/test/resources/roles/mempublisher/handlers/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6e163da17e02539d20ee1de12fd5a4434e3d235f
--- /dev/null
+++ b/src/test/resources/roles/mempublisher/handlers/main.yml
@@ -0,0 +1,2 @@
+---
+# handlers file for java
diff --git a/src/test/resources/roles/mecosharkjob/meta/main.yml b/src/test/resources/roles/mempublisher/meta/main.yml
similarity index 100%
rename from src/test/resources/roles/mecosharkjob/meta/main.yml
rename to src/test/resources/roles/mempublisher/meta/main.yml
diff --git a/src/test/resources/roles/mempublisher/tasks/main.yml b/src/test/resources/roles/mempublisher/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..dee3b22cdafeb0705851e84ff04e6601bade7609
--- /dev/null
+++ b/src/test/resources/roles/mempublisher/tasks/main.yml
@@ -0,0 +1,42 @@
+- name: Deploy MemPublisher
+  block:	
+  - name: Install bc package
+    apt:
+      name: bc
+      state: installed
+  - name: Upload Publisher Script
+    copy:
+      src: mempublisher.sh
+      dest: /home/ubuntu/mempublisher.sh
+  when: task == "DEPLOY"
+  become_user: root
+  
+- name: Configure MemPublisher
+  block:
+  - name: Make script executable
+    file:
+      path: /home/ubuntu/mempublisher.sh
+      mode: 0777
+  when: task == "CONFIGURE"
+  become_user: root
+  
+- name: Start MemPublisher
+  block:
+  - name: Execute mempublisher script
+    command: start-stop-daemon --start --startas /home/ubuntu/mempublisher.sh {{ result_provider_endpoint }} {{ monitorable_property_target }} {{ monitorable_property_property }} {{ sensor }} {{ monitorable_property }} -m --pidfile /run/mempublisher.pid -b
+  when: task == "START"
+  become_user: root
+  
+- name: Stop MemPublisher
+  block:
+  - name: Stop mempublisher script
+    command: start-stop-daemon --stop -m --pidfile /run/mempublisher.pid
+  when: task == "STOP"
+  become_user: root
+
+- name: Undeploy MemPublisher
+  block:
+  - debug: msg="To be implemented."
+  when: task == "UNDEPLOY"
+  become_user: root
+
diff --git a/src/test/resources/roles/mecosharkjob/tests/inventory b/src/test/resources/roles/mempublisher/tests/inventory
similarity index 100%
rename from src/test/resources/roles/mecosharkjob/tests/inventory
rename to src/test/resources/roles/mempublisher/tests/inventory
diff --git a/src/test/resources/roles/memeshark/tests/test.yml b/src/test/resources/roles/mempublisher/tests/test.yml
similarity index 83%
rename from src/test/resources/roles/memeshark/tests/test.yml
rename to src/test/resources/roles/mempublisher/tests/test.yml
index 3784b47046aa8a9d0e8348ffce64f5458d4c3222..4e3583045b405c931277c841b881b1b00e5da61c 100644
--- a/src/test/resources/roles/memeshark/tests/test.yml
+++ b/src/test/resources/roles/mempublisher/tests/test.yml
@@ -2,4 +2,4 @@
 - hosts: localhost
   remote_user: root
   roles:
-    - pip
\ No newline at end of file
+    - java
\ No newline at end of file
diff --git a/src/test/resources/roles/mempublisher/vars/main.yml b/src/test/resources/roles/mempublisher/vars/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fe053733d8d97c5a3f923fa37f8d26a67d7e55cb
--- /dev/null
+++ b/src/test/resources/roles/mempublisher/vars/main.yml
@@ -0,0 +1,2 @@
+---
+# vars file for java
diff --git a/src/test/resources/roles/mongodb/README.md b/src/test/resources/roles/mongodb/README.md
deleted file mode 100644
index 225dd44b9fc5b3abff7e9c68ff9e91d505cdd5f0..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mongodb/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-Role Name
-=========
-
-A brief description of the role goes here.
-
-Requirements
-------------
-
-Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
-
-Role Variables
---------------
-
-A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
-
-Dependencies
-------------
-
-A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
-
-Example Playbook
-----------------
-
-Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
-
-    - hosts: servers
-      roles:
-         - { role: username.rolename, x: 42 }
-
-License
--------
-
-BSD
-
-Author Information
-------------------
-
-An optional section for the role authors to include contact information, or a website (HTML is not allowed).
diff --git a/src/test/resources/roles/mongodb/defaults/main.yml b/src/test/resources/roles/mongodb/defaults/main.yml
deleted file mode 100644
index 334c04601846cc2cd5413bd72e70e6a613e02023..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mongodb/defaults/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-# defaults file for vcsshark
diff --git a/src/test/resources/roles/mongodb/handlers/main.yml b/src/test/resources/roles/mongodb/handlers/main.yml
deleted file mode 100644
index c0feb823f5cb0b7edf3b99d28a363a4adb2a5917..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mongodb/handlers/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-# handlers file for vcsshark
diff --git a/src/test/resources/roles/mongodb/meta/main.yml b/src/test/resources/roles/mongodb/meta/main.yml
deleted file mode 100644
index 0a147082ea5084e910650dfbf9a9f0803931b6cb..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mongodb/meta/main.yml
+++ /dev/null
@@ -1,246 +0,0 @@
-galaxy_info:
-  author: your name
-  description: 
-  company: your company (optional)
-  
-  # If the issue tracker for your role is not on github, uncomment the
-  # next line and provide a value
-  # issue_tracker_url: http://example.com/issue/tracker
-  
-  # Some suggested licenses:
-  # - BSD (default)
-  # - MIT
-  # - GPLv2
-  # - GPLv3
-  # - Apache
-  # - CC-BY
-  license: license (GPLv2, CC-BY, etc)
-  
-  min_ansible_version: 1.2
-
-  # Optionally specify the branch Galaxy will use when accessing the GitHub
-  # repo for this role. During role install, if no tags are available,
-  # Galaxy will use this branch. During import Galaxy will access files on
-  # this branch. If travis integration is cofigured, only notification for this
-  # branch will be accepted. Otherwise, in all cases, the repo's default branch
-  # (usually master) will be used.
-  #github_branch:
-  
-  #
-  # Below are all platforms currently available. Just uncomment
-  # the ones that apply to your role. If you don't see your
-  # platform on this list, let us know and we'll get it added!
-  #
-  #platforms:
-  #- name: OpenBSD
-  #  versions:
-  #  - all
-  #  - 5.6
-  #  - 5.7
-  #  - 5.8
-  #  - 5.9
-  #  - 6.0
-  #  - 6.1
-  #  - 6.2
-  #- name: Fedora
-  #  versions:
-  #  - all
-  #  - 16
-  #  - 17
-  #  - 18
-  #  - 19
-  #  - 20
-  #  - 21
-  #  - 22
-  #  - 23
-  #  - 24
-  #  - 25
-  #  - 26
-  #  - 27
-  #- name: DellOS
-  #  versions:
-  #  - all
-  #  - 10
-  #  - 6
-  #  - 9
-  #- name: MacOSX
-  #  versions:
-  #  - all
-  #  - 10.10
-  #  - 10.11
-  #  - 10.12
-  #  - 10.7
-  #  - 10.8
-  #  - 10.9
-  #- name: Synology
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Junos
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Cumulus
-  #  versions:
-  #  - all
-  #  - 2.5
-  #  - 3.0
-  #  - 3.1
-  #  - 3.2
-  #  - 3.3
-  #  - 3.4
-  #  - 3.5
-  #- name: GenericBSD
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Void Linux
-  #  versions:
-  #  - all
-  #  - any
-  #- name: GenericLinux
-  #  versions:
-  #  - all
-  #  - any
-  #- name: NXOS
-  #  versions:
-  #  - all
-  #  - any
-  #- name: macOS
-  #  versions:
-  #  - all
-  #  - Sierra
-  #- name: IOS
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Amazon
-  #  versions:
-  #  - all
-  #  - 2013.03
-  #  - 2013.09
-  #  - 2016.03
-  #  - 2016.09
-  #- name: ArchLinux
-  #  versions:
-  #  - all
-  #  - any
-  #- name: FreeBSD
-  #  versions:
-  #  - all
-  #  - 10.0
-  #  - 10.1
-  #  - 10.2
-  #  - 10.3
-  #  - 10.4
-  #  - 11.0
-  #  - 11.1
-  #  - 8.0
-  #  - 8.1
-  #  - 8.2
-  #  - 8.3
-  #  - 8.4
-  #  - 9.0
-  #  - 9.1
-  #  - 9.1
-  #  - 9.2
-  #  - 9.3
-  #- name: Ubuntu
-  #  versions:
-  #  - all
-  #  - artful
-  #  - bionic
-  #  - lucid
-  #  - maverick
-  #  - natty
-  #  - oneiric
-  #  - precise
-  #  - quantal
-  #  - raring
-  #  - saucy
-  #  - trusty
-  #  - utopic
-  #  - vivid
-  #  - wily
-  #  - xenial
-  #  - yakkety
-  #  - zesty
-  #- name: Debian
-  #  versions:
-  #  - all
-  #  - buster
-  #  - etch
-  #  - jessie
-  #  - lenny
-  #  - sid
-  #  - squeeze
-  #  - stretch
-  #  - wheezy
-  #- name: Alpine
-  #  versions:
-  #  - all
-  #  - any
-  #- name: EL
-  #  versions:
-  #  - all
-  #  - 5
-  #  - 6
-  #  - 7
-  #- name: Windows
-  #  versions:
-  #  - all
-  #  - 2012R2
-  #- name: SmartOS
-  #  versions:
-  #  - all
-  #  - any
-  #- name: opensuse
-  #  versions:
-  #  - all
-  #  - 12.1
-  #  - 12.2
-  #  - 12.3
-  #  - 13.1
-  #  - 13.2
-  #- name: SLES
-  #  versions:
-  #  - all
-  #  - 10SP3
-  #  - 10SP4
-  #  - 11
-  #  - 11SP1
-  #  - 11SP2
-  #  - 11SP3
-  #  - 11SP4
-  #  - 12
-  #  - 12SP1
-  #- name: GenericUNIX
-  #  versions:
-  #  - all
-  #  - any
-  #- name: Solaris
-  #  versions:
-  #  - all
-  #  - 10
-  #  - 11.0
-  #  - 11.1
-  #  - 11.2
-  #  - 11.3
-  #- name: eos
-  #  versions:
-  #  - all
-  #  - Any
-  
-  galaxy_tags: []
-    # List tags for your role here, one per line. A tag is
-    # a keyword that describes and categorizes the role.
-    # Users find roles by searching for tags. Be sure to
-    # remove the '[]' above if you add tags to this list.
-    #
-    # NOTE: A tag is limited to a single word comprised of
-    # alphanumeric characters. Maximum 20 tags per role.
-
-dependencies: []
-  # List your role dependencies here, one per line.
-  # Be sure to remove the '[]' above if you add dependencies
-  # to this list.
\ No newline at end of file
diff --git a/src/test/resources/roles/mongodb/tasks/main.yml b/src/test/resources/roles/mongodb/tasks/main.yml
deleted file mode 100644
index 56113079e303e1c1781481d1c9126f38a4ffa2ed..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mongodb/tasks/main.yml
+++ /dev/null
@@ -1,43 +0,0 @@
----
-# tasks file for vcsshark
-- block:
-  - name: enable ubuntu group
-    group: name=ubuntu state=present
-
-  - name: enable ubuntu user
-    user: name=ubuntu state=present shell=/bin/bash
-
-  - name: Import public key used by the package management system
-    shell: apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
-    become_user: root
-
-  - name: Create a list file for MongoDB
-    shell: echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
-
-  - name: Install the MongoDB packages.
-    apt: 
-      name: mongodb-org
-      update_cache: yes
-  when: task == "DEPLOY"
-  remote_user: ubuntu
-  become_user: root
-
-- block:
-   - name: Configure MongoDB
-     shell: echo "Add MongoDB configuration here"
-
-   - name: Check if successfully started 
-     shell: echo "Verify that the mongod process has started successfully by checking the contents of the log file at /var/log/mongodb/mongod.log for a line reading [initandlisten] waiting for connections on port 27017"
-
-  when: task == "CONFIGURE"
-  remote_user: ubuntu
-  become_user: root
- 
-- block:
-   - name: Start mongod
-     service:
-       name: mongod
-       state: started
-  when: task == "START"
-  become_user: root
-  remote_user: "ubuntu"
diff --git a/src/test/resources/roles/mongodb/tests/inventory b/src/test/resources/roles/mongodb/tests/inventory
deleted file mode 100644
index d18580b3c364645735235c667c2a546e28c273bb..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mongodb/tests/inventory
+++ /dev/null
@@ -1 +0,0 @@
-localhost
\ No newline at end of file
diff --git a/src/test/resources/roles/mongodb/tests/test.yml b/src/test/resources/roles/mongodb/tests/test.yml
deleted file mode 100644
index 1cada8756ea6df9f039deff0f74baf523d039528..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mongodb/tests/test.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-- hosts: localhost
-  remote_user: root
-  roles:
-    - vcsshark
diff --git a/src/test/resources/roles/mongodb/vars/main.yml b/src/test/resources/roles/mongodb/vars/main.yml
deleted file mode 100644
index a62ad05b19277599d738b9e16675ce76f2992ec3..0000000000000000000000000000000000000000
--- a/src/test/resources/roles/mongodb/vars/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-# vars file for vcsshark