From 9a80208dd02d747b40b8ad267101496f2a7065fa Mon Sep 17 00:00:00 2001
From: erbel <johannes.erbel@cs.uni-goettingen.de>
Date: Thu, 3 Jan 2019 17:22:46 +0100
Subject: [PATCH] Prototyp V2 tmp

---
 .settings/org.eclipse.buildship.core.prefs    |   2 +-
 build.gradle                                  |   2 +-
 .../bin/.gitignore                            |   1 +
 .../rwm/mocci/connector/ConnectorFactory.java |  21 +-
 ...ector.java => MartpublisherConnector.java} |  16 +-
 .../MonitoringpropertyConnector.java          | 104 +++
 .../org.eclipse.buildship.core.prefs          |   2 +-
 de.ugoe.cs.rwm.mocci.connector/bin/.gitignore |   1 +
 .../rwm/mocci/connector/ConnectorFactory.java |  21 +-
 ...ector.java => MartpublisherConnector.java} |  16 +-
 .../MonitoringpropertyConnector.java          | 104 +++
 .../mocci/connector/PublisherConnector.java   |  30 +-
 .../rwm/mocci/connector/SensorConnector.java  |  21 +-
 de.ugoe.cs.rwm.mocci.model.edit/.classpath    |   1 +
 .../org.eclipse.buildship.core.prefs          |   2 +-
 .../icons/full/obj16/Martpublisher.gif        | Bin 0 -> 129 bytes
 .../plugin.properties                         |   8 +
 .../provider/DatagathererItemProvider.java    |   7 +-
 ...er.java => MartpublisherItemProvider.java} |  77 +-
 .../MonitoringItemProviderAdapterFactory.java |  88 +--
 .../MonitoringPropertyArrayItemProvider.java  | 178 -----
 ...va => MonitoringpropertyItemProvider.java} | 106 ++-
 .../provider/ProcessorItemProvider.java       |  40 +-
 .../provider/PublisherItemProvider.java       |  40 +-
 .../provider/SensorItemProvider.java          |   7 +-
 de.ugoe.cs.rwm.mocci.model/.classpath         |   1 +
 .../org.eclipse.buildship.core.prefs          |   2 +-
 .../model/monitoring.ecore                    |  74 +-
 .../model/monitoring.genmodel                 |  45 +-
 .../model/monitoring.occie                    |  39 +-
 .../new Extension diagram2.svg                | 698 ++++++++++++++++++
 .../representations.aird                      | 475 ++++++------
 .../src-gen/monitoring/Martpublisher.java     | 126 ++++
 .../src-gen/monitoring/MonitoringFactory.java |  33 +-
 .../src-gen/monitoring/MonitoringPackage.java | 619 ++++++++++------
 .../monitoring/MonitoringProperty.java        | 114 ---
 .../monitoring/MonitoringPropertyArray.java   |  53 --
 .../src-gen/monitoring/MonitoringTables.java  | 197 +++--
 .../monitoring/Monitoringproperties.java      |  72 --
 .../monitoring/Monitoringproperty.java        | 103 +++
 .../src-gen/monitoring/Processor.java         |  32 +
 .../src-gen/monitoring/Publisher.java         |  32 +
 .../monitoring/impl/MartpublisherImpl.java    | 357 +++++++++
 .../impl/MonitoringFactoryImpl.java           |  41 +-
 .../impl/MonitoringPackageImpl.java           | 196 ++---
 .../impl/MonitoringPropertyArrayImpl.java     | 162 ----
 .../impl/MonitoringPropertyImpl.java          | 281 -------
 .../impl/MonitoringpropertiesImpl.java        | 268 -------
 .../impl/MonitoringpropertyImpl.java          | 303 ++++++++
 .../monitoring/impl/ProcessorImpl.java        | 125 ++++
 .../monitoring/impl/PublisherImpl.java        | 125 ++++
 .../util/MonitoringAdapterFactory.java        |  83 ++-
 .../monitoring/util/MonitoringSwitch.java     |  95 ++-
 .../monitoring/util/MonitoringValidator.java  | 109 ++-
 .../ugoe/cs/rwm/mocci/CreateElementsTest.java |  29 +-
 .../rwm/mocci/DeployHadoopMonitoringTest.java |   2 +-
 .../java/de/ugoe/cs/rwm/mocci/EmptyTest.java  |  58 ++
 .../ugoe/cs/rwm/mocci/ResolveProxyTest.java   |   2 +-
 .../de/ugoe/cs/rwm/mocci/TestUtility.java     |   1 -
 .../live/DeployHadoopMonitoringTestLive.java  |   3 +-
 .../de.ugoe.cs.rwm.mocci.connector.dummy.jar  | Bin 8401 -> 9260 bytes
 .../de.ugoe.cs.rwm.mocci.model.jar            | Bin 59467 -> 61423 bytes
 .../occi/hadoopClusterNewExtCPUOnly.occic     | 288 ++++++++
 .../occi/hadoopClusterNewExtWithMem.occic     | 353 +++++++++
 .../resources/roles/memprocessor/.travis.yml  |  29 +
 .../resources/roles/memprocessor/README.md    |  38 +
 .../roles/memprocessor/defaults/main.yml      |   2 +
 .../roles/memprocessor/files/memprocessor.sh  |  33 +
 .../roles/memprocessor/handlers/main.yml      |   2 +
 .../roles/memprocessor/meta/main.yml          | 246 ++++++
 .../roles/memprocessor/tasks/main.yml         |  37 +
 .../roles/memprocessor/tests/inventory        |   1 +
 .../roles/memprocessor/tests/test.yml         |   5 +
 .../roles/memprocessor/vars/main.yml          |   2 +
 .../resources/roles/mempublisher/.travis.yml  |  29 +
 .../resources/roles/mempublisher/README.md    |  38 +
 .../roles/mempublisher/defaults/main.yml      |   2 +
 .../roles/mempublisher/files/mempublisher.sh  |  60 ++
 .../roles/mempublisher/handlers/main.yml      |   2 +
 .../roles/mempublisher/meta/main.yml          | 246 ++++++
 .../roles/mempublisher/tasks/main.yml         |  42 ++
 .../roles/mempublisher/tests/inventory        |   1 +
 .../roles/mempublisher/tests/test.yml         |   5 +
 .../roles/mempublisher/vars/main.yml          |   2 +
 84 files changed, 5089 insertions(+), 2224 deletions(-)
 create mode 100644 de.ugoe.cs.rwm.mocci.connector.dummy/bin/.gitignore
 rename de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/{MonitoringpropertiesConnector.java => MartpublisherConnector.java} (65%)
 create mode 100644 de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitoringpropertyConnector.java
 create mode 100644 de.ugoe.cs.rwm.mocci.connector/bin/.gitignore
 rename de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/{MonitoringpropertiesConnector.java => MartpublisherConnector.java} (65%)
 create mode 100644 de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitoringpropertyConnector.java
 create mode 100644 de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Martpublisher.gif
 rename de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/{MonitoringPropertyItemProvider.java => MartpublisherItemProvider.java} (63%)
 delete mode 100644 de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/MonitoringPropertyArrayItemProvider.java
 rename de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/{MonitoringpropertiesItemProvider.java => MonitoringpropertyItemProvider.java} (50%)
 create mode 100644 de.ugoe.cs.rwm.mocci.model/new Extension diagram2.svg
 create mode 100644 de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Martpublisher.java
 delete mode 100644 de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringProperty.java
 delete mode 100644 de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/MonitoringPropertyArray.java
 delete mode 100644 de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Monitoringproperties.java
 create mode 100644 de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Monitoringproperty.java
 create mode 100644 de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MartpublisherImpl.java
 delete mode 100644 de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringPropertyArrayImpl.java
 delete mode 100644 de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringPropertyImpl.java
 delete mode 100644 de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringpropertiesImpl.java
 create mode 100644 de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringpropertyImpl.java
 create mode 100644 src/test/java/de/ugoe/cs/rwm/mocci/EmptyTest.java
 create mode 100644 src/test/resources/occi/hadoopClusterNewExtCPUOnly.occic
 create mode 100644 src/test/resources/occi/hadoopClusterNewExtWithMem.occic
 create mode 100644 src/test/resources/roles/memprocessor/.travis.yml
 create mode 100644 src/test/resources/roles/memprocessor/README.md
 create mode 100644 src/test/resources/roles/memprocessor/defaults/main.yml
 create mode 100644 src/test/resources/roles/memprocessor/files/memprocessor.sh
 create mode 100644 src/test/resources/roles/memprocessor/handlers/main.yml
 create mode 100644 src/test/resources/roles/memprocessor/meta/main.yml
 create mode 100644 src/test/resources/roles/memprocessor/tasks/main.yml
 create mode 100644 src/test/resources/roles/memprocessor/tests/inventory
 create mode 100644 src/test/resources/roles/memprocessor/tests/test.yml
 create mode 100644 src/test/resources/roles/memprocessor/vars/main.yml
 create mode 100644 src/test/resources/roles/mempublisher/.travis.yml
 create mode 100644 src/test/resources/roles/mempublisher/README.md
 create mode 100644 src/test/resources/roles/mempublisher/defaults/main.yml
 create mode 100644 src/test/resources/roles/mempublisher/files/mempublisher.sh
 create mode 100644 src/test/resources/roles/mempublisher/handlers/main.yml
 create mode 100644 src/test/resources/roles/mempublisher/meta/main.yml
 create mode 100644 src/test/resources/roles/mempublisher/tasks/main.yml
 create mode 100644 src/test/resources/roles/mempublisher/tests/inventory
 create mode 100644 src/test/resources/roles/mempublisher/tests/test.yml
 create mode 100644 src/test/resources/roles/mempublisher/vars/main.yml

diff --git a/.settings/org.eclipse.buildship.core.prefs b/.settings/org.eclipse.buildship.core.prefs
index e8c143f..52a12ad 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/build.gradle b/build.gradle
index e7fb8bc..8f1ec32 100644
--- a/build.gradle
+++ b/build.gradle
@@ -129,7 +129,7 @@ javadoc {
     failOnError = true
 }
 test {
-    exclude 'de/ugoe/cs/rwm/mocci/live/**'
+    //exclude 'de/ugoe/cs/rwm/mocci/live/**'
     testLogging.showStandardStreams = true
         testLogging {
         exceptionFormat = 'full'
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 0000000..fd04598
--- /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 1676048..7824ea7 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,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;
 
@@ -68,12 +68,23 @@ public class ConnectorFactory extends monitoring.impl.MonitoringFactoryImpl
 	/**
 	 * 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.Monitoringproperty createMonitoringproperty() {
+		return new MonitoringpropertyConnector();
+	}
+
+	/**
+	 * EFactory method for OCCI kind:
+	 * - scheme: http://schemas.ugoe.cs.rwm/monitoring#
+	 * - term: martpublisher
+	 * - title: MartPublisher Mixin
+	 */
+	@Override
+	public monitoring.Martpublisher createMartpublisher() {
+		return new MartpublisherConnector();
 	}
 
 }
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/MartpublisherConnector.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/MartpublisherConnector.java
index 3286ff5..a13a97d 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/MartpublisherConnector.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 MartpublisherConnector extends monitoring.impl.MartpublisherImpl
 {
 	/**
 	 * Initialize the logger.
 	 */
-	private static Logger LOGGER = LoggerFactory.getLogger(MonitoringpropertiesConnector.class);
+	private static Logger LOGGER = LoggerFactory.getLogger(MartpublisherConnector.class);
 
-	// Start of user code Monitoringpropertiesconnector_constructor
+	// Start of user code Martpublisherconnector_constructor
 	/**
-	 * Constructs a monitoringproperties connector.
+	 * Constructs a martpublisher connector.
 	 */
-	MonitoringpropertiesConnector()
+	MartpublisherConnector()
 	{
 		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/MonitoringpropertyConnector.java b/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitoringpropertyConnector.java
new file mode 100644
index 0000000..b012b52
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.connector.dummy/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitoringpropertyConnector.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 MonitoringpropertyConnector extends monitoring.impl.MonitoringpropertyImpl
+{
+	/**
+	 * Initialize the logger.
+	 */
+	private static Logger LOGGER = LoggerFactory.getLogger(MonitoringpropertyConnector.class);
+
+	// Start of user code Monitoringpropertyconnector_constructor
+	/**
+	 * Constructs a monitoringproperty connector.
+	 */
+	MonitoringpropertyConnector()
+	{
+		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/.settings/org.eclipse.buildship.core.prefs b/de.ugoe.cs.rwm.mocci.connector/.settings/org.eclipse.buildship.core.prefs
index e889521..dacbfbb 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 0000000..fd04598
--- /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 b597b3b..f68ca2e 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;
 
@@ -68,12 +68,23 @@ public class ConnectorFactory extends monitoring.impl.MonitoringFactoryImpl
 	/**
 	 * 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.Monitoringproperty createMonitoringproperty() {
+		return new MonitoringpropertyConnector();
+	}
+
+	/**
+	 * EFactory method for OCCI kind:
+	 * - scheme: http://schemas.ugoe.cs.rwm/monitoring#
+	 * - term: martpublisher
+	 * - title: MartPublisher Mixin
+	 */
+	@Override
+	public monitoring.Martpublisher createMartpublisher() {
+		return new MartpublisherConnector();
 	}
 
 }
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/MartpublisherConnector.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/MartpublisherConnector.java
index 19effac..9edc371 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/MartpublisherConnector.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 MartpublisherConnector extends monitoring.impl.MartpublisherImpl
 {
 	/**
 	 * Initialize the logger.
 	 */
-	private static Logger LOGGER = LoggerFactory.getLogger(MonitoringpropertiesConnector.class);
+	private static Logger LOGGER = LoggerFactory.getLogger(MartpublisherConnector.class);
 
-	// Start of user code Monitoringpropertiesconnector_constructor
+	// Start of user code Martpublisherconnector_constructor
 	/**
-	 * Constructs a monitoringproperties connector.
+	 * Constructs a martpublisher connector.
 	 */
-	MonitoringpropertiesConnector()
+	MartpublisherConnector()
 	{
 		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/MonitoringpropertyConnector.java b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitoringpropertyConnector.java
new file mode 100644
index 0000000..00b6111
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/MonitoringpropertyConnector.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 MonitoringpropertyConnector extends monitoring.impl.MonitoringpropertyImpl
+{
+	/**
+	 * Initialize the logger.
+	 */
+	private static Logger LOGGER = LoggerFactory.getLogger(MonitoringpropertyConnector.class);
+
+	// Start of user code Monitoringpropertyconnector_constructor
+	/**
+	 * Constructs a monitoringproperty connector.
+	 */
+	MonitoringpropertyConnector()
+	{
+		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/PublisherConnector.java b/de.ugoe.cs.rwm.mocci.connector/src-gen/de/ugoe/cs/rwm/mocci/connector/PublisherConnector.java
index 3513962..bbc1b2b 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/PublisherConnector.java
@@ -14,9 +14,15 @@
  */
 package de.ugoe.cs.rwm.mocci.connector;
 
+import org.eclipse.cmf.occi.core.AttributeState;
+import org.eclipse.cmf.occi.core.Link;
+import org.eclipse.cmf.occi.core.impl.OCCIFactoryImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import monitoring.Monitoringproperty;
+import monitoring.Sensor;
+
 
 
 /**
@@ -30,8 +36,10 @@ public class PublisherConnector extends monitoring.impl.PublisherImpl
 	/**
 	 * Initialize the logger.
 	 */
+	private OCCIFactoryImpl factory = new OCCIFactoryImpl();
 	private static Logger LOGGER = LoggerFactory.getLogger(PublisherConnector.class);
-private ComponentManager compMan;
+	private Monitoringproperty monProp;
+	private ComponentManager compMan;
 
 	// Start of user code Publisherconnector_constructor
 	/**
@@ -41,6 +49,7 @@ private ComponentManager compMan;
 	{
 		LOGGER.debug("Constructor called on " + this);
 		this.compMan = new ComponentManager(this);
+		
 		// TODO: Implement this constructor.
 	}
 	// End of user code
@@ -140,9 +149,26 @@ private ComponentManager compMan;
 	@Override
 	public void start()
 	{
+		AttributeState sensorlocation = factory.createAttributeState();
+		sensorlocation.setValue(getContainingSensorLocation());
+		sensorlocation.setName("sensor");
+		System.out.println(sensorlocation);
+		this.attributes.add(sensorlocation);
+		System.out.println(this.attributes);
 		LOGGER.debug("Action start() called on " + this);
 		compMan.start();
-		// TODO: Implement how to start this publisher.
+		//this.attributes.remove(sensorlocation);
+		System.out.println(this.attributes);
+	}
+	
+	
+	private String getContainingSensorLocation() {
+		for(Link link: this.getRlinks()) {
+			if(link.getSource() instanceof Sensor) {
+				return link.getSource().getLocation();
+			}
+		}
+		return "No containing sensor found";
 	}
 	// End of user code
 	// Start of user code Publisher_Kind_configure_action
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 82d8143..a08bb83 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
@@ -131,7 +131,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 +164,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 +191,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 +224,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 +260,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 +298,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 +309,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 +320,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 +331,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 +354,7 @@ 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 +365,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 ba95638..9f26f94 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 1752c93..dacbfbb 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/Martpublisher.gif b/de.ugoe.cs.rwm.mocci.model.edit/icons/full/obj16/Martpublisher.gif
new file mode 100644
index 0000000000000000000000000000000000000000..420eee177528d9bd6d862c38d2a66c14835a6140
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgte-L}loH;<Lna0M7
zKUo+V7&sYpKsrHYFtF$uob+71*W&e;Zz}u`3thLHvffHb@LI6&tBu~rX=+!^%6nF7
S^6M^V>~uRaQAn7P!5RRp7cZRv

literal 0
HcmV?d00001

diff --git a/de.ugoe.cs.rwm.mocci.model.edit/plugin.properties b/de.ugoe.cs.rwm.mocci.model.edit/plugin.properties
index 0c40c49..e2bbd98 100644
--- a/de.ugoe.cs.rwm.mocci.model.edit/plugin.properties
+++ b/de.ugoe.cs.rwm.mocci.model.edit/plugin.properties
@@ -73,3 +73,11 @@ _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
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 b98bd74..150cb48 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
@@ -196,7 +196,12 @@ public class DatagathererItemProvider extends ComponentItemProvider {
 		newChildDescriptors.add
 			(createChildParameter
 				(OCCIPackage.Literals.ENTITY__PARTS,
-				 MonitoringFactory.eINSTANCE.createMonitoringproperties()));
+				 MonitoringFactory.eINSTANCE.createMartpublisher()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(OCCIPackage.Literals.RESOURCE__LINKS,
+				 MonitoringFactory.eINSTANCE.createMonitoringproperty()));
 	}
 
 	/**
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/MartpublisherItemProvider.java
similarity index 63%
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/MartpublisherItemProvider.java
index 9d567fe..ff5c320 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/MartpublisherItemProvider.java
@@ -16,8 +16,10 @@ package monitoring.provider;
 import java.util.Collection;
 import java.util.List;
 
+import monitoring.Martpublisher;
 import monitoring.MonitoringPackage;
-import monitoring.MonitoringProperty;
+
+import org.eclipse.cmf.occi.core.provider.MixinBaseItemProvider;
 
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
@@ -25,37 +27,24 @@ 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;
 
 /**
- * This is the item provider adapter for a {@link monitoring.MonitoringProperty} object.
+ * This is the item provider adapter for a {@link monitoring.Martpublisher} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class MonitoringPropertyItemProvider 
-	extends ItemProviderAdapter
-	implements
-		IEditingDomainItemProvider,
-		IStructuredItemContentProvider,
-		ITreeItemContentProvider,
-		IItemLabelProvider,
-		IItemPropertySource {
+public class MartpublisherItemProvider extends MixinBaseItemProvider {
 	/**
 	 * This constructs an instance from a factory and a notifier.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public MonitoringPropertyItemProvider(AdapterFactory adapterFactory) {
+	public MartpublisherItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -70,27 +59,27 @@ public class MonitoringPropertyItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addNamePropertyDescriptor(object);
-			addValuePropertyDescriptor(object);
-			addIdPropertyDescriptor(object);
+			addMonitoringPropertyNamePropertyDescriptor(object);
+			addMonitoringPropertyIdPropertyDescriptor(object);
+			addMonitoringPropertyResourcePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This adds a property descriptor for the Name feature.
+	 * This adds a property descriptor for the Monitoring Property Name feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addNamePropertyDescriptor(Object object) {
+	protected void addMonitoringPropertyNamePropertyDescriptor(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_Martpublisher_monitoringPropertyName_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Martpublisher_monitoringPropertyName_feature", "_UI_Martpublisher_type"),
+				 MonitoringPackage.Literals.MARTPUBLISHER__MONITORING_PROPERTY_NAME,
 				 true,
 				 false,
 				 false,
@@ -100,19 +89,19 @@ public class MonitoringPropertyItemProvider
 	}
 
 	/**
-	 * This adds a property descriptor for the Value feature.
+	 * This adds a property descriptor for the Monitoring Property Id feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addValuePropertyDescriptor(Object object) {
+	protected void addMonitoringPropertyIdPropertyDescriptor(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_Martpublisher_monitoringPropertyId_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Martpublisher_monitoringPropertyId_feature", "_UI_Martpublisher_type"),
+				 MonitoringPackage.Literals.MARTPUBLISHER__MONITORING_PROPERTY_ID,
 				 true,
 				 false,
 				 false,
@@ -122,19 +111,19 @@ public class MonitoringPropertyItemProvider
 	}
 
 	/**
-	 * This adds a property descriptor for the Id feature.
+	 * This adds a property descriptor for the Monitoring Property Resource feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addIdPropertyDescriptor(Object object) {
+	protected void addMonitoringPropertyResourcePropertyDescriptor(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,
+				 getString("_UI_Martpublisher_monitoringPropertyResource_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Martpublisher_monitoringPropertyResource_feature", "_UI_Martpublisher_type"),
+				 MonitoringPackage.Literals.MARTPUBLISHER__MONITORING_PROPERTY_RESOURCE,
 				 true,
 				 false,
 				 false,
@@ -144,14 +133,14 @@ public class MonitoringPropertyItemProvider
 	}
 
 	/**
-	 * This returns MonitoringProperty.gif.
+	 * This returns Martpublisher.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/Martpublisher"));
 	}
 
 	/**
@@ -162,10 +151,10 @@ public class MonitoringPropertyItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((MonitoringProperty)object).getName();
+		String label = ((Martpublisher)object).getMonitoringPropertyName();
 		return label == null || label.length() == 0 ?
-			getString("_UI_MonitoringProperty_type") :
-			getString("_UI_MonitoringProperty_type") + " " + label;
+			getString("_UI_Martpublisher_type") :
+			getString("_UI_Martpublisher_type") + " " + label;
 	}
 	
 
@@ -180,10 +169,10 @@ 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(Martpublisher.class)) {
+			case MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_NAME:
+			case MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_ID:
+			case MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_RESOURCE:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 				return;
 		}
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 2392515..0af5520 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
@@ -81,52 +81,6 @@ public class MonitoringItemProviderAdapterFactory extends MonitoringAdapterFacto
 		supportedTypes.add(IItemPropertySource.class);
 	}
 
-	/**
-	 * 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.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected MonitoringPropertyArrayItemProvider monitoringPropertyArrayItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link monitoring.MonitoringPropertyArray}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createMonitoringPropertyArrayAdapter() {
-		if (monitoringPropertyArrayItemProvider == null) {
-			monitoringPropertyArrayItemProvider = new MonitoringPropertyArrayItemProvider(this);
-		}
-
-		return monitoringPropertyArrayItemProvider;
-	}
-
 	/**
 	 * This keeps track of the one adapter used for all {@link monitoring.Sensor} instances.
 	 * <!-- begin-user-doc -->
@@ -220,26 +174,49 @@ public class MonitoringItemProviderAdapterFactory extends MonitoringAdapterFacto
 	}
 
 	/**
-	 * 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.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.Martpublisher} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected MonitoringpropertiesItemProvider monitoringpropertiesItemProvider;
+	protected MartpublisherItemProvider martpublisherItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link monitoring.Monitoringproperties}.
+	 * This creates an adapter for a {@link monitoring.Martpublisher}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createMonitoringpropertiesAdapter() {
-		if (monitoringpropertiesItemProvider == null) {
-			monitoringpropertiesItemProvider = new MonitoringpropertiesItemProvider(this);
+	public Adapter createMartpublisherAdapter() {
+		if (martpublisherItemProvider == null) {
+			martpublisherItemProvider = new MartpublisherItemProvider(this);
 		}
 
-		return monitoringpropertiesItemProvider;
+		return martpublisherItemProvider;
 	}
 
 	/**
@@ -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 (monitoringpropertyItemProvider != null) monitoringpropertyItemProvider.dispose();
+		if (martpublisherItemProvider != null) martpublisherItemProvider.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 0067c3c..0000000
--- 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/MonitoringpropertyItemProvider.java
similarity index 50%
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/MonitoringpropertyItemProvider.java
index cfaf3d3..f9a2412 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/MonitoringpropertyItemProvider.java
@@ -18,34 +18,38 @@ import java.util.List;
 
 import monitoring.MonitoringFactory;
 import monitoring.MonitoringPackage;
-import monitoring.Monitoringproperties;
+import monitoring.Monitoringproperty;
 
-import org.eclipse.cmf.occi.core.provider.MixinBaseItemProvider;
+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;
 
 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;
 
+import org.modmacao.occi.platform.PlatformFactory;
+
 /**
- * This is the item provider adapter for a {@link monitoring.Monitoringproperties} object.
+ * This is the item provider adapter for a {@link monitoring.Monitoringproperty} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class MonitoringpropertiesItemProvider extends MixinBaseItemProvider {
+public class MonitoringpropertyItemProvider extends LinkItemProvider {
 	/**
 	 * This constructs an instance from a factory and a notifier.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public MonitoringpropertiesItemProvider(AdapterFactory adapterFactory) {
+	public MonitoringpropertyItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -60,49 +64,65 @@ public class MonitoringpropertiesItemProvider extends MixinBaseItemProvider {
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
+			addMonitoringPropertyNamePropertyDescriptor(object);
+			addMonitoringPropertyValuePropertyDescriptor(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 Monitoring Property Name 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 addMonitoringPropertyNamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Monitoringproperty_monitoringPropertyName_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Monitoringproperty_monitoringPropertyName_feature", "_UI_Monitoringproperty_type"),
+				 MonitoringPackage.Literals.MONITORINGPROPERTY__MONITORING_PROPERTY_NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
 	}
 
 	/**
+	 * This adds a property descriptor for the Monitoring Property Value feature.
 	 * <!-- 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);
+	protected void addMonitoringPropertyValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Monitoringproperty_monitoringPropertyValue_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Monitoringproperty_monitoringPropertyValue_feature", "_UI_Monitoringproperty_type"),
+				 MonitoringPackage.Literals.MONITORINGPROPERTY__MONITORING_PROPERTY_VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
 	}
 
 	/**
-	 * This returns Monitoringproperties.gif.
+	 * This returns Monitoringproperty.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/Monitoringproperty"));
 	}
 
 	/**
@@ -113,7 +133,10 @@ public class MonitoringpropertiesItemProvider extends MixinBaseItemProvider {
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_Monitoringproperties_type");
+		String label = ((Monitoringproperty)object).getId();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Monitoringproperty_type") :
+			getString("_UI_Monitoringproperty_type") + " " + label;
 	}
 	
 
@@ -128,9 +151,10 @@ 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(Monitoringproperty.class)) {
+			case MonitoringPackage.MONITORINGPROPERTY__MONITORING_PROPERTY_NAME:
+			case MonitoringPackage.MONITORINGPROPERTY__MONITORING_PROPERTY_VALUE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 				return;
 		}
 		super.notifyChanged(notification);
@@ -149,8 +173,28 @@ public class MonitoringpropertiesItemProvider extends MixinBaseItemProvider {
 
 		newChildDescriptors.add
 			(createChildParameter
-				(MonitoringPackage.Literals.MONITORINGPROPERTIES__MONITORING_PROPERTIES,
-				 MonitoringFactory.eINSTANCE.createMonitoringPropertyArray()));
+				(OCCIPackage.Literals.ENTITY__PARTS,
+				 MonitoringFactory.eINSTANCE.createMartpublisher()));
+
+		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/ProcessorItemProvider.java b/de.ugoe.cs.rwm.mocci.model.edit/src-gen/monitoring/provider/ProcessorItemProvider.java
index c6e12b8..071a9cd 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/ProcessorItemProvider.java
@@ -17,6 +17,7 @@ import java.util.Collection;
 import java.util.List;
 
 import monitoring.MonitoringFactory;
+import monitoring.MonitoringPackage;
 import monitoring.Processor;
 
 import org.eclipse.cmf.occi.core.OCCIPackage;
@@ -26,7 +27,10 @@ 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;
 
@@ -58,10 +62,33 @@ public class ProcessorItemProvider extends ComponentItemProvider {
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
+			addGathererAddressPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
+	/**
+	 * This adds a property descriptor for the Gatherer Address feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addGathererAddressPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Processor_gathererAddress_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Processor_gathererAddress_feature", "_UI_Processor_type"),
+				 MonitoringPackage.Literals.PROCESSOR__GATHERER_ADDRESS,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
 	/**
 	 * This returns Processor.gif.
 	 * <!-- begin-user-doc -->
@@ -98,6 +125,12 @@ public class ProcessorItemProvider extends ComponentItemProvider {
 	@Override
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
+
+		switch (notification.getFeatureID(Processor.class)) {
+			case MonitoringPackage.PROCESSOR__GATHERER_ADDRESS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
 		super.notifyChanged(notification);
 	}
 
@@ -115,7 +148,12 @@ public class ProcessorItemProvider extends ComponentItemProvider {
 		newChildDescriptors.add
 			(createChildParameter
 				(OCCIPackage.Literals.ENTITY__PARTS,
-				 MonitoringFactory.eINSTANCE.createMonitoringproperties()));
+				 MonitoringFactory.eINSTANCE.createMartpublisher()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(OCCIPackage.Literals.RESOURCE__LINKS,
+				 MonitoringFactory.eINSTANCE.createMonitoringproperty()));
 	}
 
 	/**
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/PublisherItemProvider.java
index e69b724..b59182b 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/PublisherItemProvider.java
@@ -17,6 +17,7 @@ import java.util.Collection;
 import java.util.List;
 
 import monitoring.MonitoringFactory;
+import monitoring.MonitoringPackage;
 import monitoring.Publisher;
 
 import org.eclipse.cmf.occi.core.OCCIPackage;
@@ -26,7 +27,10 @@ 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;
 
@@ -58,10 +62,33 @@ public class PublisherItemProvider extends ComponentItemProvider {
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
+			addPublisherEndpointPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
+	/**
+	 * This adds a property descriptor for the Publisher Endpoint feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addPublisherEndpointPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Publisher_publisherEndpoint_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Publisher_publisherEndpoint_feature", "_UI_Publisher_type"),
+				 MonitoringPackage.Literals.PUBLISHER__PUBLISHER_ENDPOINT,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
 	/**
 	 * This returns Publisher.gif.
 	 * <!-- begin-user-doc -->
@@ -98,6 +125,12 @@ public class PublisherItemProvider extends ComponentItemProvider {
 	@Override
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
+
+		switch (notification.getFeatureID(Publisher.class)) {
+			case MonitoringPackage.PUBLISHER__PUBLISHER_ENDPOINT:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
 		super.notifyChanged(notification);
 	}
 
@@ -115,7 +148,12 @@ public class PublisherItemProvider extends ComponentItemProvider {
 		newChildDescriptors.add
 			(createChildParameter
 				(OCCIPackage.Literals.ENTITY__PARTS,
-				 MonitoringFactory.eINSTANCE.createMonitoringproperties()));
+				 MonitoringFactory.eINSTANCE.createMartpublisher()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(OCCIPackage.Literals.RESOURCE__LINKS,
+				 MonitoringFactory.eINSTANCE.createMonitoringproperty()));
 	}
 
 	/**
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 e7f38f8..04a6eaf 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
@@ -268,7 +268,12 @@ public class SensorItemProvider extends ApplicationItemProvider {
 		newChildDescriptors.add
 			(createChildParameter
 				(OCCIPackage.Literals.ENTITY__PARTS,
-				 MonitoringFactory.eINSTANCE.createMonitoringproperties()));
+				 MonitoringFactory.eINSTANCE.createMartpublisher()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(OCCIPackage.Literals.RESOURCE__LINKS,
+				 MonitoringFactory.eINSTANCE.createMonitoringproperty()));
 	}
 
 	/**
diff --git a/de.ugoe.cs.rwm.mocci.model/.classpath b/de.ugoe.cs.rwm.mocci.model/.classpath
index ba95638..9f26f94 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 1752c93..dacbfbb 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 827421a..a76cef0 100644
--- a/de.ugoe.cs.rwm.mocci.model/model/monitoring.ecore
+++ b/de.ugoe.cs.rwm.mocci.model/model/monitoring.ecore
@@ -18,27 +18,6 @@
   </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"/>
@@ -103,21 +82,66 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="Processor Resource"/>
     </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="gathererAddress" eType="#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value=""/>
+      </eAnnotations>
+    </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Publisher" 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>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="publisherEndpoint" 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="Monitoringproperties" eSuperTypes="platform:/plugin/org.eclipse.cmf.occi.core/model/OCCI.ecore#//MixinBase">
+  <eClassifiers xsi:type="ecore:EClass" name="Monitoringproperty" 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="MonitoringProperty 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="monitoringPropertyName"
+        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="monitoringPropertyValue"
+        eType="#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value=""/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Martpublisher" 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::Publisher)"/>
     </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="monitoringProperties" eType="#//MonitoringPropertyArray"
-        containment="true">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="monitoringPropertyName"
+        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="monitoringPropertyId" eType="#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value=""/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="monitoringPropertyResource"
+        lowerBound="1" eType="#//String">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value=""/>
       </eAnnotations>
diff --git a/de.ugoe.cs.rwm.mocci.model/model/monitoring.genmodel b/de.ugoe.cs.rwm.mocci.model/model/monitoring.genmodel
index 2c09698..9b30c56 100644
--- a/de.ugoe.cs.rwm.mocci.model/model/monitoring.genmodel
+++ b/de.ugoe.cs.rwm.mocci.model/model/monitoring.genmodel
@@ -15,24 +15,6 @@
     <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>
-    </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>
-    </genClasses>
     <genClasses>
       <ecoreClass href="monitoring.ecore#//Sensor"/>
       <genFeatures createChild="false">
@@ -68,14 +50,35 @@
     </genClasses>
     <genClasses>
       <ecoreClass href="monitoring.ecore#//Processor"/>
+      <genFeatures createChild="false">
+        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Processor/gathererAddress"/>
+      </genFeatures>
     </genClasses>
     <genClasses>
       <ecoreClass href="monitoring.ecore#//Publisher"/>
+      <genFeatures createChild="false">
+        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Publisher/publisherEndpoint"/>
+      </genFeatures>
     </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#//Monitoringproperty"/>
+      <genFeatures createChild="false">
+        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Monitoringproperty/monitoringPropertyName"/>
+      </genFeatures>
+      <genFeatures createChild="false">
+        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Monitoringproperty/monitoringPropertyValue"/>
+      </genFeatures>
+    </genClasses>
+    <genClasses>
+      <ecoreClass href="monitoring.ecore#//Martpublisher"/>
+      <genFeatures createChild="false">
+        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Martpublisher/monitoringPropertyName"/>
+      </genFeatures>
+      <genFeatures createChild="false">
+        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Martpublisher/monitoringPropertyId"/>
+      </genFeatures>
+      <genFeatures createChild="false">
+        <ecoreFeature xsi:type="ecore:EAttribute" href="monitoring.ecore#//Martpublisher/monitoringPropertyResource"/>
       </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 4cd16a3..a8d07fa 100644
--- a/de.ugoe.cs.rwm.mocci.model/model/monitoring.occie
+++ b/de.ugoe.cs.rwm.mocci.model/model/monitoring.occie
@@ -3,37 +3,40 @@
   <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"/>
+    <attributes name="occi.sensor.timebase" description="Base time reference (ISO8601)" type="//@types.0"/>
+    <attributes name="occi.sensor.timestart" description="Start time offset (seconds)" type="//@types.1"/>
+    <attributes name="occi.sensor.timestop" type="//@types.1"/>
+    <attributes name="occi.sensor.period" required="true" description="Time between two following measurements (seconds)" type="//@types.1"/>
+    <attributes name="occi.sensor.granularity" description="Granularity of time measument (seconds)" type="//@types.1"/>
+    <attributes name="occi.sensor.accuracy" 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"/>
+    <attributes name="occi.collector.period" required="true" description="Time between two following measurements (seconds)." type="//@types.1"/>
+    <attributes name="occi.collector.granularity" description="Granularity of time measurement (seconds)." type="//@types.1"/>
+    <attributes name="occi.collector.accuracy" 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">
+    <attributes name="gatherer.address" type="//@types.2"/>
     <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">
+    <attributes name="publisher.endpoint" required="true" type="//@types.2"/>
     <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="MonitoringProperty" scheme="http://schemas.ugoe.cs.rwm/monitoring#" title="MonitoringProperty Component" target="//@kinds[term='sensor']">
+    <attributes name="monitoring.property.name" mutable="false" required="true" description="" type="//@types.2"/>
+    <attributes name="monitoring.property.value" description="" type="//@types.2"/>
+    <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="MartPublisher" scheme="http://schemas.ugoe.cs.rwm/monitoring#" title="MartPublisher Mixin" applies="//@kinds[term='publisher']">
+    <attributes name="monitoring.property.name" mutable="false" required="true" description="" type="//@types.2"/>
+    <attributes name="monitoring.property.id" description="" type="//@types.2"/>
+    <attributes name="monitoring.property.resource" mutable="false" required="true" description="" type="//@types.2"/>
   </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 0000000..fc6f236
--- /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 8e01604..23c7e40 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/Martpublisher.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Martpublisher.java
new file mode 100644
index 0000000..b180ac7
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Martpublisher.java
@@ -0,0 +1,126 @@
+/**
+ * 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>Martpublisher</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link monitoring.Martpublisher#getMonitoringPropertyName <em>Monitoring Property Name</em>}</li>
+ *   <li>{@link monitoring.Martpublisher#getMonitoringPropertyId <em>Monitoring Property Id</em>}</li>
+ *   <li>{@link monitoring.Martpublisher#getMonitoringPropertyResource <em>Monitoring Property Resource</em>}</li>
+ * </ul>
+ *
+ * @see monitoring.MonitoringPackage#getMartpublisher()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='appliesConstraint'"
+ * @generated
+ */
+public interface Martpublisher extends MixinBase {
+	/**
+	 * Returns the value of the '<em><b>Monitoring Property Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * 
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Monitoring Property Name</em>' attribute.
+	 * @see #setMonitoringPropertyName(String)
+	 * @see monitoring.MonitoringPackage#getMartpublisher_MonitoringPropertyName()
+	 * @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!Martpublisher!monitoringPropertyName'"
+	 * @generated
+	 */
+	String getMonitoringPropertyName();
+
+	/**
+	 * Sets the value of the '{@link monitoring.Martpublisher#getMonitoringPropertyName <em>Monitoring Property Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Monitoring Property Name</em>' attribute.
+	 * @see #getMonitoringPropertyName()
+	 * @generated
+	 */
+	void setMonitoringPropertyName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Monitoring Property Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * 
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Monitoring Property Id</em>' attribute.
+	 * @see #setMonitoringPropertyId(String)
+	 * @see monitoring.MonitoringPackage#getMartpublisher_MonitoringPropertyId()
+	 * @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!Martpublisher!monitoringPropertyId'"
+	 * @generated
+	 */
+	String getMonitoringPropertyId();
+
+	/**
+	 * Sets the value of the '{@link monitoring.Martpublisher#getMonitoringPropertyId <em>Monitoring Property Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Monitoring Property Id</em>' attribute.
+	 * @see #getMonitoringPropertyId()
+	 * @generated
+	 */
+	void setMonitoringPropertyId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Monitoring Property Resource</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * 
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Monitoring Property Resource</em>' attribute.
+	 * @see #setMonitoringPropertyResource(String)
+	 * @see monitoring.MonitoringPackage#getMartpublisher_MonitoringPropertyResource()
+	 * @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!Martpublisher!monitoringPropertyResource'"
+	 * @generated
+	 */
+	String getMonitoringPropertyResource();
+
+	/**
+	 * Sets the value of the '{@link monitoring.Martpublisher#getMonitoringPropertyResource <em>Monitoring Property Resource</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Monitoring Property Resource</em>' attribute.
+	 * @see #getMonitoringPropertyResource()
+	 * @generated
+	 */
+	void setMonitoringPropertyResource(String value);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n *\n * inv appliesConstraint:\n *   let severity : Integer[1] = \'Martpublisher::appliesConstraint\'.getSeverity()\n *   in\n *     if severity &lt;= 0\n *     then true\n *     else\n *       let\n *         result : occi::Boolean[1] = self.entity.oclIsKindOf(Publisher)\n *       in\n *         \'Martpublisher::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_Martpublisher_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_Publisher = idResolver.getClass(&lt;%monitoring.MonitoringTables%&gt;.CLSSid_Publisher, 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_Publisher).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_Martpublisher_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);
+
+} // Martpublisher
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 0bc0165..a7ed41c 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 -->
@@ -86,13 +68,22 @@ public interface MonitoringFactory extends EFactory {
 	Publisher createPublisher();
 
 	/**
-	 * Returns a new object of class '<em>Monitoringproperties</em>'.
+	 * Returns a new object of class '<em>Monitoringproperty</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Monitoringproperty</em>'.
+	 * @generated
+	 */
+	Monitoringproperty createMonitoringproperty();
+
+	/**
+	 * Returns a new object of class '<em>Martpublisher</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Monitoringproperties</em>'.
+	 * @return a new object of class '<em>Martpublisher</em>'.
 	 * @generated
 	 */
-	Monitoringproperties createMonitoringproperties();
+	Martpublisher createMartpublisher();
 
 	/**
 	 * 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 3818574..eae2d2d 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.
@@ -470,7 +377,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.
@@ -714,7 +621,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @see monitoring.impl.MonitoringPackageImpl#getProcessor()
 	 * @generated
 	 */
-	int PROCESSOR = 4;
+	int PROCESSOR = 2;
 
 	/**
 	 * The feature id for the '<em><b>Id</b></em>' attribute.
@@ -824,6 +731,15 @@ public interface MonitoringPackage extends EPackage {
 	 */
 	int PROCESSOR__OCCI_COMPONENT_STATE_MESSAGE = PlatformPackage.COMPONENT__OCCI_COMPONENT_STATE_MESSAGE;
 
+	/**
+	 * The feature id for the '<em><b>Gatherer Address</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESSOR__GATHERER_ADDRESS = PlatformPackage.COMPONENT_FEATURE_COUNT + 0;
+
 	/**
 	 * The number of structural features of the '<em>Processor</em>' class.
 	 * <!-- begin-user-doc -->
@@ -831,7 +747,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PROCESSOR_FEATURE_COUNT = PlatformPackage.COMPONENT_FEATURE_COUNT + 0;
+	int PROCESSOR_FEATURE_COUNT = PlatformPackage.COMPONENT_FEATURE_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Occi Create</em>' operation.
@@ -931,7 +847,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @see monitoring.impl.MonitoringPackageImpl#getPublisher()
 	 * @generated
 	 */
-	int PUBLISHER = 5;
+	int PUBLISHER = 3;
 
 	/**
 	 * The feature id for the '<em><b>Id</b></em>' attribute.
@@ -1041,6 +957,15 @@ public interface MonitoringPackage extends EPackage {
 	 */
 	int PUBLISHER__OCCI_COMPONENT_STATE_MESSAGE = PlatformPackage.COMPONENT__OCCI_COMPONENT_STATE_MESSAGE;
 
+	/**
+	 * The feature id for the '<em><b>Publisher Endpoint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PUBLISHER__PUBLISHER_ENDPOINT = PlatformPackage.COMPONENT_FEATURE_COUNT + 0;
+
 	/**
 	 * The number of structural features of the '<em>Publisher</em>' class.
 	 * <!-- begin-user-doc -->
@@ -1048,7 +973,7 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PUBLISHER_FEATURE_COUNT = PlatformPackage.COMPONENT_FEATURE_COUNT + 0;
+	int PUBLISHER_FEATURE_COUNT = PlatformPackage.COMPONENT_FEATURE_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Occi Create</em>' operation.
@@ -1141,32 +1066,50 @@ public interface MonitoringPackage extends EPackage {
 	int PUBLISHER_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.MonitoringpropertyImpl <em>Monitoringproperty</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see monitoring.impl.MonitoringpropertiesImpl
-	 * @see monitoring.impl.MonitoringPackageImpl#getMonitoringproperties()
+	 * @see monitoring.impl.MonitoringpropertyImpl
+	 * @see monitoring.impl.MonitoringPackageImpl#getMonitoringproperty()
 	 * @generated
 	 */
-	int MONITORINGPROPERTIES = 6;
+	int MONITORINGPROPERTY = 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 MONITORINGPROPERTY__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 MONITORINGPROPERTY__TITLE = OCCIPackage.LINK__TITLE;
+
+	/**
+	 * The feature id for the '<em><b>Kind</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORINGPROPERTY__KIND = OCCIPackage.LINK__KIND;
+
+	/**
+	 * The feature id for the '<em><b>Location</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORINGPROPERTY__LOCATION = OCCIPackage.LINK__LOCATION;
 
 	/**
 	 * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
@@ -1175,138 +1118,264 @@ public interface MonitoringPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int MONITORINGPROPERTIES__ATTRIBUTES = OCCIPackage.MIXIN_BASE__ATTRIBUTES;
+	int MONITORINGPROPERTY__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 MONITORINGPROPERTY__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 MONITORINGPROPERTY__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 MONITORINGPROPERTY__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 MONITORINGPROPERTY__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 Name</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 MONITORINGPROPERTY__MONITORING_PROPERTY_NAME = OCCIPackage.LINK_FEATURE_COUNT + 0;
 
 	/**
-	 * The meta object id for the '<em>Second</em>' data type.
+	 * The feature id for the '<em><b>Monitoring Property Value</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see java.lang.String
-	 * @see monitoring.impl.MonitoringPackageImpl#getSecond()
 	 * @generated
+	 * @ordered
 	 */
-	int SECOND = 8;
+	int MONITORINGPROPERTY__MONITORING_PROPERTY_VALUE = OCCIPackage.LINK_FEATURE_COUNT + 1;
 
 	/**
-	 * The meta object id for the '<em>String</em>' data type.
+	 * The number of structural features of the '<em>Monitoringproperty</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORINGPROPERTY_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 MONITORINGPROPERTY___OCCI_CREATE = OCCIPackage.LINK___OCCI_CREATE;
+
+	/**
+	 * The operation id for the '<em>Occi Retrieve</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORINGPROPERTY___OCCI_RETRIEVE = OCCIPackage.LINK___OCCI_RETRIEVE;
+
+	/**
+	 * The operation id for the '<em>Occi Update</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORINGPROPERTY___OCCI_UPDATE = OCCIPackage.LINK___OCCI_UPDATE;
+
+	/**
+	 * The operation id for the '<em>Occi Delete</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORINGPROPERTY___OCCI_DELETE = OCCIPackage.LINK___OCCI_DELETE;
+
+	/**
+	 * The operation id for the '<em>Link Target Invariant</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORINGPROPERTY___LINK_TARGET_INVARIANT__KIND_KIND = OCCIPackage.LINK___LINK_TARGET_INVARIANT__KIND_KIND;
+
+	/**
+	 * The operation id for the '<em>Link Source Invariant</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORINGPROPERTY___LINK_SOURCE_INVARIANT__KIND_KIND = OCCIPackage.LINK___LINK_SOURCE_INVARIANT__KIND_KIND;
+
+	/**
+	 * The operation id for the '<em>Target Constraint</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORINGPROPERTY___TARGET_CONSTRAINT__DIAGNOSTICCHAIN_MAP = OCCIPackage.LINK_OPERATION_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Monitoringproperty</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORINGPROPERTY_OPERATION_COUNT = OCCIPackage.LINK_OPERATION_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link monitoring.impl.MartpublisherImpl <em>Martpublisher</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see monitoring.impl.MartpublisherImpl
+	 * @see monitoring.impl.MonitoringPackageImpl#getMartpublisher()
+	 * @generated
+	 */
+	int MARTPUBLISHER = 5;
+
+	/**
+	 * The feature id for the '<em><b>Mixin</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see java.lang.String
-	 * @see monitoring.impl.MonitoringPackageImpl#getString()
 	 * @generated
+	 * @ordered
 	 */
-	int STRING = 9;
+	int MARTPUBLISHER__MIXIN = OCCIPackage.MIXIN_BASE__MIXIN;
 
+	/**
+	 * The feature id for the '<em><b>Entity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MARTPUBLISHER__ENTITY = OCCIPackage.MIXIN_BASE__ENTITY;
 
 	/**
-	 * Returns the meta object for class '{@link monitoring.MonitoringProperty <em>Property</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 class '<em>Property</em>'.
-	 * @see monitoring.MonitoringProperty
 	 * @generated
+	 * @ordered
 	 */
-	EClass getMonitoringProperty();
+	int MARTPUBLISHER__ATTRIBUTES = OCCIPackage.MIXIN_BASE__ATTRIBUTES;
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.MonitoringProperty#getName <em>Name</em>}'.
+	 * The feature id for the '<em><b>Monitoring Property Name</b></em>' attribute.
 	 * <!-- 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 MARTPUBLISHER__MONITORING_PROPERTY_NAME = OCCIPackage.MIXIN_BASE_FEATURE_COUNT + 0;
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.MonitoringProperty#getValue <em>Value</em>}'.
+	 * The feature id for the '<em><b>Monitoring Property Id</b></em>' attribute.
 	 * <!-- 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 MARTPUBLISHER__MONITORING_PROPERTY_ID = OCCIPackage.MIXIN_BASE_FEATURE_COUNT + 1;
 
 	/**
-	 * Returns the meta object for the attribute '{@link monitoring.MonitoringProperty#getId <em>Id</em>}'.
+	 * The feature id for the '<em><b>Monitoring Property Resource</b></em>' attribute.
 	 * <!-- 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 MARTPUBLISHER__MONITORING_PROPERTY_RESOURCE = OCCIPackage.MIXIN_BASE_FEATURE_COUNT + 2;
 
 	/**
-	 * Returns the meta object for class '{@link monitoring.MonitoringPropertyArray <em>Property Array</em>}'.
+	 * The number of structural features of the '<em>Martpublisher</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Property Array</em>'.
-	 * @see monitoring.MonitoringPropertyArray
 	 * @generated
+	 * @ordered
 	 */
-	EClass getMonitoringPropertyArray();
+	int MARTPUBLISHER_FEATURE_COUNT = OCCIPackage.MIXIN_BASE_FEATURE_COUNT + 3;
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link monitoring.MonitoringPropertyArray#getMonitoringpropertyarrayValues <em>Monitoringpropertyarray Values</em>}'.
+	 * The operation id for the '<em>Applies 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
+	 */
+	int MARTPUBLISHER___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP = OCCIPackage.MIXIN_BASE_OPERATION_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Martpublisher</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MARTPUBLISHER_OPERATION_COUNT = OCCIPackage.MIXIN_BASE_OPERATION_COUNT + 1;
+
+	/**
+	 * The meta object id for the '<em>Date Time</em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see java.lang.String
+	 * @see monitoring.impl.MonitoringPackageImpl#getDateTime()
+	 * @generated
+	 */
+	int DATE_TIME = 6;
+
+	/**
+	 * The meta object id for the '<em>Second</em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see java.lang.String
+	 * @see monitoring.impl.MonitoringPackageImpl#getSecond()
 	 * @generated
 	 */
-	EReference getMonitoringPropertyArray_MonitoringpropertyarrayValues();
+	int SECOND = 7;
+
+	/**
+	 * The meta object id for the '<em>String</em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see java.lang.String
+	 * @see monitoring.impl.MonitoringPackageImpl#getString()
+	 * @generated
+	 */
+	int STRING = 8;
+
 
 	/**
 	 * Returns the meta object for class '{@link monitoring.Sensor <em>Sensor</em>}'.
@@ -1437,6 +1506,17 @@ public interface MonitoringPackage extends EPackage {
 	 */
 	EClass getProcessor();
 
+	/**
+	 * Returns the meta object for the attribute '{@link monitoring.Processor#getGathererAddress <em>Gatherer Address</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Gatherer Address</em>'.
+	 * @see monitoring.Processor#getGathererAddress()
+	 * @see #getProcessor()
+	 * @generated
+	 */
+	EAttribute getProcessor_GathererAddress();
+
 	/**
 	 * Returns the meta object for class '{@link monitoring.Publisher <em>Publisher</em>}'.
 	 * <!-- begin-user-doc -->
@@ -1448,35 +1528,110 @@ public interface MonitoringPackage extends EPackage {
 	EClass getPublisher();
 
 	/**
-	 * Returns the meta object for class '{@link monitoring.Monitoringproperties <em>Monitoringproperties</em>}'.
+	 * Returns the meta object for the attribute '{@link monitoring.Publisher#getPublisherEndpoint <em>Publisher Endpoint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Publisher Endpoint</em>'.
+	 * @see monitoring.Publisher#getPublisherEndpoint()
+	 * @see #getPublisher()
+	 * @generated
+	 */
+	EAttribute getPublisher_PublisherEndpoint();
+
+	/**
+	 * Returns the meta object for class '{@link monitoring.Monitoringproperty <em>Monitoringproperty</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Monitoringproperty</em>'.
+	 * @see monitoring.Monitoringproperty
+	 * @generated
+	 */
+	EClass getMonitoringproperty();
+
+	/**
+	 * Returns the meta object for the attribute '{@link monitoring.Monitoringproperty#getMonitoringPropertyName <em>Monitoring Property Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Monitoring Property Name</em>'.
+	 * @see monitoring.Monitoringproperty#getMonitoringPropertyName()
+	 * @see #getMonitoringproperty()
+	 * @generated
+	 */
+	EAttribute getMonitoringproperty_MonitoringPropertyName();
+
+	/**
+	 * Returns the meta object for the attribute '{@link monitoring.Monitoringproperty#getMonitoringPropertyValue <em>Monitoring Property Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Monitoring Property Value</em>'.
+	 * @see monitoring.Monitoringproperty#getMonitoringPropertyValue()
+	 * @see #getMonitoringproperty()
+	 * @generated
+	 */
+	EAttribute getMonitoringproperty_MonitoringPropertyValue();
+
+	/**
+	 * Returns the meta object for the '{@link monitoring.Monitoringproperty#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 the '<em>Target Constraint</em>' operation.
+	 * @see monitoring.Monitoringproperty#targetConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+	 * @generated
+	 */
+	EOperation getMonitoringproperty__TargetConstraint__DiagnosticChain_Map();
+
+	/**
+	 * Returns the meta object for class '{@link monitoring.Martpublisher <em>Martpublisher</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>Martpublisher</em>'.
+	 * @see monitoring.Martpublisher
 	 * @generated
 	 */
-	EClass getMonitoringproperties();
+	EClass getMartpublisher();
 
 	/**
-	 * Returns the meta object for the containment reference '{@link monitoring.Monitoringproperties#getMonitoringProperties <em>Monitoring Properties</em>}'.
+	 * Returns the meta object for the attribute '{@link monitoring.Martpublisher#getMonitoringPropertyName <em>Monitoring Property Name</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 the attribute '<em>Monitoring Property Name</em>'.
+	 * @see monitoring.Martpublisher#getMonitoringPropertyName()
+	 * @see #getMartpublisher()
 	 * @generated
 	 */
-	EReference getMonitoringproperties_MonitoringProperties();
+	EAttribute getMartpublisher_MonitoringPropertyName();
 
 	/**
-	 * 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.Martpublisher#getMonitoringPropertyId <em>Monitoring Property Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Monitoring Property Id</em>'.
+	 * @see monitoring.Martpublisher#getMonitoringPropertyId()
+	 * @see #getMartpublisher()
+	 * @generated
+	 */
+	EAttribute getMartpublisher_MonitoringPropertyId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link monitoring.Martpublisher#getMonitoringPropertyResource <em>Monitoring Property Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Monitoring Property Resource</em>'.
+	 * @see monitoring.Martpublisher#getMonitoringPropertyResource()
+	 * @see #getMartpublisher()
+	 * @generated
+	 */
+	EAttribute getMartpublisher_MonitoringPropertyResource();
+
+	/**
+	 * Returns the meta object for the '{@link monitoring.Martpublisher#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.Monitoringproperties#appliesConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+	 * @see monitoring.Martpublisher#appliesConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	EOperation getMonitoringproperties__AppliesConstraint__DiagnosticChain_Map();
+	EOperation getMartpublisher__AppliesConstraint__DiagnosticChain_Map();
 
 	/**
 	 * Returns the meta object for data type '{@link java.lang.String <em>Date Time</em>}'.
@@ -1536,186 +1691,200 @@ public interface MonitoringPackage extends EPackage {
 	 */
 	interface Literals {
 		/**
-		 * The meta object literal for the '{@link monitoring.impl.MonitoringPropertyImpl <em>Property</em>}' class.
+		 * The meta object literal for the '{@link monitoring.impl.SensorImpl <em>Sensor</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see monitoring.impl.MonitoringPropertyImpl
-		 * @see monitoring.impl.MonitoringPackageImpl#getMonitoringProperty()
+		 * @see monitoring.impl.SensorImpl
+		 * @see monitoring.impl.MonitoringPackageImpl#getSensor()
 		 * @generated
 		 */
-		EClass MONITORING_PROPERTY = eINSTANCE.getMonitoringProperty();
+		EClass SENSOR = eINSTANCE.getSensor();
 
 		/**
-		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Occi Sensor Timebase</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute MONITORING_PROPERTY__NAME = eINSTANCE.getMonitoringProperty_Name();
+		EAttribute SENSOR__OCCI_SENSOR_TIMEBASE = eINSTANCE.getSensor_OcciSensorTimebase();
 
 		/**
-		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Occi Sensor Timestart</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute MONITORING_PROPERTY__VALUE = eINSTANCE.getMonitoringProperty_Value();
+		EAttribute SENSOR__OCCI_SENSOR_TIMESTART = eINSTANCE.getSensor_OcciSensorTimestart();
 
 		/**
-		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Occi Sensor Timestop</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute MONITORING_PROPERTY__ID = eINSTANCE.getMonitoringProperty_Id();
+		EAttribute SENSOR__OCCI_SENSOR_TIMESTOP = eINSTANCE.getSensor_OcciSensorTimestop();
 
 		/**
-		 * The meta object literal for the '{@link monitoring.impl.MonitoringPropertyArrayImpl <em>Property Array</em>}' class.
+		 * The meta object literal for the '<em><b>Occi Sensor Period</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see monitoring.impl.MonitoringPropertyArrayImpl
-		 * @see monitoring.impl.MonitoringPackageImpl#getMonitoringPropertyArray()
 		 * @generated
 		 */
-		EClass MONITORING_PROPERTY_ARRAY = eINSTANCE.getMonitoringPropertyArray();
+		EAttribute SENSOR__OCCI_SENSOR_PERIOD = eINSTANCE.getSensor_OcciSensorPeriod();
 
 		/**
-		 * The meta object literal for the '<em><b>Monitoringpropertyarray Values</b></em>' containment reference list feature.
+		 * The meta object literal for the '<em><b>Occi Sensor Granularity</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference MONITORING_PROPERTY_ARRAY__MONITORINGPROPERTYARRAY_VALUES = eINSTANCE.getMonitoringPropertyArray_MonitoringpropertyarrayValues();
+		EAttribute SENSOR__OCCI_SENSOR_GRANULARITY = eINSTANCE.getSensor_OcciSensorGranularity();
 
 		/**
-		 * The meta object literal for the '{@link monitoring.impl.SensorImpl <em>Sensor</em>}' class.
+		 * The meta object literal for the '<em><b>Occi Sensor Accuracy</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see monitoring.impl.SensorImpl
-		 * @see monitoring.impl.MonitoringPackageImpl#getSensor()
 		 * @generated
 		 */
-		EClass SENSOR = eINSTANCE.getSensor();
+		EAttribute SENSOR__OCCI_SENSOR_ACCURACY = eINSTANCE.getSensor_OcciSensorAccuracy();
 
 		/**
-		 * The meta object literal for the '<em><b>Occi Sensor Timebase</b></em>' attribute feature.
+		 * The meta object literal for the '{@link monitoring.impl.DatagathererImpl <em>Datagatherer</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
+		 * @see monitoring.impl.DatagathererImpl
+		 * @see monitoring.impl.MonitoringPackageImpl#getDatagatherer()
 		 * @generated
 		 */
-		EAttribute SENSOR__OCCI_SENSOR_TIMEBASE = eINSTANCE.getSensor_OcciSensorTimebase();
+		EClass DATAGATHERER = eINSTANCE.getDatagatherer();
 
 		/**
-		 * The meta object literal for the '<em><b>Occi Sensor Timestart</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Occi Collector Period</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute SENSOR__OCCI_SENSOR_TIMESTART = eINSTANCE.getSensor_OcciSensorTimestart();
+		EAttribute DATAGATHERER__OCCI_COLLECTOR_PERIOD = eINSTANCE.getDatagatherer_OcciCollectorPeriod();
 
 		/**
-		 * The meta object literal for the '<em><b>Occi Sensor Timestop</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Occi Collector Granularity</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute SENSOR__OCCI_SENSOR_TIMESTOP = eINSTANCE.getSensor_OcciSensorTimestop();
+		EAttribute DATAGATHERER__OCCI_COLLECTOR_GRANULARITY = eINSTANCE.getDatagatherer_OcciCollectorGranularity();
 
 		/**
-		 * The meta object literal for the '<em><b>Occi Sensor Period</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Occi Collector Accuracy</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute SENSOR__OCCI_SENSOR_PERIOD = eINSTANCE.getSensor_OcciSensorPeriod();
+		EAttribute DATAGATHERER__OCCI_COLLECTOR_ACCURACY = eINSTANCE.getDatagatherer_OcciCollectorAccuracy();
 
 		/**
-		 * The meta object literal for the '<em><b>Occi Sensor Granularity</b></em>' attribute feature.
+		 * The meta object literal for the '{@link monitoring.impl.ProcessorImpl <em>Processor</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
+		 * @see monitoring.impl.ProcessorImpl
+		 * @see monitoring.impl.MonitoringPackageImpl#getProcessor()
 		 * @generated
 		 */
-		EAttribute SENSOR__OCCI_SENSOR_GRANULARITY = eINSTANCE.getSensor_OcciSensorGranularity();
+		EClass PROCESSOR = eINSTANCE.getProcessor();
 
 		/**
-		 * The meta object literal for the '<em><b>Occi Sensor Accuracy</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Gatherer Address</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute SENSOR__OCCI_SENSOR_ACCURACY = eINSTANCE.getSensor_OcciSensorAccuracy();
+		EAttribute PROCESSOR__GATHERER_ADDRESS = eINSTANCE.getProcessor_GathererAddress();
 
 		/**
-		 * The meta object literal for the '{@link monitoring.impl.DatagathererImpl <em>Datagatherer</em>}' class.
+		 * The meta object literal for the '{@link monitoring.impl.PublisherImpl <em>Publisher</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see monitoring.impl.DatagathererImpl
-		 * @see monitoring.impl.MonitoringPackageImpl#getDatagatherer()
+		 * @see monitoring.impl.PublisherImpl
+		 * @see monitoring.impl.MonitoringPackageImpl#getPublisher()
 		 * @generated
 		 */
-		EClass DATAGATHERER = eINSTANCE.getDatagatherer();
+		EClass PUBLISHER = eINSTANCE.getPublisher();
 
 		/**
-		 * The meta object literal for the '<em><b>Occi Collector Period</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Publisher Endpoint</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute DATAGATHERER__OCCI_COLLECTOR_PERIOD = eINSTANCE.getDatagatherer_OcciCollectorPeriod();
+		EAttribute PUBLISHER__PUBLISHER_ENDPOINT = eINSTANCE.getPublisher_PublisherEndpoint();
 
 		/**
-		 * The meta object literal for the '<em><b>Occi Collector Granularity</b></em>' attribute feature.
+		 * The meta object literal for the '{@link monitoring.impl.MonitoringpropertyImpl <em>Monitoringproperty</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
+		 * @see monitoring.impl.MonitoringpropertyImpl
+		 * @see monitoring.impl.MonitoringPackageImpl#getMonitoringproperty()
 		 * @generated
 		 */
-		EAttribute DATAGATHERER__OCCI_COLLECTOR_GRANULARITY = eINSTANCE.getDatagatherer_OcciCollectorGranularity();
+		EClass MONITORINGPROPERTY = eINSTANCE.getMonitoringproperty();
 
 		/**
-		 * The meta object literal for the '<em><b>Occi Collector Accuracy</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Monitoring Property Name</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute DATAGATHERER__OCCI_COLLECTOR_ACCURACY = eINSTANCE.getDatagatherer_OcciCollectorAccuracy();
+		EAttribute MONITORINGPROPERTY__MONITORING_PROPERTY_NAME = eINSTANCE.getMonitoringproperty_MonitoringPropertyName();
 
 		/**
-		 * The meta object literal for the '{@link monitoring.impl.ProcessorImpl <em>Processor</em>}' class.
+		 * The meta object literal for the '<em><b>Monitoring Property Value</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 MONITORINGPROPERTY__MONITORING_PROPERTY_VALUE = eINSTANCE.getMonitoringproperty_MonitoringPropertyValue();
 
 		/**
-		 * The meta object literal for the '{@link monitoring.impl.PublisherImpl <em>Publisher</em>}' class.
+		 * The meta object literal for the '<em><b>Target Constraint</b></em>' operation.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see monitoring.impl.PublisherImpl
-		 * @see monitoring.impl.MonitoringPackageImpl#getPublisher()
 		 * @generated
 		 */
-		EClass PUBLISHER = eINSTANCE.getPublisher();
+		EOperation MONITORINGPROPERTY___TARGET_CONSTRAINT__DIAGNOSTICCHAIN_MAP = eINSTANCE.getMonitoringproperty__TargetConstraint__DiagnosticChain_Map();
+
+		/**
+		 * The meta object literal for the '{@link monitoring.impl.MartpublisherImpl <em>Martpublisher</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see monitoring.impl.MartpublisherImpl
+		 * @see monitoring.impl.MonitoringPackageImpl#getMartpublisher()
+		 * @generated
+		 */
+		EClass MARTPUBLISHER = eINSTANCE.getMartpublisher();
+
+		/**
+		 * The meta object literal for the '<em><b>Monitoring Property Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MARTPUBLISHER__MONITORING_PROPERTY_NAME = eINSTANCE.getMartpublisher_MonitoringPropertyName();
 
 		/**
-		 * The meta object literal for the '{@link monitoring.impl.MonitoringpropertiesImpl <em>Monitoringproperties</em>}' class.
+		 * The meta object literal for the '<em><b>Monitoring Property Id</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see monitoring.impl.MonitoringpropertiesImpl
-		 * @see monitoring.impl.MonitoringPackageImpl#getMonitoringproperties()
 		 * @generated
 		 */
-		EClass MONITORINGPROPERTIES = eINSTANCE.getMonitoringproperties();
+		EAttribute MARTPUBLISHER__MONITORING_PROPERTY_ID = eINSTANCE.getMartpublisher_MonitoringPropertyId();
 
 		/**
-		 * The meta object literal for the '<em><b>Monitoring Properties</b></em>' containment reference feature.
+		 * The meta object literal for the '<em><b>Monitoring Property Resource</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference MONITORINGPROPERTIES__MONITORING_PROPERTIES = eINSTANCE.getMonitoringproperties_MonitoringProperties();
+		EAttribute MARTPUBLISHER__MONITORING_PROPERTY_RESOURCE = eINSTANCE.getMartpublisher_MonitoringPropertyResource();
 
 		/**
 		 * The meta object literal for the '<em><b>Applies Constraint</b></em>' operation.
@@ -1723,7 +1892,7 @@ public interface MonitoringPackage extends EPackage {
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EOperation MONITORINGPROPERTIES___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP = eINSTANCE.getMonitoringproperties__AppliesConstraint__DiagnosticChain_Map();
+		EOperation MARTPUBLISHER___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP = eINSTANCE.getMartpublisher__AppliesConstraint__DiagnosticChain_Map();
 
 		/**
 		 * The meta object literal for the '<em>Date Time</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 5912e67..0000000
--- 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 dda505b..0000000
--- 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 1ad948b..57a1073 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,16 @@ 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_Martpublisher = monitoring.MonitoringTables.PACKid_http_c_s_s_schemas_ugoe_cs_rwm_s_monitoring_s_ecore.getClassId("Martpublisher", 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_Publisher = monitoring.MonitoringTables.PACKid_http_c_s_s_schemas_ugoe_cs_rwm_s_monitoring_s_ecore.getClassId("Publisher", 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.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.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.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_Martpublisher_c_c_appliesConstraint = "Martpublisher::appliesConstraint";
+	public static final /*@NonInvalid*/ java.lang.String STR_Monitoringproperty_c_c_targetConstraint = "Monitoringproperty::targetConstraint";
 
 	/**
 	 *	The type parameters for templated types and operations.
@@ -110,9 +109,8 @@ 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 _Martpublisher = new EcoreExecutorType(MonitoringPackage.Literals.MARTPUBLISHER, PACKAGE, 0);
+		public static final /*@NonNull*/ EcoreExecutorType _Monitoringproperty = new EcoreExecutorType(MonitoringPackage.Literals.MONITORINGPROPERTY, 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);
@@ -122,9 +120,8 @@ public class MonitoringTables
 		private static final /*@NonNull*/ EcoreExecutorType /*@NonNull*/ [] types = {
 			_Datagatherer,
 			_DateTime,
-			_MonitoringProperty,
-			_MonitoringPropertyArray,
-			_Monitoringproperties,
+			_Martpublisher,
+			_Monitoringproperty,
 			_Processor,
 			_Publisher,
 			_Second,
@@ -165,18 +162,16 @@ public class MonitoringTables
 		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 _Martpublisher__Martpublisher = new ExecutorFragment(Types._Martpublisher, MonitoringTables.Types._Martpublisher);
+		private static final /*@NonNull*/ ExecutorFragment _Martpublisher__MixinBase = new ExecutorFragment(Types._Martpublisher, OCCITables.Types._MixinBase);
+		private static final /*@NonNull*/ ExecutorFragment _Martpublisher__OclAny = new ExecutorFragment(Types._Martpublisher, OCLstdlibTables.Types._OclAny);
+		private static final /*@NonNull*/ ExecutorFragment _Martpublisher__OclElement = new ExecutorFragment(Types._Martpublisher, 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 _Monitoringproperty__Entity = new ExecutorFragment(Types._Monitoringproperty, OCCITables.Types._Entity);
+		private static final /*@NonNull*/ ExecutorFragment _Monitoringproperty__Link = new ExecutorFragment(Types._Monitoringproperty, OCCITables.Types._Link);
+		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 _Processor__Component = new ExecutorFragment(Types._Processor, PlatformTables.Types._Component);
 		private static final /*@NonNull*/ ExecutorFragment _Processor__Entity = new ExecutorFragment(Types._Processor, OCCITables.Types._Entity);
@@ -366,15 +361,16 @@ public class MonitoringTables
 		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 _Martpublisher__monitoringPropertyId = new EcoreExecutorProperty(MonitoringPackage.Literals.MARTPUBLISHER__MONITORING_PROPERTY_ID, Types._Martpublisher, 0);
+		public static final /*@NonNull*/ ExecutorProperty _Martpublisher__monitoringPropertyName = new EcoreExecutorProperty(MonitoringPackage.Literals.MARTPUBLISHER__MONITORING_PROPERTY_NAME, Types._Martpublisher, 1);
+		public static final /*@NonNull*/ ExecutorProperty _Martpublisher__monitoringPropertyResource = new EcoreExecutorProperty(MonitoringPackage.Literals.MARTPUBLISHER__MONITORING_PROPERTY_RESOURCE, Types._Martpublisher, 2);
+
+		public static final /*@NonNull*/ ExecutorProperty _Monitoringproperty__monitoringPropertyName = new EcoreExecutorProperty(MonitoringPackage.Literals.MONITORINGPROPERTY__MONITORING_PROPERTY_NAME, Types._Monitoringproperty, 0);
+		public static final /*@NonNull*/ ExecutorProperty _Monitoringproperty__monitoringPropertyValue = new EcoreExecutorProperty(MonitoringPackage.Literals.MONITORINGPROPERTY__MONITORING_PROPERTY_VALUE, Types._Monitoringproperty, 1);
 
-		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 _Processor__gathererAddress = new EcoreExecutorProperty(MonitoringPackage.Literals.PROCESSOR__GATHERER_ADDRESS, Types._Processor, 0);
 
-		public static final /*@NonNull*/ ExecutorProperty _Monitoringproperties__monitoringProperties = new EcoreExecutorProperty(MonitoringPackage.Literals.MONITORINGPROPERTIES__MONITORING_PROPERTIES, Types._Monitoringproperties, 0);
+		public static final /*@NonNull*/ ExecutorProperty _Publisher__publisherEndpoint = new EcoreExecutorProperty(MonitoringPackage.Literals.PUBLISHER__PUBLISHER_ENDPOINT, Types._Publisher, 0);
 
 		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);
@@ -419,30 +415,24 @@ public class MonitoringTables
 		};
 		private static final int /*@NonNull*/ [] __DateTime = { 1,1 };
 
-		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _MonitoringProperty =
-		{
-			Fragments._MonitoringProperty__OclAny /* 0 */,
-			Fragments._MonitoringProperty__OclElement /* 1 */,
-			Fragments._MonitoringProperty__MonitoringProperty /* 2 */
-		};
-		private static final int /*@NonNull*/ [] __MonitoringProperty = { 1,1,1 };
-
-		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _MonitoringPropertyArray =
+		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _Martpublisher =
 		{
-			Fragments._MonitoringPropertyArray__OclAny /* 0 */,
-			Fragments._MonitoringPropertyArray__OclElement /* 1 */,
-			Fragments._MonitoringPropertyArray__MonitoringPropertyArray /* 2 */
+			Fragments._Martpublisher__OclAny /* 0 */,
+			Fragments._Martpublisher__OclElement /* 1 */,
+			Fragments._Martpublisher__MixinBase /* 2 */,
+			Fragments._Martpublisher__Martpublisher /* 3 */
 		};
-		private static final int /*@NonNull*/ [] __MonitoringPropertyArray = { 1,1,1 };
+		private static final int /*@NonNull*/ [] __Martpublisher = { 1,1,1,1 };
 
-		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _Monitoringproperties =
+		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _Monitoringproperty =
 		{
-			Fragments._Monitoringproperties__OclAny /* 0 */,
-			Fragments._Monitoringproperties__OclElement /* 1 */,
-			Fragments._Monitoringproperties__MixinBase /* 2 */,
-			Fragments._Monitoringproperties__Monitoringproperties /* 3 */
+			Fragments._Monitoringproperty__OclAny /* 0 */,
+			Fragments._Monitoringproperty__OclElement /* 1 */,
+			Fragments._Monitoringproperty__Entity /* 2 */,
+			Fragments._Monitoringproperty__Link /* 3 */,
+			Fragments._Monitoringproperty__Monitoringproperty /* 4 */
 		};
-		private static final int /*@NonNull*/ [] __Monitoringproperties = { 1,1,1,1 };
+		private static final int /*@NonNull*/ [] __Monitoringproperty = { 1,1,1,1,1 };
 
 		private static final /*@NonNull*/ ExecutorFragment /*@NonNull*/ [] _Processor =
 		{
@@ -499,9 +489,8 @@ 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._Martpublisher.initFragments(_Martpublisher, __Martpublisher);
+			Types._Monitoringproperty.initFragments(_Monitoringproperty, __Monitoringproperty);
 			Types._Processor.initFragments(_Processor, __Processor);
 			Types._Publisher.initFragments(_Publisher, __Publisher);
 			Types._Second.initFragments(_Second, __Second);
@@ -591,8 +580,9 @@ public class MonitoringTables
 			OCLstdlibTables.Operations._OclAny__toString /* toString() */
 		};
 
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _MonitoringProperty__MonitoringProperty = {};
-		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _MonitoringProperty__OclAny = {
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Martpublisher__Martpublisher = {};
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Martpublisher__MixinBase = {};
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Martpublisher__OclAny = {
 			OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
 			OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
 			OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
@@ -609,7 +599,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*/ [] _Martpublisher__OclElement = {
 			OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
 			OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
 			OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
@@ -619,37 +609,24 @@ public class MonitoringTables
 			OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */
 		};
 
-		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*/ [] _Monitoringproperty__Monitoringproperty = {};
+		private static final /*@NonNull*/ ExecutorOperation /*@NonNull*/ [] _Monitoringproperty__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*/ [] _Monitoringproperty__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*/ [] _Monitoringproperty__OclAny = {
 			OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */,
 			OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */,
 			OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */,
@@ -666,7 +643,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*/ [] _Monitoringproperty__OclElement = {
 			OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */,
 			OCLstdlibTables.Operations._OclElement__oclAsModelType /* oclAsModelType(TT)(TT[?]) */,
 			OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */,
@@ -916,18 +893,16 @@ public class MonitoringTables
 			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._Martpublisher__Martpublisher.initOperations(_Martpublisher__Martpublisher);
+			Fragments._Martpublisher__MixinBase.initOperations(_Martpublisher__MixinBase);
+			Fragments._Martpublisher__OclAny.initOperations(_Martpublisher__OclAny);
+			Fragments._Martpublisher__OclElement.initOperations(_Martpublisher__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._Monitoringproperty__Entity.initOperations(_Monitoringproperty__Entity);
+			Fragments._Monitoringproperty__Link.initOperations(_Monitoringproperty__Link);
+			Fragments._Monitoringproperty__Monitoringproperty.initOperations(_Monitoringproperty__Monitoringproperty);
+			Fragments._Monitoringproperty__OclAny.initOperations(_Monitoringproperty__OclAny);
+			Fragments._Monitoringproperty__OclElement.initOperations(_Monitoringproperty__OclElement);
 
 			Fragments._Processor__Component.initOperations(_Processor__Component);
 			Fragments._Processor__Entity.initOperations(_Processor__Entity);
@@ -984,23 +959,24 @@ public class MonitoringTables
 
 		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _DateTime = {};
 
-		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*/ [] _Martpublisher = {
+			MonitoringTables.Properties._Martpublisher__monitoringPropertyId,
+			MonitoringTables.Properties._Martpublisher__monitoringPropertyName,
+			MonitoringTables.Properties._Martpublisher__monitoringPropertyResource
 		};
 
-		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _MonitoringPropertyArray = {
-			MonitoringTables.Properties._MonitoringPropertyArray__monitoringpropertyarrayValues
+		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Monitoringproperty = {
+			MonitoringTables.Properties._Monitoringproperty__monitoringPropertyName,
+			MonitoringTables.Properties._Monitoringproperty__monitoringPropertyValue
 		};
 
-		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Monitoringproperties = {
-			MonitoringTables.Properties._Monitoringproperties__monitoringProperties
+		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Processor = {
+			MonitoringTables.Properties._Processor__gathererAddress
 		};
 
-		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Processor = {};
-
-		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Publisher = {};
+		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Publisher = {
+			MonitoringTables.Properties._Publisher__publisherEndpoint
+		};
 
 		private static final /*@NonNull*/ ExecutorProperty /*@NonNull*/ [] _Second = {};
 
@@ -1021,9 +997,8 @@ 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._Martpublisher__Martpublisher.initProperties(_Martpublisher);
+			Fragments._Monitoringproperty__Monitoringproperty.initProperties(_Monitoringproperty);
 			Fragments._Processor__Processor.initProperties(_Processor);
 			Fragments._Publisher__Publisher.initProperties(_Publisher);
 			Fragments._Second__Second.initProperties(_Second);
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 30bff2b..0000000
--- 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/Monitoringproperty.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Monitoringproperty.java
new file mode 100644
index 0000000..e02c530
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Monitoringproperty.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>Monitoringproperty</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * MonitoringProperty Component
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link monitoring.Monitoringproperty#getMonitoringPropertyName <em>Monitoring Property Name</em>}</li>
+ *   <li>{@link monitoring.Monitoringproperty#getMonitoringPropertyValue <em>Monitoring Property Value</em>}</li>
+ * </ul>
+ *
+ * @see monitoring.MonitoringPackage#getMonitoringproperty()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='targetConstraint'"
+ * @generated
+ */
+public interface Monitoringproperty extends Link {
+	/**
+	 * Returns the value of the '<em><b>Monitoring Property Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * 
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Monitoring Property Name</em>' attribute.
+	 * @see #setMonitoringPropertyName(String)
+	 * @see monitoring.MonitoringPackage#getMonitoringproperty_MonitoringPropertyName()
+	 * @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!monitoringPropertyName'"
+	 * @generated
+	 */
+	String getMonitoringPropertyName();
+
+	/**
+	 * Sets the value of the '{@link monitoring.Monitoringproperty#getMonitoringPropertyName <em>Monitoring Property Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Monitoring Property Name</em>' attribute.
+	 * @see #getMonitoringPropertyName()
+	 * @generated
+	 */
+	void setMonitoringPropertyName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Monitoring Property Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * 
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Monitoring Property Value</em>' attribute.
+	 * @see #setMonitoringPropertyValue(String)
+	 * @see monitoring.MonitoringPackage#getMonitoringproperty_MonitoringPropertyValue()
+	 * @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!Monitoringproperty!monitoringPropertyValue'"
+	 * @generated
+	 */
+	String getMonitoringPropertyValue();
+
+	/**
+	 * Sets the value of the '{@link monitoring.Monitoringproperty#getMonitoringPropertyValue <em>Monitoring Property Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Monitoring Property Value</em>' attribute.
+	 * @see #getMonitoringPropertyValue()
+	 * @generated
+	 */
+	void setMonitoringPropertyValue(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] = \'Monitoringproperty::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 *         \'Monitoringproperty::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_Monitoringproperty_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_Monitoringproperty_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);
+
+} // Monitoringproperty
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Processor.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Processor.java
index 370df23..3c09509 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Processor.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Processor.java
@@ -23,10 +23,42 @@ import org.modmacao.occi.platform.Component;
  * Processor Resource
  * <!-- end-model-doc -->
  *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link monitoring.Processor#getGathererAddress <em>Gatherer Address</em>}</li>
+ * </ul>
  *
  * @see monitoring.MonitoringPackage#getProcessor()
  * @model
  * @generated
  */
 public interface Processor extends Component {
+	/**
+	 * Returns the value of the '<em><b>Gatherer Address</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * 
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Gatherer Address</em>' attribute.
+	 * @see #setGathererAddress(String)
+	 * @see monitoring.MonitoringPackage#getProcessor_GathererAddress()
+	 * @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!Processor!gathererAddress'"
+	 * @generated
+	 */
+	String getGathererAddress();
+
+	/**
+	 * Sets the value of the '{@link monitoring.Processor#getGathererAddress <em>Gatherer Address</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Gatherer Address</em>' attribute.
+	 * @see #getGathererAddress()
+	 * @generated
+	 */
+	void setGathererAddress(String value);
+
 } // Processor
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Publisher.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Publisher.java
index 6f40c9b..e00ebcb 100644
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Publisher.java
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/Publisher.java
@@ -23,10 +23,42 @@ import org.modmacao.occi.platform.Component;
  * Publisher Resource
  * <!-- end-model-doc -->
  *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link monitoring.Publisher#getPublisherEndpoint <em>Publisher Endpoint</em>}</li>
+ * </ul>
  *
  * @see monitoring.MonitoringPackage#getPublisher()
  * @model
  * @generated
  */
 public interface Publisher extends Component {
+	/**
+	 * Returns the value of the '<em><b>Publisher Endpoint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * <!-- begin-model-doc -->
+	 * 
+	 * <!-- end-model-doc -->
+	 * @return the value of the '<em>Publisher Endpoint</em>' attribute.
+	 * @see #setPublisherEndpoint(String)
+	 * @see monitoring.MonitoringPackage#getPublisher_PublisherEndpoint()
+	 * @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!Publisher!publisherEndpoint'"
+	 * @generated
+	 */
+	String getPublisherEndpoint();
+
+	/**
+	 * Sets the value of the '{@link monitoring.Publisher#getPublisherEndpoint <em>Publisher Endpoint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Publisher Endpoint</em>' attribute.
+	 * @see #getPublisherEndpoint()
+	 * @generated
+	 */
+	void setPublisherEndpoint(String value);
+
 } // Publisher
diff --git a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MartpublisherImpl.java b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MartpublisherImpl.java
new file mode 100644
index 0000000..1b3206b
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MartpublisherImpl.java
@@ -0,0 +1,357 @@
+/**
+ * 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.Martpublisher;
+import monitoring.MonitoringPackage;
+
+import monitoring.MonitoringTables;
+import monitoring.util.MonitoringValidator;
+
+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.util.Diagnostic;
+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>Martpublisher</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link monitoring.impl.MartpublisherImpl#getMonitoringPropertyName <em>Monitoring Property Name</em>}</li>
+ *   <li>{@link monitoring.impl.MartpublisherImpl#getMonitoringPropertyId <em>Monitoring Property Id</em>}</li>
+ *   <li>{@link monitoring.impl.MartpublisherImpl#getMonitoringPropertyResource <em>Monitoring Property Resource</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MartpublisherImpl extends MixinBaseImpl implements Martpublisher {
+	/**
+	 * The default value of the '{@link #getMonitoringPropertyName() <em>Monitoring Property Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringPropertyName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MONITORING_PROPERTY_NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMonitoringPropertyName() <em>Monitoring Property Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringPropertyName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String monitoringPropertyName = MONITORING_PROPERTY_NAME_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMonitoringPropertyId() <em>Monitoring Property Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringPropertyId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MONITORING_PROPERTY_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMonitoringPropertyId() <em>Monitoring Property Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringPropertyId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String monitoringPropertyId = MONITORING_PROPERTY_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMonitoringPropertyResource() <em>Monitoring Property Resource</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringPropertyResource()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MONITORING_PROPERTY_RESOURCE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMonitoringPropertyResource() <em>Monitoring Property Resource</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringPropertyResource()
+	 * @generated
+	 * @ordered
+	 */
+	protected String monitoringPropertyResource = MONITORING_PROPERTY_RESOURCE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MartpublisherImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return MonitoringPackage.Literals.MARTPUBLISHER;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMonitoringPropertyName() {
+		return monitoringPropertyName;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMonitoringPropertyName(String newMonitoringPropertyName) {
+		String oldMonitoringPropertyName = monitoringPropertyName;
+		monitoringPropertyName = newMonitoringPropertyName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_NAME, oldMonitoringPropertyName, monitoringPropertyName));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMonitoringPropertyId() {
+		return monitoringPropertyId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMonitoringPropertyId(String newMonitoringPropertyId) {
+		String oldMonitoringPropertyId = monitoringPropertyId;
+		monitoringPropertyId = newMonitoringPropertyId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_ID, oldMonitoringPropertyId, monitoringPropertyId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMonitoringPropertyResource() {
+		return monitoringPropertyResource;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMonitoringPropertyResource(String newMonitoringPropertyResource) {
+		String oldMonitoringPropertyResource = monitoringPropertyResource;
+		monitoringPropertyResource = newMonitoringPropertyResource;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_RESOURCE, oldMonitoringPropertyResource, monitoringPropertyResource));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean appliesConstraint(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+		/**
+		 *
+		 * inv appliesConstraint:
+		 *   let severity : Integer[1] = 'Martpublisher::appliesConstraint'.getSeverity()
+		 *   in
+		 *     if severity <= 0
+		 *     then true
+		 *     else
+		 *       let
+		 *         result : occi::Boolean[1] = self.entity.oclIsKindOf(Publisher)
+		 *       in
+		 *         'Martpublisher::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_Martpublisher_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_monitoring_c_c_Publisher = idResolver.getClass(MonitoringTables.CLSSid_Publisher, null);
+			final /*@NonInvalid*/ Entity entity = this.getEntity();
+			final /*@NonInvalid*/ boolean result = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, entity, TYP_monitoring_c_c_Publisher).booleanValue();
+			final /*@NonInvalid*/ boolean logDiagnostic = CGStringLogDiagnosticOperation.INSTANCE.evaluate(executor, TypeId.BOOLEAN, MonitoringTables.STR_Martpublisher_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 Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_NAME:
+				return getMonitoringPropertyName();
+			case MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_ID:
+				return getMonitoringPropertyId();
+			case MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_RESOURCE:
+				return getMonitoringPropertyResource();
+		}
+		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.MARTPUBLISHER__MONITORING_PROPERTY_NAME:
+				setMonitoringPropertyName((String)newValue);
+				return;
+			case MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_ID:
+				setMonitoringPropertyId((String)newValue);
+				return;
+			case MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_RESOURCE:
+				setMonitoringPropertyResource((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_NAME:
+				setMonitoringPropertyName(MONITORING_PROPERTY_NAME_EDEFAULT);
+				return;
+			case MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_ID:
+				setMonitoringPropertyId(MONITORING_PROPERTY_ID_EDEFAULT);
+				return;
+			case MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_RESOURCE:
+				setMonitoringPropertyResource(MONITORING_PROPERTY_RESOURCE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_NAME:
+				return MONITORING_PROPERTY_NAME_EDEFAULT == null ? monitoringPropertyName != null : !MONITORING_PROPERTY_NAME_EDEFAULT.equals(monitoringPropertyName);
+			case MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_ID:
+				return MONITORING_PROPERTY_ID_EDEFAULT == null ? monitoringPropertyId != null : !MONITORING_PROPERTY_ID_EDEFAULT.equals(monitoringPropertyId);
+			case MonitoringPackage.MARTPUBLISHER__MONITORING_PROPERTY_RESOURCE:
+				return MONITORING_PROPERTY_RESOURCE_EDEFAULT == null ? monitoringPropertyResource != null : !MONITORING_PROPERTY_RESOURCE_EDEFAULT.equals(monitoringPropertyResource);
+		}
+		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.MARTPUBLISHER___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP:
+				return appliesConstraint((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(" (monitoringPropertyName: ");
+		result.append(monitoringPropertyName);
+		result.append(", monitoringPropertyId: ");
+		result.append(monitoringPropertyId);
+		result.append(", monitoringPropertyResource: ");
+		result.append(monitoringPropertyResource);
+		result.append(')');
+		return result.toString();
+	}
+
+} //MartpublisherImpl
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 89e45c2..cf98693 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.MONITORINGPROPERTY: return createMonitoringproperty();
+			case MonitoringPackage.MARTPUBLISHER: return createMartpublisher();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
 		}
@@ -117,26 +116,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 -->
@@ -182,9 +161,19 @@ public class MonitoringFactoryImpl extends EFactoryImpl implements MonitoringFac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public Monitoringproperties createMonitoringproperties() {
-		MonitoringpropertiesImpl monitoringproperties = new MonitoringpropertiesImpl();
-		return monitoringproperties;
+	public Monitoringproperty createMonitoringproperty() {
+		MonitoringpropertyImpl monitoringproperty = new MonitoringpropertyImpl();
+		return monitoringproperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Martpublisher createMartpublisher() {
+		MartpublisherImpl martpublisher = new MartpublisherImpl();
+		return martpublisher;
 	}
 
 	/**
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 c123c3c..83c528d 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,11 +13,10 @@
 package monitoring.impl;
 
 import monitoring.Datagatherer;
+import monitoring.Martpublisher;
 import monitoring.MonitoringFactory;
 import monitoring.MonitoringPackage;
-import monitoring.MonitoringProperty;
-import monitoring.MonitoringPropertyArray;
-import monitoring.Monitoringproperties;
+import monitoring.Monitoringproperty;
 import monitoring.Processor;
 import monitoring.Publisher;
 import monitoring.Sensor;
@@ -32,7 +31,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;
@@ -51,49 +49,42 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass monitoringPropertyEClass = null;
+	private EClass sensorEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass monitoringPropertyArrayEClass = null;
+	private EClass datagathererEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass sensorEClass = null;
+	private EClass processorEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass datagathererEClass = null;
+	private EClass publisherEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass processorEClass = null;
+	private EClass monitoringpropertyEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass publisherEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass monitoringpropertiesEClass = null;
+	private EClass martpublisherEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -195,8 +186,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EClass getMonitoringProperty() {
-		return monitoringPropertyEClass;
+	public EClass getSensor() {
+		return sensorEClass;
 	}
 
 	/**
@@ -204,8 +195,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getMonitoringProperty_Name() {
-		return (EAttribute)monitoringPropertyEClass.getEStructuralFeatures().get(0);
+	public EAttribute getSensor_OcciSensorTimebase() {
+		return (EAttribute)sensorEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -213,8 +204,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getMonitoringProperty_Value() {
-		return (EAttribute)monitoringPropertyEClass.getEStructuralFeatures().get(1);
+	public EAttribute getSensor_OcciSensorTimestart() {
+		return (EAttribute)sensorEClass.getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -222,8 +213,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getMonitoringProperty_Id() {
-		return (EAttribute)monitoringPropertyEClass.getEStructuralFeatures().get(2);
+	public EAttribute getSensor_OcciSensorTimestop() {
+		return (EAttribute)sensorEClass.getEStructuralFeatures().get(2);
 	}
 
 	/**
@@ -231,8 +222,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EClass getMonitoringPropertyArray() {
-		return monitoringPropertyArrayEClass;
+	public EAttribute getSensor_OcciSensorPeriod() {
+		return (EAttribute)sensorEClass.getEStructuralFeatures().get(3);
 	}
 
 	/**
@@ -240,8 +231,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getMonitoringPropertyArray_MonitoringpropertyarrayValues() {
-		return (EReference)monitoringPropertyArrayEClass.getEStructuralFeatures().get(0);
+	public EAttribute getSensor_OcciSensorGranularity() {
+		return (EAttribute)sensorEClass.getEStructuralFeatures().get(4);
 	}
 
 	/**
@@ -249,8 +240,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EClass getSensor() {
-		return sensorEClass;
+	public EAttribute getSensor_OcciSensorAccuracy() {
+		return (EAttribute)sensorEClass.getEStructuralFeatures().get(5);
 	}
 
 	/**
@@ -258,8 +249,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getSensor_OcciSensorTimebase() {
-		return (EAttribute)sensorEClass.getEStructuralFeatures().get(0);
+	public EClass getDatagatherer() {
+		return datagathererEClass;
 	}
 
 	/**
@@ -267,8 +258,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getSensor_OcciSensorTimestart() {
-		return (EAttribute)sensorEClass.getEStructuralFeatures().get(1);
+	public EAttribute getDatagatherer_OcciCollectorPeriod() {
+		return (EAttribute)datagathererEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -276,8 +267,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getSensor_OcciSensorTimestop() {
-		return (EAttribute)sensorEClass.getEStructuralFeatures().get(2);
+	public EAttribute getDatagatherer_OcciCollectorGranularity() {
+		return (EAttribute)datagathererEClass.getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -285,8 +276,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getSensor_OcciSensorPeriod() {
-		return (EAttribute)sensorEClass.getEStructuralFeatures().get(3);
+	public EAttribute getDatagatherer_OcciCollectorAccuracy() {
+		return (EAttribute)datagathererEClass.getEStructuralFeatures().get(2);
 	}
 
 	/**
@@ -294,8 +285,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getSensor_OcciSensorGranularity() {
-		return (EAttribute)sensorEClass.getEStructuralFeatures().get(4);
+	public EClass getProcessor() {
+		return processorEClass;
 	}
 
 	/**
@@ -303,8 +294,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getSensor_OcciSensorAccuracy() {
-		return (EAttribute)sensorEClass.getEStructuralFeatures().get(5);
+	public EAttribute getProcessor_GathererAddress() {
+		return (EAttribute)processorEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -312,8 +303,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EClass getDatagatherer() {
-		return datagathererEClass;
+	public EClass getPublisher() {
+		return publisherEClass;
 	}
 
 	/**
@@ -321,8 +312,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getDatagatherer_OcciCollectorPeriod() {
-		return (EAttribute)datagathererEClass.getEStructuralFeatures().get(0);
+	public EAttribute getPublisher_PublisherEndpoint() {
+		return (EAttribute)publisherEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -330,8 +321,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getDatagatherer_OcciCollectorGranularity() {
-		return (EAttribute)datagathererEClass.getEStructuralFeatures().get(1);
+	public EClass getMonitoringproperty() {
+		return monitoringpropertyEClass;
 	}
 
 	/**
@@ -339,8 +330,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getDatagatherer_OcciCollectorAccuracy() {
-		return (EAttribute)datagathererEClass.getEStructuralFeatures().get(2);
+	public EAttribute getMonitoringproperty_MonitoringPropertyName() {
+		return (EAttribute)monitoringpropertyEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -348,8 +339,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EClass getProcessor() {
-		return processorEClass;
+	public EAttribute getMonitoringproperty_MonitoringPropertyValue() {
+		return (EAttribute)monitoringpropertyEClass.getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -357,8 +348,17 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EClass getPublisher() {
-		return publisherEClass;
+	public EOperation getMonitoringproperty__TargetConstraint__DiagnosticChain_Map() {
+		return monitoringpropertyEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMartpublisher() {
+		return martpublisherEClass;
 	}
 
 	/**
@@ -366,8 +366,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EClass getMonitoringproperties() {
-		return monitoringpropertiesEClass;
+	public EAttribute getMartpublisher_MonitoringPropertyName() {
+		return (EAttribute)martpublisherEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -375,8 +375,8 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getMonitoringproperties_MonitoringProperties() {
-		return (EReference)monitoringpropertiesEClass.getEStructuralFeatures().get(0);
+	public EAttribute getMartpublisher_MonitoringPropertyId() {
+		return (EAttribute)martpublisherEClass.getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -384,8 +384,17 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getMonitoringproperties__AppliesConstraint__DiagnosticChain_Map() {
-		return monitoringpropertiesEClass.getEOperations().get(0);
+	public EAttribute getMartpublisher_MonitoringPropertyResource() {
+		return (EAttribute)martpublisherEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getMartpublisher__AppliesConstraint__DiagnosticChain_Map() {
+		return martpublisherEClass.getEOperations().get(0);
 	}
 
 	/**
@@ -443,14 +452,6 @@ 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);
@@ -465,12 +466,21 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 		createEAttribute(datagathererEClass, DATAGATHERER__OCCI_COLLECTOR_ACCURACY);
 
 		processorEClass = createEClass(PROCESSOR);
+		createEAttribute(processorEClass, PROCESSOR__GATHERER_ADDRESS);
 
 		publisherEClass = createEClass(PUBLISHER);
+		createEAttribute(publisherEClass, PUBLISHER__PUBLISHER_ENDPOINT);
 
-		monitoringpropertiesEClass = createEClass(MONITORINGPROPERTIES);
-		createEReference(monitoringpropertiesEClass, MONITORINGPROPERTIES__MONITORING_PROPERTIES);
-		createEOperation(monitoringpropertiesEClass, MONITORINGPROPERTIES___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP);
+		monitoringpropertyEClass = createEClass(MONITORINGPROPERTY);
+		createEAttribute(monitoringpropertyEClass, MONITORINGPROPERTY__MONITORING_PROPERTY_NAME);
+		createEAttribute(monitoringpropertyEClass, MONITORINGPROPERTY__MONITORING_PROPERTY_VALUE);
+		createEOperation(monitoringpropertyEClass, MONITORINGPROPERTY___TARGET_CONSTRAINT__DIAGNOSTICCHAIN_MAP);
+
+		martpublisherEClass = createEClass(MARTPUBLISHER);
+		createEAttribute(martpublisherEClass, MARTPUBLISHER__MONITORING_PROPERTY_NAME);
+		createEAttribute(martpublisherEClass, MARTPUBLISHER__MONITORING_PROPERTY_ID);
+		createEAttribute(martpublisherEClass, MARTPUBLISHER__MONITORING_PROPERTY_RESOURCE);
+		createEOperation(martpublisherEClass, MARTPUBLISHER___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP);
 
 		// Create data types
 		dateTimeEDataType = createEDataType(DATE_TIME);
@@ -514,17 +524,10 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 		datagathererEClass.getESuperTypes().add(thePlatformPackage.getComponent());
 		processorEClass.getESuperTypes().add(thePlatformPackage.getComponent());
 		publisherEClass.getESuperTypes().add(thePlatformPackage.getComponent());
-		monitoringpropertiesEClass.getESuperTypes().add(theOCCIPackage.getMixinBase());
+		monitoringpropertyEClass.getESuperTypes().add(theOCCIPackage.getLink());
+		martpublisherEClass.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);
@@ -539,13 +542,16 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 		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);
+		initEAttribute(getProcessor_GathererAddress(), this.getString(), "gathererAddress", null, 0, 1, Processor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(publisherEClass, Publisher.class, "Publisher", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPublisher_PublisherEndpoint(), this.getString(), "publisherEndpoint", null, 1, 1, Publisher.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		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(monitoringpropertyEClass, Monitoringproperty.class, "Monitoringproperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMonitoringproperty_MonitoringPropertyName(), this.getString(), "monitoringPropertyName", null, 1, 1, Monitoringproperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringproperty_MonitoringPropertyValue(), this.getString(), "monitoringPropertyValue", null, 0, 1, Monitoringproperty.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(getMonitoringproperty__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,6 +560,20 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 		g1.getETypeArguments().add(g2);
 		addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);
 
+		initEClass(martpublisherEClass, Martpublisher.class, "Martpublisher", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMartpublisher_MonitoringPropertyName(), this.getString(), "monitoringPropertyName", null, 1, 1, Martpublisher.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMartpublisher_MonitoringPropertyId(), this.getString(), "monitoringPropertyId", null, 0, 1, Martpublisher.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMartpublisher_MonitoringPropertyResource(), this.getString(), "monitoringPropertyResource", null, 1, 1, Martpublisher.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		op = initEOperation(getMartpublisher__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);
@@ -583,7 +603,13 @@ public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPac
 		   new String[] {
 		   });	
 		addAnnotation
-		  (monitoringpropertiesEClass, 
+		  (monitoringpropertyEClass, 
+		   source, 
+		   new String[] {
+			 "constraints", "targetConstraint"
+		   });	
+		addAnnotation
+		  (martpublisherEClass, 
 		   source, 
 		   new String[] {
 			 "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 d9ee4e7..0000000
--- 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 28112c6..0000000
--- 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/MonitoringpropertiesImpl.java
deleted file mode 100644
index b7d5274..0000000
--- a/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringpropertiesImpl.java
+++ /dev/null
@@ -1,268 +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.lang.reflect.InvocationTargetException;
-
-import java.util.Map;
-
-import monitoring.MonitoringPackage;
-import monitoring.MonitoringPropertyArray;
-import monitoring.MonitoringTables;
-import monitoring.Monitoringproperties;
-
-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;
-
-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>Monitoringproperties</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link monitoring.impl.MonitoringpropertiesImpl#getMonitoringProperties <em>Monitoring Properties</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class MonitoringpropertiesImpl extends MixinBaseImpl implements Monitoringproperties {
-	/**
-	 * The cached value of the '{@link #getMonitoringProperties() <em>Monitoring Properties</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMonitoringProperties()
-	 * @generated
-	 * @ordered
-	 */
-	protected MonitoringPropertyArray monitoringProperties;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected MonitoringpropertiesImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.MONITORINGPROPERTIES;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MonitoringPropertyArray getMonitoringProperties() {
-		return monitoringProperties;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- 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;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- 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));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean appliesConstraint(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
-		/**
-		 *
-		 * inv appliesConstraint:
-		 *   let
-		 *     severity : Integer[1] = 'Monitoringproperties::appliesConstraint'.getSeverity()
-		 *   in
-		 *     if severity <= 0
-		 *     then true
-		 *     else
-		 *       let
-		 *         result : occi::Boolean[1] = self.entity.oclIsKindOf(occi::Resource)
-		 *       in
-		 *         'Monitoringproperties::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*/ 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*/ 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();
-			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 -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case MonitoringPackage.MONITORINGPROPERTIES__MONITORING_PROPERTIES:
-				return getMonitoringProperties();
-		}
-		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.MONITORINGPROPERTIES__MONITORING_PROPERTIES:
-				setMonitoringProperties((MonitoringPropertyArray)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.MONITORINGPROPERTIES__MONITORING_PROPERTIES:
-				setMonitoringProperties((MonitoringPropertyArray)null);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.MONITORINGPROPERTIES__MONITORING_PROPERTIES:
-				return monitoringProperties != null;
-		}
-		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.MONITORINGPROPERTIES___APPLIES_CONSTRAINT__DIAGNOSTICCHAIN_MAP:
-				return appliesConstraint((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
-		}
-		return super.eInvoke(operationID, arguments);
-	}
-
-} //MonitoringpropertiesImpl
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
new file mode 100644
index 0000000..56b7532
--- /dev/null
+++ b/de.ugoe.cs.rwm.mocci.model/src-gen/monitoring/impl/MonitoringpropertyImpl.java
@@ -0,0 +1,303 @@
+/**
+ * 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.MonitoringPackage;
+import monitoring.MonitoringTables;
+import monitoring.Monitoringproperty;
+
+import monitoring.util.MonitoringValidator;
+
+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.Diagnostic;
+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>Monitoringproperty</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link monitoring.impl.MonitoringpropertyImpl#getMonitoringPropertyName <em>Monitoring Property Name</em>}</li>
+ *   <li>{@link monitoring.impl.MonitoringpropertyImpl#getMonitoringPropertyValue <em>Monitoring Property Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MonitoringpropertyImpl extends LinkImpl implements Monitoringproperty {
+	/**
+	 * The default value of the '{@link #getMonitoringPropertyName() <em>Monitoring Property Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringPropertyName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MONITORING_PROPERTY_NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMonitoringPropertyName() <em>Monitoring Property Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringPropertyName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String monitoringPropertyName = MONITORING_PROPERTY_NAME_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMonitoringPropertyValue() <em>Monitoring Property Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringPropertyValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MONITORING_PROPERTY_VALUE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMonitoringPropertyValue() <em>Monitoring Property Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringPropertyValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected String monitoringPropertyValue = MONITORING_PROPERTY_VALUE_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.MONITORINGPROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMonitoringPropertyName() {
+		return monitoringPropertyName;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMonitoringPropertyName(String newMonitoringPropertyName) {
+		String oldMonitoringPropertyName = monitoringPropertyName;
+		monitoringPropertyName = newMonitoringPropertyName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORINGPROPERTY__MONITORING_PROPERTY_NAME, oldMonitoringPropertyName, monitoringPropertyName));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMonitoringPropertyValue() {
+		return monitoringPropertyValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMonitoringPropertyValue(String newMonitoringPropertyValue) {
+		String oldMonitoringPropertyValue = monitoringPropertyValue;
+		monitoringPropertyValue = newMonitoringPropertyValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORINGPROPERTY__MONITORING_PROPERTY_VALUE, oldMonitoringPropertyValue, monitoringPropertyValue));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean targetConstraint(final DiagnosticChain diagnostics, final Map<Object, Object> context) {
+		/**
+		 *
+		 * inv targetConstraint:
+		 *   let
+		 *     severity : Integer[1] = 'Monitoringproperty::targetConstraint'.getSeverity()
+		 *   in
+		 *     if severity <= 0
+		 *     then true
+		 *     else
+		 *       let result : occi::Boolean[1] = self.target.oclIsKindOf(Sensor)
+		 *       in
+		 *         'Monitoringproperty::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_Monitoringproperty_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_Monitoringproperty_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.MONITORINGPROPERTY__MONITORING_PROPERTY_NAME:
+				return getMonitoringPropertyName();
+			case MonitoringPackage.MONITORINGPROPERTY__MONITORING_PROPERTY_VALUE:
+				return getMonitoringPropertyValue();
+		}
+		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.MONITORINGPROPERTY__MONITORING_PROPERTY_NAME:
+				setMonitoringPropertyName((String)newValue);
+				return;
+			case MonitoringPackage.MONITORINGPROPERTY__MONITORING_PROPERTY_VALUE:
+				setMonitoringPropertyValue((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MonitoringPackage.MONITORINGPROPERTY__MONITORING_PROPERTY_NAME:
+				setMonitoringPropertyName(MONITORING_PROPERTY_NAME_EDEFAULT);
+				return;
+			case MonitoringPackage.MONITORINGPROPERTY__MONITORING_PROPERTY_VALUE:
+				setMonitoringPropertyValue(MONITORING_PROPERTY_VALUE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MonitoringPackage.MONITORINGPROPERTY__MONITORING_PROPERTY_NAME:
+				return MONITORING_PROPERTY_NAME_EDEFAULT == null ? monitoringPropertyName != null : !MONITORING_PROPERTY_NAME_EDEFAULT.equals(monitoringPropertyName);
+			case MonitoringPackage.MONITORINGPROPERTY__MONITORING_PROPERTY_VALUE:
+				return MONITORING_PROPERTY_VALUE_EDEFAULT == null ? monitoringPropertyValue != null : !MONITORING_PROPERTY_VALUE_EDEFAULT.equals(monitoringPropertyValue);
+		}
+		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.MONITORINGPROPERTY___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(" (monitoringPropertyName: ");
+		result.append(monitoringPropertyName);
+		result.append(", monitoringPropertyValue: ");
+		result.append(monitoringPropertyValue);
+		result.append(')');
+		return result.toString();
+	}
+
+} //MonitoringpropertyImpl
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/ProcessorImpl.java
index e87c20c..8f0cd63 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/ProcessorImpl.java
@@ -15,18 +15,48 @@ package monitoring.impl;
 import monitoring.MonitoringPackage;
 import monitoring.Processor;
 
+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>'.
  * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link monitoring.impl.ProcessorImpl#getGathererAddress <em>Gatherer Address</em>}</li>
+ * </ul>
  *
  * @generated
  */
 public class ProcessorImpl extends ComponentImpl implements Processor {
+	/**
+	 * The default value of the '{@link #getGathererAddress() <em>Gatherer Address</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGathererAddress()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String GATHERER_ADDRESS_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getGathererAddress() <em>Gatherer Address</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGathererAddress()
+	 * @generated
+	 * @ordered
+	 */
+	protected String gathererAddress = GATHERER_ADDRESS_EDEFAULT;
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -46,4 +76,99 @@ public class ProcessorImpl extends ComponentImpl implements Processor {
 		return MonitoringPackage.Literals.PROCESSOR;
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getGathererAddress() {
+		return gathererAddress;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setGathererAddress(String newGathererAddress) {
+		String oldGathererAddress = gathererAddress;
+		gathererAddress = newGathererAddress;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.PROCESSOR__GATHERER_ADDRESS, oldGathererAddress, gathererAddress));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MonitoringPackage.PROCESSOR__GATHERER_ADDRESS:
+				return getGathererAddress();
+		}
+		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.PROCESSOR__GATHERER_ADDRESS:
+				setGathererAddress((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MonitoringPackage.PROCESSOR__GATHERER_ADDRESS:
+				setGathererAddress(GATHERER_ADDRESS_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MonitoringPackage.PROCESSOR__GATHERER_ADDRESS:
+				return GATHERER_ADDRESS_EDEFAULT == null ? gathererAddress != null : !GATHERER_ADDRESS_EDEFAULT.equals(gathererAddress);
+		}
+		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(" (gathererAddress: ");
+		result.append(gathererAddress);
+		result.append(')');
+		return result.toString();
+	}
+
 } //ProcessorImpl
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/PublisherImpl.java
index 9f727ea..68bd44a 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/PublisherImpl.java
@@ -15,18 +15,48 @@ package monitoring.impl;
 import monitoring.MonitoringPackage;
 import monitoring.Publisher;
 
+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>Publisher</b></em>'.
  * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link monitoring.impl.PublisherImpl#getPublisherEndpoint <em>Publisher Endpoint</em>}</li>
+ * </ul>
  *
  * @generated
  */
 public class PublisherImpl extends ComponentImpl implements Publisher {
+	/**
+	 * The default value of the '{@link #getPublisherEndpoint() <em>Publisher Endpoint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPublisherEndpoint()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PUBLISHER_ENDPOINT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPublisherEndpoint() <em>Publisher Endpoint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPublisherEndpoint()
+	 * @generated
+	 * @ordered
+	 */
+	protected String publisherEndpoint = PUBLISHER_ENDPOINT_EDEFAULT;
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -46,4 +76,99 @@ public class PublisherImpl extends ComponentImpl implements Publisher {
 		return MonitoringPackage.Literals.PUBLISHER;
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPublisherEndpoint() {
+		return publisherEndpoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPublisherEndpoint(String newPublisherEndpoint) {
+		String oldPublisherEndpoint = publisherEndpoint;
+		publisherEndpoint = newPublisherEndpoint;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.PUBLISHER__PUBLISHER_ENDPOINT, oldPublisherEndpoint, publisherEndpoint));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MonitoringPackage.PUBLISHER__PUBLISHER_ENDPOINT:
+				return getPublisherEndpoint();
+		}
+		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.PUBLISHER__PUBLISHER_ENDPOINT:
+				setPublisherEndpoint((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MonitoringPackage.PUBLISHER__PUBLISHER_ENDPOINT:
+				setPublisherEndpoint(PUBLISHER_ENDPOINT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MonitoringPackage.PUBLISHER__PUBLISHER_ENDPOINT:
+				return PUBLISHER_ENDPOINT_EDEFAULT == null ? publisherEndpoint != null : !PUBLISHER_ENDPOINT_EDEFAULT.equals(publisherEndpoint);
+		}
+		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(" (publisherEndpoint: ");
+		result.append(publisherEndpoint);
+		result.append(')');
+		return result.toString();
+	}
+
 } //PublisherImpl
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 a63816d..04ee624 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();
@@ -109,8 +102,12 @@ public class MonitoringAdapterFactory extends AdapterFactoryImpl {
 				return createPublisherAdapter();
 			}
 			@Override
-			public Adapter caseMonitoringproperties(Monitoringproperties object) {
-				return createMonitoringpropertiesAdapter();
+			public Adapter caseMonitoringproperty(Monitoringproperty object) {
+				return createMonitoringpropertyAdapter();
+			}
+			@Override
+			public Adapter caseMartpublisher(Martpublisher object) {
+				return createMartpublisherAdapter();
 			}
 			@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();
 			}
@@ -152,34 +153,6 @@ 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>}'.
-	 * <!-- 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
-	 * @generated
-	 */
-	public Adapter createMonitoringPropertyArrayAdapter() {
-		return null;
-	}
-
 	/**
 	 * Creates a new adapter for an object of class '{@link monitoring.Sensor <em>Sensor</em>}'.
 	 * <!-- begin-user-doc -->
@@ -237,16 +210,30 @@ public class MonitoringAdapterFactory extends AdapterFactoryImpl {
 	}
 
 	/**
-	 * 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.Monitoringproperty <em>Monitoringproperty</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.Martpublisher <em>Martpublisher</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.Martpublisher
 	 * @generated
 	 */
-	public Adapter createMonitoringpropertiesAdapter() {
+	public Adapter createMartpublisherAdapter() {
 		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 5771b40..701da7e 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);
@@ -131,10 +120,18 @@ public class MonitoringSwitch<T> extends Switch<T> {
 				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.MONITORINGPROPERTY: {
+				Monitoringproperty monitoringproperty = (Monitoringproperty)theEObject;
+				T result = caseMonitoringproperty(monitoringproperty);
+				if (result == null) result = caseLink(monitoringproperty);
+				if (result == null) result = caseEntity(monitoringproperty);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case MonitoringPackage.MARTPUBLISHER: {
+				Martpublisher martpublisher = (Martpublisher)theEObject;
+				T result = caseMartpublisher(martpublisher);
+				if (result == null) result = caseMixinBase(martpublisher);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
@@ -142,36 +139,6 @@ 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>'.
-	 * <!-- 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>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseMonitoringPropertyArray(MonitoringPropertyArray object) {
-		return null;
-	}
-
 	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Sensor</em>'.
 	 * <!-- begin-user-doc -->
@@ -233,17 +200,32 @@ public class MonitoringSwitch<T> extends Switch<T> {
 	}
 
 	/**
-	 * 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>Monitoringproperty</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>Monitoringproperty</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>Martpublisher</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>Martpublisher</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseMonitoringproperties(Monitoringproperties object) {
+	public T caseMartpublisher(Martpublisher 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 0fb63c9..afaf936 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 'Monitoringproperty'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int MONITORINGPROPERTIES__APPLIES_CONSTRAINT = 1;
+	public static final int MONITORINGPROPERTY__TARGET_CONSTRAINT = 1;
+
+	/**
+	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Applies Constraint' of 'Martpublisher'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final int MARTPUBLISHER__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,10 +127,6 @@ 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:
@@ -128,8 +135,10 @@ public class MonitoringValidator extends EObjectValidator {
 				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.MONITORINGPROPERTY:
+				return validateMonitoringproperty((Monitoringproperty)value, diagnostics, context);
+			case MonitoringPackage.MARTPUBLISHER:
+				return validateMartpublisher((Martpublisher)value, diagnostics, context);
 			case MonitoringPackage.DATE_TIME:
 				return validateDateTime((String)value, diagnostics, context);
 			case MonitoringPackage.SECOND:
@@ -141,24 +150,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 -->
@@ -256,28 +247,64 @@ 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 validateMonitoringproperty(Monitoringproperty monitoringproperty, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		if (!validate_NoCircularContainment(monitoringproperty, diagnostics, context)) return false;
+		boolean result = validate_EveryMultiplicityConforms(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryProxyResolves(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_UniqueID(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryKeyUnique(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_IdUnique(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_AttributesNameUnique(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_KindCompatibleWithOneAppliesOfEachMixin(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateEntity_DifferentMixins(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateLink_LinkKindIsInParent(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateLink_sourceReferenceInvariant(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= occiValidator.validateLink_targetReferenceInvariant(monitoringproperty, diagnostics, context);
+		if (result || diagnostics != null) result &= validateMonitoringproperty_targetConstraint(monitoringproperty, diagnostics, context);
+		return result;
+	}
+
+	/**
+	 * Validates the targetConstraint constraint of '<em>Monitoringproperty</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateMonitoringproperty_targetConstraint(Monitoringproperty monitoringproperty, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return monitoringproperty.targetConstraint(diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateMartpublisher(Martpublisher martpublisher, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		if (!validate_NoCircularContainment(martpublisher, diagnostics, context)) return false;
+		boolean result = validate_EveryMultiplicityConforms(martpublisher, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(martpublisher, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(martpublisher, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(martpublisher, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryProxyResolves(martpublisher, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_UniqueID(martpublisher, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryKeyUnique(martpublisher, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(martpublisher, diagnostics, context);
+		if (result || diagnostics != null) result &= validateMartpublisher_appliesConstraint(martpublisher, diagnostics, context);
 		return result;
 	}
 
 	/**
-	 * Validates the appliesConstraint constraint of '<em>Monitoringproperties</em>'.
+	 * Validates the appliesConstraint constraint of '<em>Martpublisher</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 validateMartpublisher_appliesConstraint(Martpublisher martpublisher, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return martpublisher.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 17a473d..3b95d7f 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 00e4397..a2d65ec 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 0000000..0f9bcea
--- /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 121f25f..d628c0d 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/hadoopClusterNewExt2.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 2b749cf..ae582dc 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 bb8b7a6..977f3ab 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
@@ -47,7 +47,6 @@ public class DeployHadoopMonitoringTestLive {
 		TestUtility.extensionRegistrySetup();
 	}
  
-	@Before
 	public void deprovisionEverything() {
 		CachedResourceSet.getCache().clear();
 		Path occiPath = Paths.get(ModelUtility.getPathToResource("occi/Empty.occic"));
@@ -59,7 +58,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/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..213d415c254d2d18986adde7644eae7f07f13742 100644
GIT binary patch
delta 2290
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

delta 1493
zcmZ4EanX@4z?+$ci-CcIgJEXkWZ#K=sw`mI+*2JyGXMb-hyVg+AWliuXJ$atvRnnC
z<-9tC{-q73Cu=eqLKtz3)?miwxr|m^5Y}z(FlIiG1@q1Hq|Y)kFkE7pY|n2~KRG^I
z*iq!@`6Zb`$1_Z#)~>CO$~Fyr5umv*f@P&hOK8iqrvAw<C-kJ0A9~~VG5TfjK_~kL
zd9OW}eW#sGQ!J5xcIHlX-R9FX=kEXiFNWcU^Yq7TX0Izw1%BLhH1O-Mp2g2fXD@#E
z)sp@DuSI=)&bjwp)GCi}xbkwIK?whwm1!CEtZJ9$A5Zk(oqSU|XsK+3YP<R+$^G+0
zR-Zg@glG4`m12+gU3EHo=r4zB##AGxn;Mt2Hu}l<q_<z{x4&;>GWD|2MR%*NwaF1L
zOPViSnjVq9XrIUFl<ei(_>Csk&g9v0IVEns>GRnwTY{c+Z}vJqefIiuzc%}wvw6qs
zYjZ*MS!R3vne3H6gRjY2T3^yLoaJ<5*3(lyTUhNkB`^Q7@Z-m|BE>g<s_j3mmbd8W
zhRq6>O%~;_x9w$huv;dxZ8yW|OS`y?d3BG!(N8$Vbo$|=uKf~+%ifvzSV%p)XYjFR
ziI&;LCDo7TOU>w?cPx5~(2|~#pHC%k<j)Ezs7_*fx6n7)*z`db-@8edDuZlW<0s$#
zF7<pxjqTw}>zVdXd@L<lFTeV8&D0-HmHw}qQs1z(a-Unx-V^&ZpI-l1FfU)Ae(j0<
z`cLH_ezZB?xj*hnbI`w&OS2!_qo$PplF56%0^@ovFeN!nekfvGpP5?hoS&DMnp~1!
zq?eqNSX{g`=yu*^2LapJO9~&&+Samd;hk9`Tz+1=6~5{Q%6DY6rmVQK$jip+Tat|B
zy^P%EA8VSX6ixiWV8><ndYP!#s(l|G%)C3(GW~qTv+wie_cOeCw3CxNJ9Ng5<Ol0I
zm9A;+SpK&*S1x0-T|e6_HnVykn<L81vw2dVe|YfVsi5=OiCPalztoi<kd<U{D%H5n
z``F-avc|2o!fiqRznT&+awdONlm6CP_4=Fg#AaJ_tHRI~?<Xf{{uNN;sqWLS5c4>=
zw`H}zv)z<=;zj<)Hhu_N`6Jsi-$V4+L64IY12Q!x-E*Dh60$4KWMZP+X`jlZdiyJX
zq^~oTv%Pb_en@GW&Yc5H&avzjPmVF#`<cFQ6?5Acz_XggD`;wFMDwqXmirS54<Aal
zxp-{b1*h8wrnN4=k@n)BzcX8zPJvDGhW6>DHZpySv<ug3I2ISUD+~VSxxLN!uG?}`
z;aMfuX0Eb-!|!ou>({9v^V%h*y}jwQDq>cBoN$|E{1;=VH8HAv*OuAw-Yow*|HqjC
zUYDwan||u=65r|R<dt3~<om*vJwx(K%*&7k{l|PJ&MvW9WSjm(`mON>eT_dZAMZ+f
zZQW^j>aAgqq1OFC-3KP_*G}jOFl`82q`5wsd;5#Dxy1>R+E272_CCpfCb=NWcz@zQ
zZLZ}zC1ia=&IRvUFmLkxf83}^<>qqV^vU<RbvCaORAYt|89yXrp{z*RyNr;M#Y)~7
z!YGutgD^JB>p~b$<c%N<DFssqBUr%_!kD074`EzZ@PsfF6yrERrBOYf+@;BWN@A1e
zD7vE;PahRS6+miGQZcw-gb-UA-32GVS5Tb%MoEwvn6M{LP?Cn2?xiHfG)EXHr!;w$
zp!nqZN<3hL)&~5y<pgF0Ar1xxD-?siiGdALmy!l4h8XfrSxO~bih-dZr!+k?Pp=|3
VC%~JP4Wx}92wPbg7|diqJOI<8hUx$S

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..99b8ee2cc84765710233053d52daf75be0bd5d14 100644
GIT binary patch
delta 51942
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

delta 49828
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%0DO-z)1~;C5bRQ}XK~|~Cs~VmK+r9d`
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

diff --git a/src/test/resources/occi/hadoopClusterNewExtCPUOnly.occic b/src/test/resources/occi/hadoopClusterNewExtCPUOnly.occic
new file mode 100644
index 0000000..21600ca
--- /dev/null
+++ b/src/test/resources/occi/hadoopClusterNewExtCPUOnly.occic
@@ -0,0 +1,288 @@
+<?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: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: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/placement#/"/>
+  <use href="http://schemas.modmacao.org/openstack/runtime#/"/>
+  <use href="http://schemas.modmacao.org/modmacao#/"/>
+  <use href="http://schemas.modmacao.org/openstack/swe#/"/>
+  <use href="http://schemas.ugoe.cs.rwm/monitoring#/"/>
+  <resources xsi:type="infrastructure:Compute" id="urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166ce" title="hadoop-master" location="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166ce/" rlinks="//@resources.2/@links.0 //@resources.1/@links.0" 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-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: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="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>
+      <mixin href="http://schemas.modmacao.org/openstack/swe#//@mixins[term='ubuntu_xenialxerus']"/>
+    </parts>
+    <links xsi:type="infrastructure:Networkinterface" id="urn:uuid:ea482951-5c26-471d-aa1b-8e03b1e6096c" title="link3" location="/networkinterface/urn:uuid:ea482951-5c26-471d-aa1b-8e03b1e6096c" target="//@resources.6">
+      <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='networkinterface']"/>
+      <attributes name="occi.core.id" value="urn:uuid:ea482951-5c26-471d-aa1b-8e03b1e6096c"/>
+      <attributes name="occi.core.title" value="link3"/>
+      <attributes name="occi.networkinterface.address" value="10.254.1.5"/>
+      <parts xsi:type="infrastructure:Ipnetworkinterface" occiNetworkinterfaceAddress="10.254.1.5" occiNetworkinterfaceGateway="10.254.1.254">
+        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
+      </parts>
+    </links>
+  </resources>
+  <resources xsi:type="platform:Component" id="urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255896" title="Wordcount" 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="urn:uuid: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="urn:uuid:ff292f08-d263-41b6-88c8-84d33783b929" title="link1" location="/placementlink/urn:uuid:ff292f08-d263-41b6-88c8-84d33783b929/" target="//@resources.0">
+      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:ff292f08-d263-41b6-88c8-84d33783b929"/>
+      <attributes name="occi.core.title" value="link1"/>
+    </links>
+  </resources>
+  <resources xsi:type="platform:Component" id="urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255897" title="hMaster" location="/component/urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255897/" rlinks="//@resources.3/@links.0" occiComponentStateMessage="">
+    <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='component']"/>
+    <attributes name="occi.core.id" value="urn:uuid: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="urn:uuid:ff292f08-d263-41b6-88c8-84d33783b928" title="link1" location="/placementlink/urn:uuid:ff292f08-d263-41b6-88c8-84d33783b928/" target="//@resources.0">
+      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:ff292f08-d263-41b6-88c8-84d33783b928"/>
+      <attributes name="occi.core.title" value="link1"/>
+      <attributes name="occi.core.source" value="/component/urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255897/"/>
+      <attributes name="occi.core.target" value="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166ce/"/>
+    </links>
+  </resources>
+  <resources xsi:type="platform:Application" id="urn:uuid:a4888ba9-a0ea-48f2-a29e-901c876ab42d" title="hadoopcluster" location="/application/urn:uuid:a4888ba9-a0ea-48f2-a29e-901c876ab42d" occiAppName="" occiAppState="deployed">
+    <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='application']"/>
+    <attributes name="occi.core.id" value="urn:uuid:a4888ba9-a0ea-48f2-a29e-901c876ab42d"/>
+    <attributes name="occi.core.title" value="hadoopcluster"/>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:9aa31c50-c605-4370-aa60-2c7c461051ef" title="ComponentLink" location="/componentlink/urn:uuid:9aa31c50-c605-4370-aa60-2c7c461051ef" target="//@resources.2">
+      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:9aa31c50-c605-4370-aa60-2c7c461051ef"/>
+      <attributes name="occi.core.title" value="ComponentLink"/>
+    </links>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:7890f02b-6f56-4809-865f-d8c686fd9da1" title="link4" 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="urn:uuid:7890f02b-6f56-4809-865f-d8c686fd9da1"/>
+      <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">
+    <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"/>
+    <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: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="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>
+      <mixin href="http://schemas.modmacao.org/openstack/swe#//@mixins[term='ubuntu_xenialxerus']"/>
+    </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"/>
+      <attributes name="occi.core.title" value="link2"/>
+      <attributes name="occi.networkinterface.address" value="10.254.1.8"/>
+      <parts xsi:type="infrastructure:Ipnetworkinterface" occiNetworkinterfaceAddress="10.254.1.8" occiNetworkinterfaceGateway="10.254.1.254">
+        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
+      </parts>
+    </links>
+    <links xsi:type="infrastructure:Networkinterface" id="urn:uuid:03f91178-136f-4023-876e-84509f8a5a2d" title="monNwLink" target="//@resources.12" occiNetworkinterfaceInterface="100.254.1.35" occiNetworkinterfaceMac="">
+      <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='networkinterface']"/>
+      <attributes name="occi.core.id" value="urn:uuid:03f91178-136f-4023-876e-84509f8a5a2d"/>
+      <attributes name="occi.core.title" value="monNwLink"/>
+      <attributes name="occi.networkinterface.address" value="100.254.1.35"/>
+      <parts xsi:type="infrastructure:Ipnetworkinterface" occiNetworkinterfaceAddress="100.254.1.35" occiNetworkinterfaceGateway="">
+        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
+      </parts>
+    </links>
+  </resources>
+  <resources xsi:type="platform:Component" id="urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255898" title="Worker" location="/component/urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255898/" rlinks="//@resources.3/@links.1" occiComponentStateMessage="">
+    <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='component']"/>
+    <attributes name="occi.core.id" value="urn:uuid: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="urn:uuid:ff292f08-d263-41b6-88c8-84d33783b917" title="link1" location="/placementlink/urn:uuid:ff292f08-d263-41b6-88c8-84d33783b917/" target="//@resources.4">
+      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:ff292f08-d263-41b6-88c8-84d33783b917"/>
+      <attributes name="occi.core.title" value="link1"/>
+      <attributes name="occi.core.target" value="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166ce/"/>
+    </links>
+  </resources>
+  <resources xsi:type="infrastructure:Network" id="urn:uuid:29d78078-fb4c-47aa-a9af-b8aaf3339591" title="hNetwork" location="/network/urn:uuid:29d78078-fb4c-47aa-a9af-b8aaf3339591/" rlinks="//@resources.0/@links.0 //@resources.4/@links.0" occiNetworkState="active">
+    <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='network']"/>
+    <attributes name="occi.core.id" value="urn:uuid: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>
+      <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetwork']"/>
+      <attributes name="occi.network.address" value="10.254.1.1/24"/>
+    </parts>
+  </resources>
+  <resources xsi:type="monitoring:Sensor" id="urn:uuid:efb0f50a-7a7c-4153-b939-4846d6554dbb" title="Sensor">
+    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='sensor']"/>
+    <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">
+      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:04cf6483-706d-4a2a-9114-9918ab2bb52a"/>
+      <attributes name="occi.core.title" value="link1"/>
+    </links>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:9c604867-3135-4fa1-af9e-2bb11018ff5a" title="link2" target="//@resources.9">
+      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:9c604867-3135-4fa1-af9e-2bb11018ff5a"/>
+      <attributes name="occi.core.title" value="link2"/>
+    </links>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:93f08e31-f350-42b7-a73b-c139eba4a8e3" title="link3" target="//@resources.10">
+      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:93f08e31-f350-42b7-a73b-c139eba4a8e3"/>
+      <attributes name="occi.core.title" value="link3"/>
+    </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">
+    <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"/>
+    <parts mixin="//@mixins.3"/>
+    <links xsi:type="placement:Placementlink" id="urn:uuid:60cc05ca-4fd7-465b-8fd0-945dcbf8867f" title="link1" target="//@resources.4">
+      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:60cc05ca-4fd7-465b-8fd0-945dcbf8867f"/>
+      <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" gathererAddress="100.254.1.35">
+    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='processor']"/>
+    <attributes name="occi.core.id" value="urn:uuid:1bda25ab-723b-47e7-9704-5134db26ebdc"/>
+    <attributes name="occi.core.title" value="Processor"/>
+    <attributes name="gatherer.address" value="100.254.1.35"/>
+    <parts mixin="//@mixins.4"/>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:1a821776-7886-4cb4-8b80-46a8403acf40" 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-46a8403acf40"/>
+      <attributes name="occi.core.title" value="link1"/>
+    </links>
+    <links xsi:type="placement:Placementlink" id="urn:uuid:ff7019e4-a9dc-48dc-83c3-ab77714a25f4" 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-ab77714a25f4"/>
+      <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" publisherEndpoint="192.168.35.45:8080">
+    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='publisher']"/>
+    <attributes name="occi.core.id" value="urn:uuid:588f705e-5279-4847-9337-846af2c86972"/>
+    <attributes name="occi.core.title" value="Publisher"/>
+    <attributes name="publisher.endpoint" value="192.168.35.45:8080"/>
+    <parts mixin="//@mixins.5"/>
+    <parts xsi:type="monitoring:Martpublisher" monitoringPropertyName="CPU" monitoringPropertyId="" monitoringPropertyResource="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166cf/">
+      <mixin href="http://schemas.ugoe.cs.rwm/monitoring#//@mixins[term='martpublisher']"/>
+      <attributes name="monitoring.property.name" value="CPU"/>
+      <attributes name="monitoring.property.resource" value="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166cf/"/>
+      <attributes name="monitoring.property.id" value="/monitoringproperty/fb3604c9-1fd4-4fa8-bee6-eafceddd0487"/>
+    </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"/>
+      <attributes name="occi.core.title" value="link1"/>
+    </links>
+    <links xsi:type="placement:Placementlink" id="urn:uuid:275b5bce-084c-46f0-88bc-1f6f31bf3616" 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-1f6f31bf3616"/>
+      <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">
+    <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"/>
+    <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>
+      <mixin href="http://schemas.modmacao.org/openstack/swe#//@mixins[term='ubuntu_xenialxerus']"/>
+    </parts>
+    <links xsi:type="infrastructure:Networkinterface" id="urn:uuid:00d6889d-b644-44bf-af13-3fe350e926ed" title="link1" target="//@resources.12">
+      <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='networkinterface']"/>
+      <attributes name="occi.core.id" value="urn:uuid:00d6889d-b644-44bf-af13-3fe350e926ed"/>
+      <attributes name="occi.core.title" value="link1"/>
+      <parts xsi:type="infrastructure:Ipnetworkinterface" occiNetworkinterfaceAddress="100.254.1.25">
+        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
+      </parts>
+    </links>
+  </resources>
+  <resources xsi:type="infrastructure:Network" id="urn:uuid:7a9fca2c-24fb-473c-aa9c-8dc9e68a432a" title="MonitoringNetwork" rlinks="//@resources.11/@links.0 //@resources.4/@links.1" occiNetworkState="inactive">
+    <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='network']"/>
+    <attributes name="occi.core.id" value="urn:uuid: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>
+      <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetwork']"/>
+      <attributes name="occi.network.address" value="100.254.1.1/24"/>
+    </parts>
+  </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"/>
+</occi:Configuration>
diff --git a/src/test/resources/occi/hadoopClusterNewExtWithMem.occic b/src/test/resources/occi/hadoopClusterNewExtWithMem.occic
new file mode 100644
index 0000000..b4b8ecd
--- /dev/null
+++ b/src/test/resources/occi/hadoopClusterNewExtWithMem.occic
@@ -0,0 +1,353 @@
+<?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: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: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/placement#/"/>
+  <use href="http://schemas.modmacao.org/openstack/runtime#/"/>
+  <use href="http://schemas.modmacao.org/modmacao#/"/>
+  <use href="http://schemas.modmacao.org/openstack/swe#/"/>
+  <use href="http://schemas.ugoe.cs.rwm/monitoring#/"/>
+  <resources xsi:type="infrastructure:Compute" id="urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166ce" title="hadoop-master" location="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166ce/" rlinks="//@resources.2/@links.0 //@resources.1/@links.0" 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-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: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="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>
+      <mixin href="http://schemas.modmacao.org/openstack/swe#//@mixins[term='ubuntu_xenialxerus']"/>
+    </parts>
+    <links xsi:type="infrastructure:Networkinterface" id="urn:uuid:ea482951-5c26-471d-aa1b-8e03b1e6096c" title="link3" location="/networkinterface/urn:uuid:ea482951-5c26-471d-aa1b-8e03b1e6096c" target="//@resources.6">
+      <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='networkinterface']"/>
+      <attributes name="occi.core.id" value="urn:uuid:ea482951-5c26-471d-aa1b-8e03b1e6096c"/>
+      <attributes name="occi.core.title" value="link3"/>
+      <attributes name="occi.networkinterface.address" value="10.254.1.5"/>
+      <parts xsi:type="infrastructure:Ipnetworkinterface" occiNetworkinterfaceAddress="10.254.1.5" occiNetworkinterfaceGateway="10.254.1.254">
+        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
+      </parts>
+    </links>
+  </resources>
+  <resources xsi:type="platform:Component" id="urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255896" title="Wordcount" 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="urn:uuid: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="urn:uuid:ff292f08-d263-41b6-88c8-84d33783b929" title="link1" location="/placementlink/urn:uuid:ff292f08-d263-41b6-88c8-84d33783b929/" target="//@resources.0">
+      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:ff292f08-d263-41b6-88c8-84d33783b929"/>
+      <attributes name="occi.core.title" value="link1"/>
+    </links>
+  </resources>
+  <resources xsi:type="platform:Component" id="urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255897" title="hMaster" location="/component/urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255897/" rlinks="//@resources.3/@links.0" occiComponentStateMessage="">
+    <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='component']"/>
+    <attributes name="occi.core.id" value="urn:uuid: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="urn:uuid:ff292f08-d263-41b6-88c8-84d33783b928" title="link1" location="/placementlink/urn:uuid:ff292f08-d263-41b6-88c8-84d33783b928/" target="//@resources.0">
+      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:ff292f08-d263-41b6-88c8-84d33783b928"/>
+      <attributes name="occi.core.title" value="link1"/>
+      <attributes name="occi.core.source" value="/component/urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255897/"/>
+      <attributes name="occi.core.target" value="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166ce/"/>
+    </links>
+  </resources>
+  <resources xsi:type="platform:Application" id="urn:uuid:a4888ba9-a0ea-48f2-a29e-901c876ab42d" title="hadoopcluster" location="/application/urn:uuid:a4888ba9-a0ea-48f2-a29e-901c876ab42d" occiAppName="" occiAppState="deployed">
+    <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='application']"/>
+    <attributes name="occi.core.id" value="urn:uuid:a4888ba9-a0ea-48f2-a29e-901c876ab42d"/>
+    <attributes name="occi.core.title" value="hadoopcluster"/>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:9aa31c50-c605-4370-aa60-2c7c461051ef" title="ComponentLink" location="/componentlink/urn:uuid:9aa31c50-c605-4370-aa60-2c7c461051ef" target="//@resources.2">
+      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:9aa31c50-c605-4370-aa60-2c7c461051ef"/>
+      <attributes name="occi.core.title" value="ComponentLink"/>
+    </links>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:7890f02b-6f56-4809-865f-d8c686fd9da1" title="link4" 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="urn:uuid:7890f02b-6f56-4809-865f-d8c686fd9da1"/>
+      <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">
+    <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"/>
+    <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: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="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>
+      <mixin href="http://schemas.modmacao.org/openstack/swe#//@mixins[term='ubuntu_xenialxerus']"/>
+    </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"/>
+      <attributes name="occi.core.title" value="link2"/>
+      <attributes name="occi.networkinterface.address" value="10.254.1.8"/>
+      <parts xsi:type="infrastructure:Ipnetworkinterface" occiNetworkinterfaceAddress="10.254.1.8" occiNetworkinterfaceGateway="10.254.1.254">
+        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
+      </parts>
+    </links>
+    <links xsi:type="infrastructure:Networkinterface" id="urn:uuid:03f91178-136f-4023-876e-84509f8a5a2d" title="monNwLink" target="//@resources.12" occiNetworkinterfaceInterface="100.254.1.35" occiNetworkinterfaceMac="">
+      <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='networkinterface']"/>
+      <attributes name="occi.core.id" value="urn:uuid:03f91178-136f-4023-876e-84509f8a5a2d"/>
+      <attributes name="occi.core.title" value="monNwLink"/>
+      <attributes name="occi.networkinterface.address" value="100.254.1.35"/>
+      <parts xsi:type="infrastructure:Ipnetworkinterface" occiNetworkinterfaceAddress="100.254.1.35" occiNetworkinterfaceGateway="">
+        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
+      </parts>
+    </links>
+  </resources>
+  <resources xsi:type="platform:Component" id="urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255898" title="Worker" location="/component/urn:uuid:f934d445-d0c8-4f2f-8086-d9f1a8255898/" rlinks="//@resources.3/@links.1" occiComponentStateMessage="">
+    <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='component']"/>
+    <attributes name="occi.core.id" value="urn:uuid: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="urn:uuid:ff292f08-d263-41b6-88c8-84d33783b917" title="link1" location="/placementlink/urn:uuid:ff292f08-d263-41b6-88c8-84d33783b917/" target="//@resources.4">
+      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:ff292f08-d263-41b6-88c8-84d33783b917"/>
+      <attributes name="occi.core.title" value="link1"/>
+      <attributes name="occi.core.target" value="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166ce/"/>
+    </links>
+  </resources>
+  <resources xsi:type="infrastructure:Network" id="urn:uuid:29d78078-fb4c-47aa-a9af-b8aaf3339591" title="hNetwork" location="/network/urn:uuid:29d78078-fb4c-47aa-a9af-b8aaf3339591/" rlinks="//@resources.0/@links.0 //@resources.4/@links.0" occiNetworkState="active">
+    <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='network']"/>
+    <attributes name="occi.core.id" value="urn:uuid: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>
+      <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetwork']"/>
+      <attributes name="occi.network.address" value="10.254.1.1/24"/>
+    </parts>
+  </resources>
+  <resources xsi:type="monitoring:Sensor" id="urn:uuid:efb0f50a-7a7c-4153-b939-4846d6554dbb" title="Sensor">
+    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='sensor']"/>
+    <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">
+      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:04cf6483-706d-4a2a-9114-9918ab2bb52a"/>
+      <attributes name="occi.core.title" value="link1"/>
+    </links>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:9c604867-3135-4fa1-af9e-2bb11018ff5a" title="link2" target="//@resources.9">
+      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:9c604867-3135-4fa1-af9e-2bb11018ff5a"/>
+      <attributes name="occi.core.title" value="link2"/>
+    </links>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:93f08e31-f350-42b7-a73b-c139eba4a8e3" title="link3" target="//@resources.10">
+      <kind href="http://schemas.modmacao.org/occi/platform#//@kinds[term='componentlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:93f08e31-f350-42b7-a73b-c139eba4a8e3"/>
+      <attributes name="occi.core.title" value="link3"/>
+    </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.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"/>
+    <parts mixin="//@mixins.3"/>
+    <links xsi:type="placement:Placementlink" id="urn:uuid:60cc05ca-4fd7-465b-8fd0-945dcbf8867f" title="link1" target="//@resources.4">
+      <kind href="http://schemas.modmacao.org/placement#//@kinds[term='placementlink']"/>
+      <attributes name="occi.core.id" value="urn:uuid:60cc05ca-4fd7-465b-8fd0-945dcbf8867f"/>
+      <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" gathererAddress="100.254.1.35">
+    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='processor']"/>
+    <attributes name="occi.core.id" value="urn:uuid:1bda25ab-723b-47e7-9704-5134db26ebdc"/>
+    <attributes name="occi.core.title" value="Processor"/>
+    <attributes name="gatherer.address" value="100.254.1.35"/>
+    <parts mixin="//@mixins.4"/>
+    <links xsi:type="platform:Componentlink" id="urn:uuid:1a821776-7886-4cb4-8b80-46a8403acf40" 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-46a8403acf40"/>
+      <attributes name="occi.core.title" value="link1"/>
+    </links>
+    <links xsi:type="placement:Placementlink" id="urn:uuid:ff7019e4-a9dc-48dc-83c3-ab77714a25f4" 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-ab77714a25f4"/>
+      <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" publisherEndpoint="192.168.35.45:8080">
+    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='publisher']"/>
+    <attributes name="occi.core.id" value="urn:uuid:588f705e-5279-4847-9337-846af2c86972"/>
+    <attributes name="occi.core.title" value="Publisher"/>
+    <attributes name="publisher.endpoint" value="192.168.35.45:8080"/>
+    <parts mixin="//@mixins.5"/>
+    <parts xsi:type="monitoring:Martpublisher" monitoringPropertyName="CPU" monitoringPropertyId="" monitoringPropertyResource="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166cf/">
+      <mixin href="http://schemas.ugoe.cs.rwm/monitoring#//@mixins[term='martpublisher']"/>
+      <attributes name="monitoring.property.name" value="CPU"/>
+      <attributes name="monitoring.property.resource" value="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166cf/"/>
+      <attributes name="monitoring.property.id" value="/monitoringproperty/fb3604c9-1fd4-4fa8-bee6-eafceddd0487"/>
+    </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"/>
+      <attributes name="occi.core.title" value="link1"/>
+    </links>
+    <links xsi:type="placement:Placementlink" id="urn:uuid:275b5bce-084c-46f0-88bc-1f6f31bf3616" 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-1f6f31bf3616"/>
+      <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 //@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"/>
+    <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>
+      <mixin href="http://schemas.modmacao.org/openstack/swe#//@mixins[term='ubuntu_xenialxerus']"/>
+    </parts>
+    <links xsi:type="infrastructure:Networkinterface" id="urn:uuid:00d6889d-b644-44bf-af13-3fe350e926ed" title="link1" target="//@resources.12">
+      <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='networkinterface']"/>
+      <attributes name="occi.core.id" value="urn:uuid:00d6889d-b644-44bf-af13-3fe350e926ed"/>
+      <attributes name="occi.core.title" value="link1"/>
+      <parts xsi:type="infrastructure:Ipnetworkinterface" occiNetworkinterfaceAddress="100.254.1.25">
+        <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetworkinterface']"/>
+      </parts>
+    </links>
+  </resources>
+  <resources xsi:type="infrastructure:Network" id="urn:uuid:7a9fca2c-24fb-473c-aa9c-8dc9e68a432a" title="MonitoringNetwork" rlinks="//@resources.11/@links.0 //@resources.4/@links.1" occiNetworkState="inactive">
+    <kind href="http://schemas.ogf.org/occi/infrastructure#//@kinds[term='network']"/>
+    <attributes name="occi.core.id" value="urn:uuid: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>
+      <mixin href="http://schemas.ogf.org/occi/infrastructure#//@mixins[term='ipnetwork']"/>
+      <attributes name="occi.network.address" value="100.254.1.1/24"/>
+    </parts>
+  </resources>
+  <resources xsi:type="monitoring:Processor" id="urn:uuid:1bda25ab-723b-47e7-9704-5134db26ebdd" title="Processor" rlinks="//@resources.14/@links.0 //@resources.15/@links.2" gathererAddress="100.254.1.35">
+    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='processor']"/>
+    <attributes name="occi.core.title" value="Processor"/>
+    <attributes name="occi.core.id" value="urn:uuid:1bda25ab-723b-47e7-9704-5134db26ebdd"/>
+    <attributes name="gatherer.address" value="100.254.1.35"/>
+    <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:Publisher" id="urn:uuid:588f705e-5279-4847-9337-846af2c86973" title="Publisher" rlinks="//@resources.15/@links.1" publisherEndpoint="192.168.35.45:8080">
+    <kind href="http://schemas.ugoe.cs.rwm/monitoring#//@kinds[term='publisher']"/>
+    <attributes name="occi.core.id" value="urn:uuid:588f705e-5279-4847-9337-846af2c86973"/>
+    <attributes name="occi.core.title" value="Publisher"/>
+    <attributes name="publisher.endpoint" value="192.168.35.45:8080"/>
+    <parts mixin="//@mixins.7"/>
+    <parts xsi:type="monitoring:Martpublisher" monitoringPropertyName="Mem" monitoringPropertyId="/monitoringproperty/fb3604c9-1fd4-4fa8-bee6-eafceddd0488" monitoringPropertyResource="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166cf/">
+      <mixin href="http://schemas.ugoe.cs.rwm/monitoring#//@mixins[term='martpublisher']"/>
+      <attributes name="monitoring.property.name" value="Mem"/>
+      <attributes name="monitoring.property.resource" value="/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166cf/"/>
+      <attributes name="monitoring.property.id" value="/monitoringproperty/fb3604c9-1fd4-4fa8-bee6-eafceddd0488"/>
+    </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="" occiSensorPeriod="" occiSensorAccuracy="">
+    <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.sensor.period" value=""/>
+    <attributes name="occi.sensor.accuracy" value=""/>
+    <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>
+  </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/memprocessor/.travis.yml b/src/test/resources/roles/memprocessor/.travis.yml
new file mode 100644
index 0000000..36bbf62
--- /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/memprocessor/README.md b/src/test/resources/roles/memprocessor/README.md
new file mode 100644
index 0000000..225dd44
--- /dev/null
+++ b/src/test/resources/roles/memprocessor/README.md
@@ -0,0 +1,38 @@
+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/memprocessor/defaults/main.yml b/src/test/resources/roles/memprocessor/defaults/main.yml
new file mode 100644
index 0000000..0642dc2
--- /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 0000000..e364673
--- /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 0000000..6e163da
--- /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/memprocessor/meta/main.yml b/src/test/resources/roles/memprocessor/meta/main.yml
new file mode 100644
index 0000000..0a14708
--- /dev/null
+++ b/src/test/resources/roles/memprocessor/meta/main.yml
@@ -0,0 +1,246 @@
+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/memprocessor/tasks/main.yml b/src/test/resources/roles/memprocessor/tasks/main.yml
new file mode 100644
index 0000000..7b8ef23
--- /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 {{ gatherer_address }} -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/memprocessor/tests/inventory b/src/test/resources/roles/memprocessor/tests/inventory
new file mode 100644
index 0000000..d18580b
--- /dev/null
+++ b/src/test/resources/roles/memprocessor/tests/inventory
@@ -0,0 +1 @@
+localhost
\ No newline at end of file
diff --git a/src/test/resources/roles/memprocessor/tests/test.yml b/src/test/resources/roles/memprocessor/tests/test.yml
new file mode 100644
index 0000000..4e35830
--- /dev/null
+++ b/src/test/resources/roles/memprocessor/tests/test.yml
@@ -0,0 +1,5 @@
+---
+- hosts: localhost
+  remote_user: root
+  roles:
+    - 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 0000000..fe05373
--- /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 0000000..36bbf62
--- /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/mempublisher/README.md b/src/test/resources/roles/mempublisher/README.md
new file mode 100644
index 0000000..225dd44
--- /dev/null
+++ b/src/test/resources/roles/mempublisher/README.md
@@ -0,0 +1,38 @@
+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/mempublisher/defaults/main.yml b/src/test/resources/roles/mempublisher/defaults/main.yml
new file mode 100644
index 0000000..0642dc2
--- /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 0000000..6b10a6d
--- /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: monitoringproperty; 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.value="'$state'", monitoring.property.name="'$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 0000000..6e163da
--- /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/mempublisher/meta/main.yml b/src/test/resources/roles/mempublisher/meta/main.yml
new file mode 100644
index 0000000..0a14708
--- /dev/null
+++ b/src/test/resources/roles/mempublisher/meta/main.yml
@@ -0,0 +1,246 @@
+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/mempublisher/tasks/main.yml b/src/test/resources/roles/mempublisher/tasks/main.yml
new file mode 100644
index 0000000..ac66d2e
--- /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 {{ publisher_endpoint }} {{ monitoring_property_resource }} {{ monitoring_property_name }} {{ sensor }} {{ monitoring_property_id }} -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="Attributes {{ publisher_endpoint }} {{ monitoring_property_resource }} {{ monitoring_property_name }}."
+  when: task == "UNDEPLOY"
+  become_user: root
+
diff --git a/src/test/resources/roles/mempublisher/tests/inventory b/src/test/resources/roles/mempublisher/tests/inventory
new file mode 100644
index 0000000..d18580b
--- /dev/null
+++ b/src/test/resources/roles/mempublisher/tests/inventory
@@ -0,0 +1 @@
+localhost
\ No newline at end of file
diff --git a/src/test/resources/roles/mempublisher/tests/test.yml b/src/test/resources/roles/mempublisher/tests/test.yml
new file mode 100644
index 0000000..4e35830
--- /dev/null
+++ b/src/test/resources/roles/mempublisher/tests/test.yml
@@ -0,0 +1,5 @@
+---
+- hosts: localhost
+  remote_user: root
+  roles:
+    - 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 0000000..fe05373
--- /dev/null
+++ b/src/test/resources/roles/mempublisher/vars/main.yml
@@ -0,0 +1,2 @@
+---
+# vars file for java
-- 
GitLab