Bug 1005 provides support for back propagation of (analyzed) run-time
monitored values; contribution from MDH.

Change-Id: I034a3d2e51840701d3e21f2369c9bcdac7123f33
diff --git a/plugins/org.polarsys.chess.monitoring/META-INF/MANIFEST.MF b/plugins/org.polarsys.chess.monitoring/META-INF/MANIFEST.MF
index 0fcdc7f..9d04e93 100644
--- a/plugins/org.polarsys.chess.monitoring/META-INF/MANIFEST.MF
+++ b/plugins/org.polarsys.chess.monitoring/META-INF/MANIFEST.MF
@@ -7,9 +7,20 @@
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Export-Package: monitoringxml,
- monitoringxml.impl,
- monitoringxml.util
+Export-Package: org.polarsys.chess.monitoring.monitoringxml,
+ org.polarsys.chess.monitoring.monitoringxml.impl,
+ org.polarsys.chess.monitoring.monitoringxml.util
 Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.emf.ecore;visibility:=reexport
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.ui.workbench,
+ org.eclipse.ui,
+ org.eclipse.core.resources
 Bundle-ActivationPolicy: lazy
+Import-Package: org.eclipse.emf.ecore.xmi,
+ org.eclipse.emf.ecore.xmi.impl,
+ org.eclipse.m2m.qvt.oml,
+ org.eclipse.m2m.qvt.oml.util,
+ org.eclipse.papyrus.infra.onefile.model,
+ org.eclipse.xtext.resource,
+ org.polarsys.chess.core.util
+Bundle-Activator: org.polarsys.chess.monitoring.monitoringxml.Activator
diff --git a/plugins/org.polarsys.chess.monitoring/about.html b/plugins/org.polarsys.chess.monitoring/about.html
new file mode 100644
index 0000000..dd3c089
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>November 14, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.monitoring/bin/.gitignore b/plugins/org.polarsys.chess.monitoring/bin/.gitignore
index 8717ad2..1b63298 100644
--- a/plugins/org.polarsys.chess.monitoring/bin/.gitignore
+++ b/plugins/org.polarsys.chess.monitoring/bin/.gitignore
@@ -1 +1,2 @@
 /monitoringxml/
+/org/
diff --git a/plugins/org.polarsys.chess.monitoring/build.properties b/plugins/org.polarsys.chess.monitoring/build.properties
index 4465407..b65fa7c 100644
--- a/plugins/org.polarsys.chess.monitoring/build.properties
+++ b/plugins/org.polarsys.chess.monitoring/build.properties
@@ -4,7 +4,8 @@
                model/,\
                META-INF/,\
                plugin.xml,\
-               plugin.properties
+               plugin.properties,\
+               transforms/
 jars.compile.order = .
 source.. = src/
 output.. = bin/
diff --git a/plugins/org.polarsys.chess.monitoring/model/monitoring.aird b/plugins/org.polarsys.chess.monitoring/model/monitoring.aird
index a63259a..89ee22f 100644
--- a/plugins/org.polarsys.chess.monitoring/model/monitoring.aird
+++ b/plugins/org.polarsys.chess.monitoring/model/monitoring.aird
@@ -1,37 +1,1414 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xmlns:xsd="http://www.eclipse.org/xsd/2002/XSD" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_TMF7APKXEeWJGdEk7kJ9Lg" selectedViews="_UU7yYPKXEeWJGdEk7kJ9Lg" version="8.1.1">
+<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:qvtoperational.expr="http://www.eclipse.org/qvt/1.0.0/Operational/Expressions" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xmlns:xsd="http://www.eclipse.org/xsd/2002/XSD" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/qvt/1.0.0/Operational/Expressions http://www.eclipse.org/QVT/1.0.0/Operational#//expressions http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_TMF7APKXEeWJGdEk7kJ9Lg" selectedViews="_UU7yYPKXEeWJGdEk7kJ9Lg" version="8.1.1">
   <models xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
-  <models xmi:type="genmodel:GenModel" href="monitoring.genmodel#/"/>
   <models xmi:type="xsd:XSDSchema" href="bundleentry://1349.fwk397847959/cache/www.w3.org/2001/XMLSchema-instance.xsd#/"/>
   <models xmi:type="xsd:XSDSchema" href="bundleentry://1349.fwk397847959/cache/www.w3.org/2001/XMLSchema.xsd#/"/>
   <models xmi:type="xsd:XSDSchema" href="bundleentry://1349.fwk397847959/cache/www.w3.org/2001/MagicXMLSchema.xsd#/"/>
+  <models xmi:type="qvtoperational.expr:Library" href="../transforms/CommonUtilities.qvto#/"/>
+  <models xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>
+  <models xmi:type="ecore:EPackage" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0"/>
+  <models xmi:type="qvtoperational.expr:Library" href="http://www.eclipse.org/m2m/qvt/oml/1.0.0/Stdlib#/"/>
+  <models xmi:type="ecore:EPackage" href="http://CHESS#/"/>
+  <models xmi:type="qvtoperational.expr:OperationalTransformation" href="../transforms/MonitoringXML2Chess.qvto#/"/>
+  <models xmi:type="qvtoperational.expr:Library" href="qvto:/module.env#/"/>
+  <models xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#/"/>
+  <models xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/2002/Ecore#/"/>
+  <models xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/Types#/"/>
+  <models xmi:type="ecore:EPackage" href="http:///MARTE_Library/BasicNFP_Types.ecore#/"/>
+  <models xmi:type="ecore:EPackage" href="http:///MARTE_Library/MARTE_PrimitivesTypes.ecore#/"/>
+  <models xmi:type="genmodel:GenModel" href="monitoring.genmodel#/"/>
   <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_UU7yYPKXEeWJGdEk7kJ9Lg" initialized="true">
     <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_UeMcEPKXEeWJGdEk7kJ9Lg" name="monitoring class diagram">
       <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_UfkVEPKXEeWJGdEk7kJ9Lg" source="GMF_DIAGRAMS">
         <data xmi:type="notation:Diagram" xmi:id="_UfkVEfKXEeWJGdEk7kJ9Lg" type="Sirius" element="_UeMcEPKXEeWJGdEk7kJ9Lg" measurementUnit="Pixel">
-          <children xmi:type="notation:Node" xmi:id="_UgDdQPKXEeWJGdEk7kJ9Lg" type="2001" element="_UeMcEfKXEeWJGdEk7kJ9Lg">
-            <children xmi:type="notation:Node" xmi:id="_UhNT0PKXEeWJGdEk7kJ9Lg" type="5002">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_UhNT0fKXEeWJGdEk7kJ9Lg" y="5"/>
+          <children xmi:type="notation:Node" xmi:id="_VfmU4Bv7EeaHUeOe1L7u_Q" type="2003" element="_VeUigBv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_Vf1lcBv7EeaHUeOe1L7u_Q" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_Vf4BsBv7EeaHUeOe1L7u_Q" type="7004">
+              <styles xmi:type="notation:SortingStyle" xmi:id="_Vf4BsRv7EeaHUeOe1L7u_Q"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_Vf4Bshv7EeaHUeOe1L7u_Q"/>
             </children>
-            <children xmi:type="notation:Node" xmi:id="_U1-p8PKXEeWJGdEk7kJ9Lg" type="3005" element="_UeMcEvKXEeWJGdEk7kJ9Lg">
-              <styles xmi:type="notation:ShapeStyle" xmi:id="_U1-p8fKXEeWJGdEk7kJ9Lg" fontName="Segoe UI"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U1-p8vKXEeWJGdEk7kJ9Lg"/>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_VfmU4Rv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VfmU4hv7EeaHUeOe1L7u_Q" x="228" y="170"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_W_bI4Bv7EeaHUeOe1L7u_Q" type="2003" element="_W_NGcBv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_W_cXABv7EeaHUeOe1L7u_Q" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_W_cXARv7EeaHUeOe1L7u_Q" type="7004">
+              <children xmi:type="notation:Node" xmi:id="_W_dlIBv7EeaHUeOe1L7u_Q" type="3010" element="_W_W3cBv7EeaHUeOe1L7u_Q">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_W_dlIRv7EeaHUeOe1L7u_Q"/>
+              </children>
+              <styles xmi:type="notation:SortingStyle" xmi:id="_W_cXAhv7EeaHUeOe1L7u_Q"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_W_cXAxv7EeaHUeOe1L7u_Q"/>
             </children>
-            <styles xmi:type="notation:ShapeStyle" xmi:id="_UgDdQfKXEeWJGdEk7kJ9Lg" fontName="Segoe UI" fontHeight="8"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UgDdQvKXEeWJGdEk7kJ9Lg" width="672" height="67"/>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_W_bI4Rv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8" italic="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W_bI4hv7EeaHUeOe1L7u_Q" x="585" y="36"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_ZuohIBv7EeaHUeOe1L7u_Q" type="2003" element="_ZuKnEBv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_ZupvQBv7EeaHUeOe1L7u_Q" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_ZupvQRv7EeaHUeOe1L7u_Q" type="7004">
+              <styles xmi:type="notation:SortingStyle" xmi:id="_ZupvQhv7EeaHUeOe1L7u_Q"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_ZupvQxv7EeaHUeOe1L7u_Q"/>
+            </children>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_ZuohIRv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZuohIhv7EeaHUeOe1L7u_Q" x="477" y="405"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_ZuqWUBv7EeaHUeOe1L7u_Q" type="2003" element="_ZuNqYBv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_ZuqWUxv7EeaHUeOe1L7u_Q" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_ZuqWVBv7EeaHUeOe1L7u_Q" type="7004">
+              <styles xmi:type="notation:SortingStyle" xmi:id="_ZuqWVRv7EeaHUeOe1L7u_Q"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_ZuqWVhv7EeaHUeOe1L7u_Q"/>
+            </children>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_ZuqWURv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZuqWUhv7EeaHUeOe1L7u_Q" x="693" y="369"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_gFptkBv7EeaHUeOe1L7u_Q" type="2003" element="_gFIJIBv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_gFqUoBv7EeaHUeOe1L7u_Q" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_gFq7sBv7EeaHUeOe1L7u_Q" type="7004">
+              <children xmi:type="notation:Node" xmi:id="_gFtX8Bv7EeaHUeOe1L7u_Q" type="3010" element="_gFWyoBv7EeaHUeOe1L7u_Q">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_gFtX8Rv7EeaHUeOe1L7u_Q"/>
+              </children>
+              <styles xmi:type="notation:SortingStyle" xmi:id="_gFq7sRv7EeaHUeOe1L7u_Q"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_gFq7shv7EeaHUeOe1L7u_Q"/>
+            </children>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_gFptkRv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFptkhv7EeaHUeOe1L7u_Q" x="1071" y="90"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_gFq7sxv7EeaHUeOe1L7u_Q" type="2003" element="_gFJXQBv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_gFq7thv7EeaHUeOe1L7u_Q" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_gFq7txv7EeaHUeOe1L7u_Q" type="7004">
+              <styles xmi:type="notation:SortingStyle" xmi:id="_gFq7uBv7EeaHUeOe1L7u_Q"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_gFq7uRv7EeaHUeOe1L7u_Q"/>
+            </children>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_gFq7tBv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFq7tRv7EeaHUeOe1L7u_Q" x="1080" y="207"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_gFriwBv7EeaHUeOe1L7u_Q" type="2003" element="_gFKlYBv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_gFriwxv7EeaHUeOe1L7u_Q" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_gFrixBv7EeaHUeOe1L7u_Q" type="7004">
+              <styles xmi:type="notation:SortingStyle" xmi:id="_gFrixRv7EeaHUeOe1L7u_Q"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_gFrixhv7EeaHUeOe1L7u_Q"/>
+            </children>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_gFriwRv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFriwhv7EeaHUeOe1L7u_Q" x="1089" y="324"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_gFsJ0Bv7EeaHUeOe1L7u_Q" type="2003" element="_gFLMdRv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_gFsJ0xv7EeaHUeOe1L7u_Q" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_gFsw4Bv7EeaHUeOe1L7u_Q" type="7004">
+              <styles xmi:type="notation:SortingStyle" xmi:id="_gFsw4Rv7EeaHUeOe1L7u_Q"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_gFsw4hv7EeaHUeOe1L7u_Q"/>
+            </children>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_gFsJ0Rv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFsJ0hv7EeaHUeOe1L7u_Q" x="1080" y="459"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_gFsw4xv7EeaHUeOe1L7u_Q" type="2003" element="_gFMakBv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_gFsw5hv7EeaHUeOe1L7u_Q" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_gFsw5xv7EeaHUeOe1L7u_Q" type="7004">
+              <styles xmi:type="notation:SortingStyle" xmi:id="_gFsw6Bv7EeaHUeOe1L7u_Q"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_gFsw6Rv7EeaHUeOe1L7u_Q"/>
+            </children>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_gFsw5Bv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFsw5Rv7EeaHUeOe1L7u_Q" x="1089" y="603"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_gANxwCDOEeamRujSdBUx1A" type="2003" element="_f_3McCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="_gAOY0CDOEeamRujSdBUx1A" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_gAOY0SDOEeamRujSdBUx1A" type="7004">
+              <children xmi:type="notation:Node" xmi:id="_kRCGsCDOEeamRujSdBUx1A" type="3010" element="_kQtWkCDOEeamRujSdBUx1A">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_kRCGsSDOEeamRujSdBUx1A"/>
+              </children>
+              <children xmi:type="notation:Node" xmi:id="_0aCKkCDOEeamRujSdBUx1A" type="3010" element="_0Z0IICDOEeamRujSdBUx1A">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_0aCKkSDOEeamRujSdBUx1A"/>
+              </children>
+              <styles xmi:type="notation:SortingStyle" xmi:id="_gAOY0iDOEeamRujSdBUx1A"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_gAOY0yDOEeamRujSdBUx1A"/>
+            </children>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_gANxwSDOEeamRujSdBUx1A" fontName=".SF NS Text" fontHeight="8"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gANxwiDOEeamRujSdBUx1A" x="1485" y="324" width="120" height="100"/>
           </children>
           <styles xmi:type="notation:DiagramStyle" xmi:id="_UfkVEvKXEeWJGdEk7kJ9Lg"/>
+          <edges xmi:type="notation:Edge" xmi:id="_Zuv14Bv7EeaHUeOe1L7u_Q" type="4001" element="_Zubs0Bv7EeaHUeOe1L7u_Q" source="_VfmU4Bv7EeaHUeOe1L7u_Q" target="_ZuqWUBv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_ZuxEABv7EeaHUeOe1L7u_Q" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZuxEARv7EeaHUeOe1L7u_Q" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_ZuxrEBv7EeaHUeOe1L7u_Q" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZuxrERv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_ZuySIBv7EeaHUeOe1L7u_Q" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZuySIRv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_Zuv14Rv7EeaHUeOe1L7u_Q" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_Zuv14hv7EeaHUeOe1L7u_Q" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Zuv14xv7EeaHUeOe1L7u_Q" points="[228, 170, 228, 170]$[639, 446, 639, 446]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Zu9RQBv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Zu9RQRv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_Zu9RQhv7EeaHUeOe1L7u_Q" type="4001" element="_ZukPsBv7EeaHUeOe1L7u_Q" source="_VfmU4Bv7EeaHUeOe1L7u_Q" target="_ZuohIBv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_Zu94UBv7EeaHUeOe1L7u_Q" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zu94URv7EeaHUeOe1L7u_Q" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_Zu94Uhv7EeaHUeOe1L7u_Q" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zu94Uxv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_Zu-fYBv7EeaHUeOe1L7u_Q" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zu-fYRv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_Zu9RQxv7EeaHUeOe1L7u_Q" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_Zu9RRBv7EeaHUeOe1L7u_Q" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Zu9RRRv7EeaHUeOe1L7u_Q" points="[228, 170, 228, 170]$[609, 416, 609, 416]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Zu-fYhv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Zu-fYxv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_Zu-fZBv7EeaHUeOe1L7u_Q" type="4001" element="_Zuk2zBv7EeaHUeOe1L7u_Q" source="_ZuohIBv7EeaHUeOe1L7u_Q" target="_W_bI4Bv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_Zu_GcBv7EeaHUeOe1L7u_Q" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zu_GcRv7EeaHUeOe1L7u_Q" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_Zu_Gchv7EeaHUeOe1L7u_Q" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zu_Gcxv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_Zu_GdBv7EeaHUeOe1L7u_Q" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zu_GdRv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_Zu-fZRv7EeaHUeOe1L7u_Q" routing="Tree"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_Zu-fZhv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Zu-fZxv7EeaHUeOe1L7u_Q" points="[609, 416, 609, 416]$[581, 216, 581, 216]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Zu_tgBv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Zu_tgRv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_Zu_tghv7EeaHUeOe1L7u_Q" type="4001" element="_ZunTABv7EeaHUeOe1L7u_Q" source="_ZuqWUBv7EeaHUeOe1L7u_Q" target="_W_bI4Bv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_Zu_thhv7EeaHUeOe1L7u_Q" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zu_thxv7EeaHUeOe1L7u_Q" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_Zu_tiBv7EeaHUeOe1L7u_Q" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zu_tiRv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_ZvAUkBv7EeaHUeOe1L7u_Q" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZvAUkRv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_Zu_tgxv7EeaHUeOe1L7u_Q" routing="Tree"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_Zu_thBv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Zu_thRv7EeaHUeOe1L7u_Q" points="[639, 446, 639, 446]$[581, 216, 581, 216]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZvAUkhv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZvAUkxv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_gFumEBv7EeaHUeOe1L7u_Q" type="4001" element="_gFeucBv7EeaHUeOe1L7u_Q" source="_VfmU4Bv7EeaHUeOe1L7u_Q" target="_gFptkBv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_gFumFBv7EeaHUeOe1L7u_Q" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFumFRv7EeaHUeOe1L7u_Q" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_gFumFhv7EeaHUeOe1L7u_Q" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFumFxv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_gFumGBv7EeaHUeOe1L7u_Q" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFumGRv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_gFumERv7EeaHUeOe1L7u_Q" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_gFumEhv7EeaHUeOe1L7u_Q" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gFumExv7EeaHUeOe1L7u_Q" points="[228, 170, 228, 170]$[1081, 337, 1081, 337]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gFvNIBv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gFvNIRv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_gFvNIhv7EeaHUeOe1L7u_Q" type="4001" element="_gFiY0Bv7EeaHUeOe1L7u_Q" source="_W_bI4Bv7EeaHUeOe1L7u_Q" target="_gFq7sxv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_gFvNJhv7EeaHUeOe1L7u_Q" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFvNJxv7EeaHUeOe1L7u_Q" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_gFvNKBv7EeaHUeOe1L7u_Q" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFvNKRv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_gFv0MBv7EeaHUeOe1L7u_Q" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFv0MRv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_gFvNIxv7EeaHUeOe1L7u_Q" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_gFvNJBv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gFvNJRv7EeaHUeOe1L7u_Q" points="[585, 36, 585, 36]$[1111, 367, 1111, 367]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gFv0Mhv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gFv0Mxv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_gFv0NBv7EeaHUeOe1L7u_Q" type="4001" element="_gFk1Fhv7EeaHUeOe1L7u_Q" source="_W_bI4Bv7EeaHUeOe1L7u_Q" target="_gFsw4xv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_gFv0OBv7EeaHUeOe1L7u_Q" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFv0ORv7EeaHUeOe1L7u_Q" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_gFwbQBv7EeaHUeOe1L7u_Q" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFwbQRv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_gFwbQhv7EeaHUeOe1L7u_Q" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFwbQxv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_gFv0NRv7EeaHUeOe1L7u_Q" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_gFv0Nhv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gFv0Nxv7EeaHUeOe1L7u_Q" points="[585, 36, 585, 36]$[1201, 457, 1201, 457]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gFwbRBv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gFwbRRv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_gFwbRhv7EeaHUeOe1L7u_Q" type="4001" element="_gFlcJhv7EeaHUeOe1L7u_Q" source="_W_bI4Bv7EeaHUeOe1L7u_Q" target="_gFsJ0Bv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_gFwbShv7EeaHUeOe1L7u_Q" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFwbSxv7EeaHUeOe1L7u_Q" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_gFxCUBv7EeaHUeOe1L7u_Q" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFxCURv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_gFxCUhv7EeaHUeOe1L7u_Q" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFxCUxv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_gFwbRxv7EeaHUeOe1L7u_Q" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_gFwbSBv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gFwbSRv7EeaHUeOe1L7u_Q" points="[585, 36, 585, 36]$[1171, 427, 1171, 427]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gFxCVBv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gFxCVRv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_gFxCVhv7EeaHUeOe1L7u_Q" type="4001" element="_gFmDMBv7EeaHUeOe1L7u_Q" source="_W_bI4Bv7EeaHUeOe1L7u_Q" target="_gFriwBv7EeaHUeOe1L7u_Q">
+            <children xmi:type="notation:Node" xmi:id="_gFxpYBv7EeaHUeOe1L7u_Q" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFxpYRv7EeaHUeOe1L7u_Q" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_gFxpYhv7EeaHUeOe1L7u_Q" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFxpYxv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_gFxpZBv7EeaHUeOe1L7u_Q" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gFxpZRv7EeaHUeOe1L7u_Q" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_gFxCVxv7EeaHUeOe1L7u_Q" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_gFxCWBv7EeaHUeOe1L7u_Q" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gFxCWRv7EeaHUeOe1L7u_Q" points="[585, 36, 585, 36]$[1141, 397, 1141, 397]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gFxpZhv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gFxpZxv7EeaHUeOe1L7u_Q" id="(0.5,0.5)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_7gq_oCDaEeamRujSdBUx1A" type="4001" element="_7gag8CDaEeamRujSdBUx1A" source="_gFq7sxv7EeaHUeOe1L7u_Q" target="_gANxwCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="_7gsNwCDaEeamRujSdBUx1A" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7gsNwSDaEeamRujSdBUx1A" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_7gs00CDaEeamRujSdBUx1A" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7gs00SDaEeamRujSdBUx1A" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_7gtb4CDaEeamRujSdBUx1A" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7gtb4SDaEeamRujSdBUx1A" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_7gq_oSDaEeamRujSdBUx1A" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_7gq_oiDaEeamRujSdBUx1A" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7gq_oyDaEeamRujSdBUx1A" points="[21, 9, -295, -126]$[407, 9, 91, -126]$[407, 121, 91, -14]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7guC8CDaEeamRujSdBUx1A" id="(0.825,0.06)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7guC8SDaEeamRujSdBUx1A" id="(0.075,0.15)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_LXcrECDbEeamRujSdBUx1A" type="4001" element="_LXP2wCDbEeamRujSdBUx1A" source="_gFq7sxv7EeaHUeOe1L7u_Q" target="_gANxwCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="_LXdSICDbEeamRujSdBUx1A" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LXdSISDbEeamRujSdBUx1A" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_LXdSIiDbEeamRujSdBUx1A" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LXdSIyDbEeamRujSdBUx1A" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_LXdSJCDbEeamRujSdBUx1A" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LXdSJSDbEeamRujSdBUx1A" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_LXcrESDbEeamRujSdBUx1A" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_LXcrEiDbEeamRujSdBUx1A" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LXcrEyDbEeamRujSdBUx1A" points="[21, 8, -298, -113]$[389, 8, 70, -113]$[389, 108, 70, -13]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LXdSJiDbEeamRujSdBUx1A" id="(0.825,0.19)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LXdSJyDbEeamRujSdBUx1A" id="(0.1,0.14)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_TxopICDbEeamRujSdBUx1A" type="4001" element="_TxffMCDbEeamRujSdBUx1A" source="_gFq7sxv7EeaHUeOe1L7u_Q" target="_gANxwCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="_TxpQMCDbEeamRujSdBUx1A" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TxpQMSDbEeamRujSdBUx1A" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_TxpQMiDbEeamRujSdBUx1A" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TxpQMyDbEeamRujSdBUx1A" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_TxpQNCDbEeamRujSdBUx1A" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TxpQNSDbEeamRujSdBUx1A" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_TxopISDbEeamRujSdBUx1A" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_TxopIiDbEeamRujSdBUx1A" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TxopIyDbEeamRujSdBUx1A" points="[59, -4, -302, -89]$[406, -4, 45, -89]$[406, 77, 45, -8]"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TxpQNiDbEeamRujSdBUx1A" id="(0.13333333333333333,0.09)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_prvI8CDbEeamRujSdBUx1A" type="4001" element="_prkJ0CDbEeamRujSdBUx1A" source="_gFriwBv7EeaHUeOe1L7u_Q" target="_gANxwCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="_prvI9CDbEeamRujSdBUx1A" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_prvI9SDbEeamRujSdBUx1A" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_prvI9iDbEeamRujSdBUx1A" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_prvI9yDbEeamRujSdBUx1A" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_prvI-CDbEeamRujSdBUx1A" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_prvI-SDbEeamRujSdBUx1A" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_prvI8SDbEeamRujSdBUx1A" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_prvI8iDbEeamRujSdBUx1A" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_prvI8yDbEeamRujSdBUx1A" points="[16, 7, -280, 1]$[297, 1, 1, -5]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_prvwACDbEeamRujSdBUx1A" id="(0.8666666666666667,0.09)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_prvwASDbEeamRujSdBUx1A" id="(0.025,0.06)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_vbsVYCDbEeamRujSdBUx1A" type="4001" element="_vbikYCDbEeamRujSdBUx1A" source="_gFriwBv7EeaHUeOe1L7u_Q" target="_gANxwCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="_vbsVZCDbEeamRujSdBUx1A" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vbsVZSDbEeamRujSdBUx1A" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_vbsVZiDbEeamRujSdBUx1A" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vbsVZyDbEeamRujSdBUx1A" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_vbsVaCDbEeamRujSdBUx1A" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vbsVaSDbEeamRujSdBUx1A" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_vbsVYSDbEeamRujSdBUx1A" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_vbsVYiDbEeamRujSdBUx1A" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vbsVYyDbEeamRujSdBUx1A" points="[22, 13, -301, 13]$[300, 13, -23, 13]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vbsVaiDbEeamRujSdBUx1A" id="(0.8166666666666667,0.15)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vbsVayDbEeamRujSdBUx1A" id="(0.2,0.15)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_21EWsCDbEeamRujSdBUx1A" type="4001" element="_207z0CDbEeamRujSdBUx1A" source="_gFriwBv7EeaHUeOe1L7u_Q" target="_gANxwCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="_21EWtCDbEeamRujSdBUx1A" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_21EWtSDbEeamRujSdBUx1A" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_21EWtiDbEeamRujSdBUx1A" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_21EWtyDbEeamRujSdBUx1A" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_21E9wCDbEeamRujSdBUx1A" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_21E9wSDbEeamRujSdBUx1A" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_21EWsSDbEeamRujSdBUx1A" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_21EWsiDbEeamRujSdBUx1A" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_21EWsyDbEeamRujSdBUx1A" points="[59, -4, -329, 32]$[337, -4, -51, 32]"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_21E9wiDbEeamRujSdBUx1A" id="(0.43333333333333335,0.14)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="__87TECDbEeamRujSdBUx1A" type="4001" element="__8z-UCDbEeamRujSdBUx1A" source="_gFsJ0Bv7EeaHUeOe1L7u_Q" target="_gANxwCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="__876ICDbEeamRujSdBUx1A" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="__876ISDbEeamRujSdBUx1A" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="__876IiDbEeamRujSdBUx1A" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="__876IyDbEeamRujSdBUx1A" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="__876JCDbEeamRujSdBUx1A" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="__876JSDbEeamRujSdBUx1A" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="__87TESDbEeamRujSdBUx1A" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="__87TEiDbEeamRujSdBUx1A" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__87TEyDbEeamRujSdBUx1A" points="[12, -2, -295, 67]$[155, -2, -152, 67]$[155, -80, -152, -11]$[299, -80, -8, -11]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__876JiDbEeamRujSdBUx1A" id="(0.9,0.09)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__876JyDbEeamRujSdBUx1A" id="(0.075,0.76)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_E72EICDcEeamRujSdBUx1A" type="4001" element="_E7thQCDcEeamRujSdBUx1A" source="_gFsJ0Bv7EeaHUeOe1L7u_Q" target="_gANxwCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="_E72rMCDcEeamRujSdBUx1A" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E72rMSDcEeamRujSdBUx1A" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_E72rMiDcEeamRujSdBUx1A" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E72rMyDcEeamRujSdBUx1A" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_E72rNCDcEeamRujSdBUx1A" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E72rNSDcEeamRujSdBUx1A" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_E72EISDcEeamRujSdBUx1A" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_E72EIiDcEeamRujSdBUx1A" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_E72EIyDcEeamRujSdBUx1A" points="[37, 11, -314, 79]$[189, 11, -162, 79]$[189, -70, -162, -2]$[324, -70, -27, -2]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E72rNiDcEeamRujSdBUx1A" id="(0.6916666666666667,0.08)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E72rNyDcEeamRujSdBUx1A" id="(0.23333333333333334,0.76)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_Kt6JYCDcEeamRujSdBUx1A" type="4001" element="_KtyNkCDcEeamRujSdBUx1A" source="_gFsJ0Bv7EeaHUeOe1L7u_Q" target="_gANxwCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="_Kt6wcCDcEeamRujSdBUx1A" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kt6wcSDcEeamRujSdBUx1A" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_Kt6wciDcEeamRujSdBUx1A" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kt6wcyDcEeamRujSdBUx1A" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_Kt6wdCDcEeamRujSdBUx1A" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kt6wdSDcEeamRujSdBUx1A" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_Kt6JYSDcEeamRujSdBUx1A" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_Kt6JYiDcEeamRujSdBUx1A" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Kt6JYyDcEeamRujSdBUx1A" points="[29, 9, -377, 99]$[334, 9, -72, 99]$[334, -55, -72, 35]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kt6wdiDcEeamRujSdBUx1A" id="(0.7583333333333333,0.19)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kt6wdyDcEeamRujSdBUx1A" id="(0.7666666666666667,0.65)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_W1-HYCDcEeamRujSdBUx1A" type="4001" element="_W11kgCDcEeamRujSdBUx1A" source="_gFsJ0Bv7EeaHUeOe1L7u_Q" target="_gANxwCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="_W1-HZCDcEeamRujSdBUx1A" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W1-HZSDcEeamRujSdBUx1A" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_W1-ucCDcEeamRujSdBUx1A" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W1-ucSDcEeamRujSdBUx1A" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_W1-uciDcEeamRujSdBUx1A" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W1-ucyDcEeamRujSdBUx1A" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_W1-HYSDcEeamRujSdBUx1A" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_W1-HYiDcEeamRujSdBUx1A" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_W1-HYyDcEeamRujSdBUx1A" points="[21, 30, -346, 131]$[335, 30, -32, 131]$[335, -52, -32, 49]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W1-udCDcEeamRujSdBUx1A" id="(0.825,0.16)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_faS44CDcEeamRujSdBUx1A" type="4001" element="_faJH4CDcEeamRujSdBUx1A" source="_gFsw4xv7EeaHUeOe1L7u_Q" target="_gANxwCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="_faS45CDcEeamRujSdBUx1A" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_faS45SDcEeamRujSdBUx1A" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_faTf8CDcEeamRujSdBUx1A" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_faTf8SDcEeamRujSdBUx1A" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_faTf8iDcEeamRujSdBUx1A" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_faTf8yDcEeamRujSdBUx1A" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_faS44SDcEeamRujSdBUx1A" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_faS44iDcEeamRujSdBUx1A" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_faS44yDcEeamRujSdBUx1A" points="[16, -9, -353, 209]$[371, -194, 2, 24]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_faTf9CDcEeamRujSdBUx1A" id="(0.8666666666666667,0.14)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_faTf9SDcEeamRujSdBUx1A" id="(0.6416666666666667,0.76)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_mb1pACDcEeamRujSdBUx1A" type="4001" element="_mbqC0CDcEeamRujSdBUx1A" source="_gFsw4xv7EeaHUeOe1L7u_Q" target="_gANxwCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="_mb2QECDcEeamRujSdBUx1A" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mb2QESDcEeamRujSdBUx1A" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_mb2QEiDcEeamRujSdBUx1A" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mb2QEyDcEeamRujSdBUx1A" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_mb2QFCDcEeamRujSdBUx1A" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mb2QFSDcEeamRujSdBUx1A" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_mb1pASDcEeamRujSdBUx1A" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_mb1pAiDcEeamRujSdBUx1A" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mb1pAyDcEeamRujSdBUx1A" points="[18, 6, -352, 222]$[347, 6, -23, 222]$[347, -202, -23, 14]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mb2QFiDcEeamRujSdBUx1A" id="(0.85,0.22)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mb2QFyDcEeamRujSdBUx1A" id="(0.6333333333333333,0.86)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_rd4mkCDcEeamRujSdBUx1A" type="4001" element="_rdwDsCDcEeamRujSdBUx1A" source="_gFsw4xv7EeaHUeOe1L7u_Q" target="_gANxwCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="_rd4mlCDcEeamRujSdBUx1A" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rd4mlSDcEeamRujSdBUx1A" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_rd4mliDcEeamRujSdBUx1A" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rd4mlyDcEeamRujSdBUx1A" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_rd4mmCDcEeamRujSdBUx1A" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rd4mmSDcEeamRujSdBUx1A" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_rd4mkSDcEeamRujSdBUx1A" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_rd4mkiDcEeamRujSdBUx1A" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rd4mkyDcEeamRujSdBUx1A" points="[19, 40, -337, 284]$[357, 40, 1, 284]$[357, -195, 1, 49]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rd4mmiDcEeamRujSdBUx1A" id="(0.8416666666666667,0.15)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_v1eR4CDcEeamRujSdBUx1A" type="4001" element="_v1WWECDcEeamRujSdBUx1A" source="_gFsw4xv7EeaHUeOe1L7u_Q" target="_gANxwCDOEeamRujSdBUx1A">
+            <children xmi:type="notation:Node" xmi:id="_v1eR5CDcEeamRujSdBUx1A" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v1eR5SDcEeamRujSdBUx1A" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_v1eR5iDcEeamRujSdBUx1A" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v1eR5yDcEeamRujSdBUx1A" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_v1e48CDcEeamRujSdBUx1A" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v1e48SDcEeamRujSdBUx1A" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_v1eR4SDcEeamRujSdBUx1A" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_v1eR4iDcEeamRujSdBUx1A" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v1eR4yDcEeamRujSdBUx1A" points="[29, 76, -349, 282]$[397, 76, 19, 282]$[397, -186, 19, 20]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v1e48iDcEeamRujSdBUx1A" id="(0.7583333333333333,0.06)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v1e48yDcEeamRujSdBUx1A" id="(0.6083333333333333,0.8)"/>
+          </edges>
         </data>
       </ownedAnnotationEntries>
-      <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_UeMcEfKXEeWJGdEk7kJ9Lg" width="-1" height="-1">
-        <target xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
-        <semanticElements xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
-        <ownedStyle xmi:type="diagram:WorkspaceImage" xmi:id="_UeMcEvKXEeWJGdEk7kJ9Lg" showIcon="false" labelPosition="node" workspacePath="/org.eclipse.emf.ecoretools.design/icons/full/back/empty.svg">
-          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_UeMcE_KXEeWJGdEk7kJ9Lg"/>
-          <description xmi:type="style:WorkspaceImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@nodeMappings[name='Empty%20Diagram']/@style"/>
-          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_UeMcFPKXEeWJGdEk7kJ9Lg"/>
+      <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_ZueJEBv7EeaHUeOe1L7u_Q" source="DANNOTATION_CUSTOMIZATION_KEY">
+        <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_ZuewIBv7EeaHUeOe1L7u_Q">
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_ZuglUhv7EeaHUeOe1L7u_Q" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_ZuglUxv7EeaHUeOe1L7u_Q" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_ZuglVBv7EeaHUeOe1L7u_Q" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_Zuk2whv7EeaHUeOe1L7u_Q" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_Zuk2wxv7EeaHUeOe1L7u_Q" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_Zuk2xBv7EeaHUeOe1L7u_Q" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_gFfVghv7EeaHUeOe1L7u_Q" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_gFfVgxv7EeaHUeOe1L7u_Q" labelFormat="bold" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_gFfVhBv7EeaHUeOe1L7u_Q" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_y1QAQxv7EeaHUeOe1L7u_Q" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_y1QARBv7EeaHUeOe1L7u_Q" showIcon="false" labelExpression="service:renderEOpposite">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </beginLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_y1QARRv7EeaHUeOe1L7u_Q" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_1NS1shv7EeaHUeOe1L7u_Q" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_1NS1sxv7EeaHUeOe1L7u_Q" showIcon="false" labelExpression="service:renderEOpposite">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </beginLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_1NS1tBv7EeaHUeOe1L7u_Q" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_2cS_chv7EeaHUeOe1L7u_Q" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_2cS_cxv7EeaHUeOe1L7u_Q" showIcon="false" labelExpression="service:renderEOpposite">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </beginLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_2cS_dBv7EeaHUeOe1L7u_Q" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_3yZ2whv7EeaHUeOe1L7u_Q" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_3yZ2wxv7EeaHUeOe1L7u_Q" showIcon="false" labelExpression="service:renderEOpposite">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </beginLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_3yZ2xBv7EeaHUeOe1L7u_Q" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_7gbIASDaEeamRujSdBUx1A" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_7gbIAiDaEeamRujSdBUx1A" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_7gbIAyDaEeamRujSdBUx1A" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_LXQd0iDbEeamRujSdBUx1A" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_LXQd0yDbEeamRujSdBUx1A" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_LXQd1CDbEeamRujSdBUx1A" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_TxffMyDbEeamRujSdBUx1A" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_TxffNCDbEeamRujSdBUx1A" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_TxffNSDbEeamRujSdBUx1A" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_prkw4iDbEeamRujSdBUx1A" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_prkw4yDbEeamRujSdBUx1A" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_prkw5CDbEeamRujSdBUx1A" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_vbjLciDbEeamRujSdBUx1A" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_vbjLcyDbEeamRujSdBUx1A" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_vbjLdCDbEeamRujSdBUx1A" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_208a4iDbEeamRujSdBUx1A" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_208a4yDbEeamRujSdBUx1A" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_208a5CDbEeamRujSdBUx1A" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="__8z-UyDbEeamRujSdBUx1A" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="__8z-VCDbEeamRujSdBUx1A" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="__8z-VSDbEeamRujSdBUx1A" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_E7thQyDcEeamRujSdBUx1A" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_E7thRCDcEeamRujSdBUx1A" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_E7thRSDcEeamRujSdBUx1A" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_KtyNkyDcEeamRujSdBUx1A" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_KtyNlCDcEeamRujSdBUx1A" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_KtyNlSDcEeamRujSdBUx1A" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_W12LkiDcEeamRujSdBUx1A" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_W12LkyDcEeamRujSdBUx1A" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_W12LlCDcEeamRujSdBUx1A" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_faJu8SDcEeamRujSdBUx1A" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_faJu8iDcEeamRujSdBUx1A" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_faJu8yDcEeamRujSdBUx1A" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_mbrQ8iDcEeamRujSdBUx1A" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_mbrQ8yDcEeamRujSdBUx1A" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_mbrQ9CDcEeamRujSdBUx1A" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_rdwqwiDcEeamRujSdBUx1A" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_rdwqwyDcEeamRujSdBUx1A" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_rdwqxCDcEeamRujSdBUx1A" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_v1WWEyDcEeamRujSdBUx1A" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_v1WWFCDcEeamRujSdBUx1A" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_v1WWFSDcEeamRujSdBUx1A" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <cache xmi:type="diagram:DiagramElementMapping2ModelElement" xmi:id="_ZufXMBv7EeaHUeOe1L7u_Q">
+            <key xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_ZuglUBv7EeaHUeOe1L7u_Q">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//Monitoring/ThreadNames"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_ZuglURv7EeaHUeOe1L7u_Q" key="_Zubs0Bv7EeaHUeOe1L7u_Q">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_ZuhMYBv7EeaHUeOe1L7u_Q" value="_ZuglUhv7EeaHUeOe1L7u_Q">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_Zuk2wBv7EeaHUeOe1L7u_Q">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//Monitoring/SharedResources"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_Zuk2wRv7EeaHUeOe1L7u_Q" key="_ZukPsBv7EeaHUeOe1L7u_Q">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_Zuk2xRv7EeaHUeOe1L7u_Q" value="_Zuk2whv7EeaHUeOe1L7u_Q">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_gFfVgBv7EeaHUeOe1L7u_Q">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//Monitoring/analysisContext"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_gFfVgRv7EeaHUeOe1L7u_Q" key="_gFeucBv7EeaHUeOe1L7u_Q">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_gFfVhRv7EeaHUeOe1L7u_Q" value="_gFfVghv7EeaHUeOe1L7u_Q">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_7gag8SDaEeamRujSdBUx1A">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//BlockingTime/minimum"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_7gbIACDaEeamRujSdBUx1A" key="_7gag8CDaEeamRujSdBUx1A">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_7gbIBCDaEeamRujSdBUx1A" value="_7gbIASDaEeamRujSdBUx1A">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_LXQd0CDbEeamRujSdBUx1A">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//BlockingTime/maximum"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_LXQd0SDbEeamRujSdBUx1A" key="_LXP2wCDbEeamRujSdBUx1A">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_LXQd1SDbEeamRujSdBUx1A" value="_LXQd0iDbEeamRujSdBUx1A">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_TxffMSDbEeamRujSdBUx1A">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//BlockingTime/average"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_TxffMiDbEeamRujSdBUx1A" key="_TxffMCDbEeamRujSdBUx1A">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_TxffNiDbEeamRujSdBUx1A" value="_TxffMyDbEeamRujSdBUx1A">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_prkw4CDbEeamRujSdBUx1A">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//ExecutionTime/minimum"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_prkw4SDbEeamRujSdBUx1A" key="_prkJ0CDbEeamRujSdBUx1A">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_prkw5SDbEeamRujSdBUx1A" value="_prkw4iDbEeamRujSdBUx1A">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_vbjLcCDbEeamRujSdBUx1A">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//ExecutionTime/maximum"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_vbjLcSDbEeamRujSdBUx1A" key="_vbikYCDbEeamRujSdBUx1A">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_vbjLdSDbEeamRujSdBUx1A" value="_vbjLciDbEeamRujSdBUx1A">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_208a4CDbEeamRujSdBUx1A">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//ExecutionTime/average"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_208a4SDbEeamRujSdBUx1A" key="_207z0CDbEeamRujSdBUx1A">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_208a5SDbEeamRujSdBUx1A" value="_208a4iDbEeamRujSdBUx1A">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="__8z-USDbEeamRujSdBUx1A">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//Period/minimum"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="__8z-UiDbEeamRujSdBUx1A" key="__8z-UCDbEeamRujSdBUx1A">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="__8z-ViDbEeamRujSdBUx1A" value="__8z-UyDbEeamRujSdBUx1A">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_E7thQSDcEeamRujSdBUx1A">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//Period/maximum"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_E7thQiDcEeamRujSdBUx1A" key="_E7thQCDcEeamRujSdBUx1A">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_E7thRiDcEeamRujSdBUx1A" value="_E7thQyDcEeamRujSdBUx1A">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_KtyNkSDcEeamRujSdBUx1A">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//Period/average"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_KtyNkiDcEeamRujSdBUx1A" key="_KtyNkCDcEeamRujSdBUx1A">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_KtyNliDcEeamRujSdBUx1A" value="_KtyNkyDcEeamRujSdBUx1A">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_W12LkCDcEeamRujSdBUx1A">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//Period/jitter"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_W12LkSDcEeamRujSdBUx1A" key="_W11kgCDcEeamRujSdBUx1A">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_W12LlSDcEeamRujSdBUx1A" value="_W12LkiDcEeamRujSdBUx1A">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_faJH4SDcEeamRujSdBUx1A">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//ResponseTime/minimum"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_faJu8CDcEeamRujSdBUx1A" key="_faJH4CDcEeamRujSdBUx1A">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_faJu9CDcEeamRujSdBUx1A" value="_faJu8SDcEeamRujSdBUx1A">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_mbrQ8CDcEeamRujSdBUx1A">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//ResponseTime/maximum"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_mbrQ8SDcEeamRujSdBUx1A" key="_mbqC0CDcEeamRujSdBUx1A">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_mbrQ9SDcEeamRujSdBUx1A" value="_mbrQ8iDcEeamRujSdBUx1A">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_rdwqwCDcEeamRujSdBUx1A">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//ResponseTime/average"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_rdwqwSDcEeamRujSdBUx1A" key="_rdwDsCDcEeamRujSdBUx1A">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_rdwqxSDcEeamRujSdBUx1A" value="_rdwqwiDcEeamRujSdBUx1A">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_v1WWESDcEeamRujSdBUx1A">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//ResponseTime/jitter"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_v1WWEiDcEeamRujSdBUx1A" key="_v1WWECDcEeamRujSdBUx1A">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_v1WWFiDcEeamRujSdBUx1A" value="_v1WWEyDcEeamRujSdBUx1A">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+          </cache>
+          <cache xmi:type="diagram:DiagramElementMapping2ModelElement" xmi:id="_y1QAQBv7EeaHUeOe1L7u_Q">
+            <key xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_y1QAQRv7EeaHUeOe1L7u_Q">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//MonitoredResource/executiontime"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_y1QAQhv7EeaHUeOe1L7u_Q" key="_gFmDMBv7EeaHUeOe1L7u_Q">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_y1QARhv7EeaHUeOe1L7u_Q" value="_y1QAQxv7EeaHUeOe1L7u_Q">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_1NS1sBv7EeaHUeOe1L7u_Q">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//MonitoredResource/blockingtime"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_1NS1sRv7EeaHUeOe1L7u_Q" key="_gFiY0Bv7EeaHUeOe1L7u_Q">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_1NS1tRv7EeaHUeOe1L7u_Q" value="_1NS1shv7EeaHUeOe1L7u_Q">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_2cS_cBv7EeaHUeOe1L7u_Q">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//MonitoredResource/period"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_2cS_cRv7EeaHUeOe1L7u_Q" key="_gFlcJhv7EeaHUeOe1L7u_Q">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_2cS_dRv7EeaHUeOe1L7u_Q" value="_2cS_chv7EeaHUeOe1L7u_Q">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_3yZ2wBv7EeaHUeOe1L7u_Q">
+              <key xmi:type="ecore:EReference" href="monitoring.ecore#//MonitoredResource/responsetime"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_3yZ2wRv7EeaHUeOe1L7u_Q" key="_gFk1Fhv7EeaHUeOe1L7u_Q">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_3yZ2xRv7EeaHUeOe1L7u_Q" value="_3yZ2whv7EeaHUeOe1L7u_Q">
+                  <key xmi:type="ecore:EPackage" href="monitoring.ecore#/"/>
+                </value>
+              </value>
+            </value>
+          </cache>
+        </data>
+      </ownedAnnotationEntries>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_VeUigBv7EeaHUeOe1L7u_Q" name="Monitoring" tooltipText="" outgoingEdges="_Zubs0Bv7EeaHUeOe1L7u_Q _ZukPsBv7EeaHUeOe1L7u_Q _gFeucBv7EeaHUeOe1L7u_Q" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="monitoring.ecore#//Monitoring"/>
+        <semanticElements xmi:type="ecore:EClass" href="monitoring.ecore#//Monitoring"/>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_VeorkBv7EeaHUeOe1L7u_Q" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_VeorkRv7EeaHUeOe1L7u_Q"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_Veorkhv7EeaHUeOe1L7u_Q"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_Veorkxv7EeaHUeOe1L7u_Q" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_VeorlBv7EeaHUeOe1L7u_Q" red="255" green="252" blue="216"/>
         </ownedStyle>
-        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@nodeMappings[name='Empty%20Diagram']"/>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_W_NGcBv7EeaHUeOe1L7u_Q" name="MonitoredResource" tooltipText="" outgoingEdges="_gFiY0Bv7EeaHUeOe1L7u_Q _gFk1Fhv7EeaHUeOe1L7u_Q _gFlcJhv7EeaHUeOe1L7u_Q _gFmDMBv7EeaHUeOe1L7u_Q" incomingEdges="_Zuk2zBv7EeaHUeOe1L7u_Q _ZunTABv7EeaHUeOe1L7u_Q" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="monitoring.ecore#//MonitoredResource"/>
+        <semanticElements xmi:type="ecore:EClass" href="monitoring.ecore#//MonitoredResource"/>
+        <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+        <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+        <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_W_QJwBv7EeaHUeOe1L7u_Q" labelFormat="italic" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_W_QJwRv7EeaHUeOe1L7u_Q"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_W_QJwhv7EeaHUeOe1L7u_Q" red="125" green="125" blue="125"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_W_QJwxv7EeaHUeOe1L7u_Q" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_W_QJxBv7EeaHUeOe1L7u_Q" red="228" green="228" blue="228"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+        <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_W_W3cBv7EeaHUeOe1L7u_Q" name="name : EString" tooltipText="">
+          <target xmi:type="ecore:EAttribute" href="monitoring.ecore#//MonitoredResource/name"/>
+          <semanticElements xmi:type="ecore:EAttribute" href="monitoring.ecore#//MonitoredResource/name"/>
+          <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_W_YsoBv7EeaHUeOe1L7u_Q" labelAlignment="LEFT">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_W_YsoRv7EeaHUeOe1L7u_Q"/>
+            <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+            <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_W_Ysohv7EeaHUeOe1L7u_Q"/>
+            <color xmi:type="viewpoint:RGBValues" xmi:id="_W_Ysoxv7EeaHUeOe1L7u_Q"/>
+          </ownedStyle>
+          <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+        </ownedElements>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ZuKnEBv7EeaHUeOe1L7u_Q" name="Resource" tooltipText="" outgoingEdges="_Zuk2zBv7EeaHUeOe1L7u_Q" incomingEdges="_ZukPsBv7EeaHUeOe1L7u_Q" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="monitoring.ecore#//Resource"/>
+        <semanticElements xmi:type="ecore:EClass" href="monitoring.ecore#//Resource"/>
+        <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+        <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+        <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ZuMcQBv7EeaHUeOe1L7u_Q" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_ZuMcQRv7EeaHUeOe1L7u_Q"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_ZuMcQhv7EeaHUeOe1L7u_Q"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_ZuMcQxv7EeaHUeOe1L7u_Q" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_ZuMcRBv7EeaHUeOe1L7u_Q" red="255" green="252" blue="216"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ZuNqYBv7EeaHUeOe1L7u_Q" name="Thread" tooltipText="" outgoingEdges="_ZunTABv7EeaHUeOe1L7u_Q" incomingEdges="_Zubs0Bv7EeaHUeOe1L7u_Q" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="monitoring.ecore#//Thread"/>
+        <semanticElements xmi:type="ecore:EClass" href="monitoring.ecore#//Thread"/>
+        <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+        <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+        <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ZuORcBv7EeaHUeOe1L7u_Q" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_ZuORcRv7EeaHUeOe1L7u_Q"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_ZuORchv7EeaHUeOe1L7u_Q"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_ZuORcxv7EeaHUeOe1L7u_Q" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_ZuORdBv7EeaHUeOe1L7u_Q" red="255" green="252" blue="216"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Zubs0Bv7EeaHUeOe1L7u_Q" name="[0..*] ThreadNames" sourceNode="_VeUigBv7EeaHUeOe1L7u_Q" targetNode="_ZuNqYBv7EeaHUeOe1L7u_Q">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//Monitoring/ThreadNames"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//Monitoring/ThreadNames"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ZujBkBv7EeaHUeOe1L7u_Q" description="_ZuglUhv7EeaHUeOe1L7u_Q" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_ZujBkRv7EeaHUeOe1L7u_Q"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_ZujBkhv7EeaHUeOe1L7u_Q" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_ZujBkxv7EeaHUeOe1L7u_Q"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_ZujBlBv7EeaHUeOe1L7u_Q" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_ZujBlRv7EeaHUeOe1L7u_Q" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ZukPsBv7EeaHUeOe1L7u_Q" name="[0..*] SharedResources" sourceNode="_VeUigBv7EeaHUeOe1L7u_Q" targetNode="_ZuKnEBv7EeaHUeOe1L7u_Q">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//Monitoring/SharedResources"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//Monitoring/SharedResources"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Zuk2xhv7EeaHUeOe1L7u_Q" description="_Zuk2whv7EeaHUeOe1L7u_Q" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_Zuk2xxv7EeaHUeOe1L7u_Q"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Zuk2yBv7EeaHUeOe1L7u_Q" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_Zuk2yRv7EeaHUeOe1L7u_Q"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_Zuk2yhv7EeaHUeOe1L7u_Q" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_Zuk2yxv7EeaHUeOe1L7u_Q" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Zuk2zBv7EeaHUeOe1L7u_Q" sourceNode="_ZuKnEBv7EeaHUeOe1L7u_Q" targetNode="_W_NGcBv7EeaHUeOe1L7u_Q">
+        <target xmi:type="ecore:EClass" href="monitoring.ecore#//Resource"/>
+        <semanticElements xmi:type="ecore:EGenericType" href="monitoring.ecore#//Resource/@eGenericSuperTypes.0"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ZumE4Bv7EeaHUeOe1L7u_Q" targetArrow="InputClosedArrow" routingStyle="tree">
+          <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_ZumE4Rv7EeaHUeOe1L7u_Q" red="136" green="136" blue="136"/>
+          <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_ZumE4hv7EeaHUeOe1L7u_Q" labelFormat="italic" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_ZumE4xv7EeaHUeOe1L7u_Q"/>
+          </beginLabelStyle>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_ZumE5Bv7EeaHUeOe1L7u_Q" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_ZumE5Rv7EeaHUeOe1L7u_Q"/>
+          </centerLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ZunTABv7EeaHUeOe1L7u_Q" sourceNode="_ZuNqYBv7EeaHUeOe1L7u_Q" targetNode="_W_NGcBv7EeaHUeOe1L7u_Q">
+        <target xmi:type="ecore:EClass" href="monitoring.ecore#//Thread"/>
+        <semanticElements xmi:type="ecore:EGenericType" href="monitoring.ecore#//Thread/@eGenericSuperTypes.0"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ZunTARv7EeaHUeOe1L7u_Q" targetArrow="InputClosedArrow" routingStyle="tree">
+          <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_ZunTAhv7EeaHUeOe1L7u_Q" red="136" green="136" blue="136"/>
+          <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_ZunTAxv7EeaHUeOe1L7u_Q" labelFormat="italic" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_ZunTBBv7EeaHUeOe1L7u_Q"/>
+          </beginLabelStyle>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_ZunTBRv7EeaHUeOe1L7u_Q" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_ZunTBhv7EeaHUeOe1L7u_Q"/>
+          </centerLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_gFIJIBv7EeaHUeOe1L7u_Q" name="AnalysisContext" tooltipText="" incomingEdges="_gFeucBv7EeaHUeOe1L7u_Q" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="monitoring.ecore#//AnalysisContext"/>
+        <semanticElements xmi:type="ecore:EClass" href="monitoring.ecore#//AnalysisContext"/>
+        <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+        <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+        <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_gFIwMBv7EeaHUeOe1L7u_Q" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_gFIwMRv7EeaHUeOe1L7u_Q"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_gFIwMhv7EeaHUeOe1L7u_Q"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_gFIwMxv7EeaHUeOe1L7u_Q" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_gFIwNBv7EeaHUeOe1L7u_Q" red="255" green="252" blue="216"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+        <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_gFWyoBv7EeaHUeOe1L7u_Q" name="name : EString" tooltipText="">
+          <target xmi:type="ecore:EAttribute" href="monitoring.ecore#//AnalysisContext/name"/>
+          <semanticElements xmi:type="ecore:EAttribute" href="monitoring.ecore#//AnalysisContext/name"/>
+          <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_gFWyoRv7EeaHUeOe1L7u_Q" labelAlignment="LEFT">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_gFWyohv7EeaHUeOe1L7u_Q"/>
+            <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+            <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_gFWyoxv7EeaHUeOe1L7u_Q"/>
+            <color xmi:type="viewpoint:RGBValues" xmi:id="_gFWypBv7EeaHUeOe1L7u_Q"/>
+          </ownedStyle>
+          <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+        </ownedElements>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_gFJXQBv7EeaHUeOe1L7u_Q" name="BlockingTime" tooltipText="" outgoingEdges="_7gag8CDaEeamRujSdBUx1A _LXP2wCDbEeamRujSdBUx1A _TxffMCDbEeamRujSdBUx1A" incomingEdges="_gFiY0Bv7EeaHUeOe1L7u_Q" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="monitoring.ecore#//BlockingTime"/>
+        <semanticElements xmi:type="ecore:EClass" href="monitoring.ecore#//BlockingTime"/>
+        <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+        <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+        <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_Pf01sCDbEeamRujSdBUx1A" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_Pf01sSDbEeamRujSdBUx1A"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_Pf01siDbEeamRujSdBUx1A"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_Pf01syDbEeamRujSdBUx1A" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_Pf01tCDbEeamRujSdBUx1A" red="255" green="252" blue="216"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_gFKlYBv7EeaHUeOe1L7u_Q" name="ExecutionTime" tooltipText="" outgoingEdges="_prkJ0CDbEeamRujSdBUx1A _vbikYCDbEeamRujSdBUx1A _207z0CDbEeamRujSdBUx1A" incomingEdges="_gFmDMBv7EeaHUeOe1L7u_Q" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="monitoring.ecore#//ExecutionTime"/>
+        <semanticElements xmi:type="ecore:EClass" href="monitoring.ecore#//ExecutionTime"/>
+        <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+        <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+        <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ySQS0CDbEeamRujSdBUx1A" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_ySQS0SDbEeamRujSdBUx1A"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_ySQS0iDbEeamRujSdBUx1A"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_ySQS0yDbEeamRujSdBUx1A" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_ySQS1CDbEeamRujSdBUx1A" red="255" green="252" blue="216"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_gFLMdRv7EeaHUeOe1L7u_Q" name="Period" tooltipText="" outgoingEdges="__8z-UCDbEeamRujSdBUx1A _E7thQCDcEeamRujSdBUx1A _KtyNkCDcEeamRujSdBUx1A _W11kgCDcEeamRujSdBUx1A" incomingEdges="_gFlcJhv7EeaHUeOe1L7u_Q" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="monitoring.ecore#//Period"/>
+        <semanticElements xmi:type="ecore:EClass" href="monitoring.ecore#//Period"/>
+        <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+        <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+        <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_Ze8UwCDcEeamRujSdBUx1A" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_Ze8UwSDcEeamRujSdBUx1A"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_Ze8UwiDcEeamRujSdBUx1A"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_Ze8UwyDcEeamRujSdBUx1A" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_Ze8UxCDcEeamRujSdBUx1A" red="255" green="252" blue="216"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_gFMakBv7EeaHUeOe1L7u_Q" name="ResponseTime" tooltipText="" outgoingEdges="_faJH4CDcEeamRujSdBUx1A _mbqC0CDcEeamRujSdBUx1A _rdwDsCDcEeamRujSdBUx1A _v1WWECDcEeamRujSdBUx1A" incomingEdges="_gFk1Fhv7EeaHUeOe1L7u_Q" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="monitoring.ecore#//ResponseTime"/>
+        <semanticElements xmi:type="ecore:EClass" href="monitoring.ecore#//ResponseTime"/>
+        <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+        <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+        <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ysC2YCDcEeamRujSdBUx1A" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_ysC2YSDcEeamRujSdBUx1A"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_ysC2YiDcEeamRujSdBUx1A"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_ysC2YyDcEeamRujSdBUx1A" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_ysC2ZCDcEeamRujSdBUx1A" red="255" green="252" blue="216"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_gFeucBv7EeaHUeOe1L7u_Q" name="[1..1] analysisContext" sourceNode="_VeUigBv7EeaHUeOe1L7u_Q" targetNode="_gFIJIBv7EeaHUeOe1L7u_Q">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//Monitoring/analysisContext"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//Monitoring/analysisContext"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_gFf8kBv7EeaHUeOe1L7u_Q" description="_gFfVghv7EeaHUeOe1L7u_Q" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_gFf8kRv7EeaHUeOe1L7u_Q"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_gFf8khv7EeaHUeOe1L7u_Q" labelFormat="bold" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_gFf8kxv7EeaHUeOe1L7u_Q"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_gFf8lBv7EeaHUeOe1L7u_Q" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_gFf8lRv7EeaHUeOe1L7u_Q" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_gFiY0Bv7EeaHUeOe1L7u_Q" sourceNode="_W_NGcBv7EeaHUeOe1L7u_Q" targetNode="_gFJXQBv7EeaHUeOe1L7u_Q" beginLabel="[0..1] monitoredresource" endLabel="[0..1] blockingtime">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//MonitoredResource/blockingtime"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//MonitoredResource/blockingtime"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//BlockingTime/monitoredresource"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_1NS1thv7EeaHUeOe1L7u_Q" description="_1NS1shv7EeaHUeOe1L7u_Q" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_1NS1txv7EeaHUeOe1L7u_Q"/>
+          <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_1NS1uBv7EeaHUeOe1L7u_Q" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_1NS1uRv7EeaHUeOe1L7u_Q"/>
+          </beginLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_1NS1uhv7EeaHUeOe1L7u_Q" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_1NS1uxv7EeaHUeOe1L7u_Q"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_gFk1Fhv7EeaHUeOe1L7u_Q" sourceNode="_W_NGcBv7EeaHUeOe1L7u_Q" targetNode="_gFMakBv7EeaHUeOe1L7u_Q" beginLabel="[0..1] monitoredresource" endLabel="[0..1] responsetime">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//MonitoredResource/responsetime"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//ResponseTime/monitoredresource"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//MonitoredResource/responsetime"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_3yZ2xhv7EeaHUeOe1L7u_Q" description="_3yZ2whv7EeaHUeOe1L7u_Q" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_3yZ2xxv7EeaHUeOe1L7u_Q"/>
+          <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_3yZ2yBv7EeaHUeOe1L7u_Q" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_3yZ2yRv7EeaHUeOe1L7u_Q"/>
+          </beginLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_3yZ2yhv7EeaHUeOe1L7u_Q" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_3yZ2yxv7EeaHUeOe1L7u_Q"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_gFlcJhv7EeaHUeOe1L7u_Q" sourceNode="_W_NGcBv7EeaHUeOe1L7u_Q" targetNode="_gFLMdRv7EeaHUeOe1L7u_Q" beginLabel="[0..1] monitoredresource" endLabel="[0..1] period">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//MonitoredResource/period"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//Period/monitoredresource"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//MonitoredResource/period"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_2cS_dhv7EeaHUeOe1L7u_Q" description="_2cS_chv7EeaHUeOe1L7u_Q" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_2cS_dxv7EeaHUeOe1L7u_Q"/>
+          <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_2cS_eBv7EeaHUeOe1L7u_Q" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_2cS_eRv7EeaHUeOe1L7u_Q"/>
+          </beginLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_2cS_ehv7EeaHUeOe1L7u_Q" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_2cS_exv7EeaHUeOe1L7u_Q"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_gFmDMBv7EeaHUeOe1L7u_Q" sourceNode="_W_NGcBv7EeaHUeOe1L7u_Q" targetNode="_gFKlYBv7EeaHUeOe1L7u_Q" beginLabel="[0..1] monitoredresource" endLabel="[0..1] executiontime">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//MonitoredResource/executiontime"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//MonitoredResource/executiontime"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//ExecutionTime/monitoredresource"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_y1QARxv7EeaHUeOe1L7u_Q" description="_y1QAQxv7EeaHUeOe1L7u_Q" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_y1QASBv7EeaHUeOe1L7u_Q"/>
+          <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_y1QASRv7EeaHUeOe1L7u_Q" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_y1QAShv7EeaHUeOe1L7u_Q"/>
+          </beginLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_y1QASxv7EeaHUeOe1L7u_Q" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_y1QATBv7EeaHUeOe1L7u_Q"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_f_3McCDOEeamRujSdBUx1A" name="MeasuredValue" tooltipText="" incomingEdges="_7gag8CDaEeamRujSdBUx1A _LXP2wCDbEeamRujSdBUx1A _TxffMCDbEeamRujSdBUx1A _prkJ0CDbEeamRujSdBUx1A _vbikYCDbEeamRujSdBUx1A _207z0CDbEeamRujSdBUx1A __8z-UCDbEeamRujSdBUx1A _E7thQCDcEeamRujSdBUx1A _KtyNkCDcEeamRujSdBUx1A _W11kgCDcEeamRujSdBUx1A _faJH4CDcEeamRujSdBUx1A _mbqC0CDcEeamRujSdBUx1A _rdwDsCDcEeamRujSdBUx1A _v1WWECDcEeamRujSdBUx1A" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="monitoring.ecore#//MeasuredValue"/>
+        <semanticElements xmi:type="ecore:EClass" href="monitoring.ecore#//MeasuredValue"/>
+        <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+        <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+        <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_3aayYCDOEeamRujSdBUx1A" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_3aayYSDOEeamRujSdBUx1A"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_3aayYiDOEeamRujSdBUx1A"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_3aayYyDOEeamRujSdBUx1A" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_3aayZCDOEeamRujSdBUx1A" red="255" green="252" blue="216"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+        <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_kQtWkCDOEeamRujSdBUx1A" name="unit : EString" tooltipText="&#xA;ERROR : The required feature 'eAttributeType' of 'org.eclipse.emf.ecore.impl.EAttributeImpl@27bda565{platform:/resource/org.polarsys.chess.monitoring/model/monitoring.ecore#//MeasuredValue/newAttribute}' must be set&#xA;ERROR : The typed element must have a type">
+          <target xmi:type="ecore:EAttribute" href="monitoring.ecore#//MeasuredValue/unit"/>
+          <semanticElements xmi:type="ecore:EAttribute" href="monitoring.ecore#//MeasuredValue/unit"/>
+          <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_ptQe0CDOEeamRujSdBUx1A" labelAlignment="LEFT">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_ptQe0SDOEeamRujSdBUx1A"/>
+            <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+            <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_ptQe0iDOEeamRujSdBUx1A"/>
+            <color xmi:type="viewpoint:RGBValues" xmi:id="_ptQe0yDOEeamRujSdBUx1A"/>
+          </ownedStyle>
+          <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+        </ownedElements>
+        <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_0Z0IICDOEeamRujSdBUx1A" name="value : EFloatObject" tooltipText="&#xA;ERROR : The required feature 'eAttributeType' of 'org.eclipse.emf.ecore.impl.EAttributeImpl@4ee2668d{platform:/resource/org.polarsys.chess.monitoring/model/monitoring.ecore#//MeasuredValue/newAttribute}' must be set&#xA;ERROR : The typed element must have a type">
+          <target xmi:type="ecore:EAttribute" href="monitoring.ecore#//MeasuredValue/value"/>
+          <semanticElements xmi:type="ecore:EAttribute" href="monitoring.ecore#//MeasuredValue/value"/>
+          <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_3adOoCDOEeamRujSdBUx1A" labelAlignment="LEFT">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_3adOoSDOEeamRujSdBUx1A"/>
+            <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+            <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_3adOoiDOEeamRujSdBUx1A"/>
+            <color xmi:type="viewpoint:RGBValues" xmi:id="_3adOoyDOEeamRujSdBUx1A"/>
+          </ownedStyle>
+          <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+        </ownedElements>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7gag8CDaEeamRujSdBUx1A" name="[0..1] minimum" sourceNode="_gFJXQBv7EeaHUeOe1L7u_Q" targetNode="_f_3McCDOEeamRujSdBUx1A">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//BlockingTime/minimum"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//BlockingTime/minimum"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7gbIBSDaEeamRujSdBUx1A" description="_7gbIASDaEeamRujSdBUx1A" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_7gbIBiDaEeamRujSdBUx1A"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7gbIByDaEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_7gbICCDaEeamRujSdBUx1A"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7gbICSDaEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_7gbICiDaEeamRujSdBUx1A" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_LXP2wCDbEeamRujSdBUx1A" name="[0..1] maximum" sourceNode="_gFJXQBv7EeaHUeOe1L7u_Q" targetNode="_f_3McCDOEeamRujSdBUx1A">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//BlockingTime/maximum"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//BlockingTime/maximum"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_LXQd1iDbEeamRujSdBUx1A" description="_LXQd0iDbEeamRujSdBUx1A" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_LXQd1yDbEeamRujSdBUx1A"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_LXQd2CDbEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_LXQd2SDbEeamRujSdBUx1A"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_LXQd2iDbEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_LXQd2yDbEeamRujSdBUx1A" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_TxffMCDbEeamRujSdBUx1A" name="[0..1] average" sourceNode="_gFJXQBv7EeaHUeOe1L7u_Q" targetNode="_f_3McCDOEeamRujSdBUx1A">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//BlockingTime/average"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//BlockingTime/average"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_TxffNyDbEeamRujSdBUx1A" description="_TxffMyDbEeamRujSdBUx1A" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_TxffOCDbEeamRujSdBUx1A"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_TxffOSDbEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_TxffOiDbEeamRujSdBUx1A"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_TxffOyDbEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_TxffPCDbEeamRujSdBUx1A" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_prkJ0CDbEeamRujSdBUx1A" name="[0..1] minimum" sourceNode="_gFKlYBv7EeaHUeOe1L7u_Q" targetNode="_f_3McCDOEeamRujSdBUx1A">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//ExecutionTime/minimum"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//ExecutionTime/minimum"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_prkw5iDbEeamRujSdBUx1A" description="_prkw4iDbEeamRujSdBUx1A" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_prkw5yDbEeamRujSdBUx1A"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_prkw6CDbEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_prkw6SDbEeamRujSdBUx1A"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_prkw6iDbEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_prkw6yDbEeamRujSdBUx1A" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_vbikYCDbEeamRujSdBUx1A" name="[0..1] maximum" sourceNode="_gFKlYBv7EeaHUeOe1L7u_Q" targetNode="_f_3McCDOEeamRujSdBUx1A">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//ExecutionTime/maximum"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//ExecutionTime/maximum"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_vbjLdiDbEeamRujSdBUx1A" description="_vbjLciDbEeamRujSdBUx1A" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_vbjLdyDbEeamRujSdBUx1A"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_vbjLeCDbEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_vbjLeSDbEeamRujSdBUx1A"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_vbjLeiDbEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_vbjLeyDbEeamRujSdBUx1A" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_207z0CDbEeamRujSdBUx1A" name="[0..1] average" sourceNode="_gFKlYBv7EeaHUeOe1L7u_Q" targetNode="_f_3McCDOEeamRujSdBUx1A">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//ExecutionTime/average"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//ExecutionTime/average"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_208a5iDbEeamRujSdBUx1A" description="_208a4iDbEeamRujSdBUx1A" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_208a5yDbEeamRujSdBUx1A"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_208a6CDbEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_208a6SDbEeamRujSdBUx1A"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_208a6iDbEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_208a6yDbEeamRujSdBUx1A" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="__8z-UCDbEeamRujSdBUx1A" name="[0..1] minimum" sourceNode="_gFLMdRv7EeaHUeOe1L7u_Q" targetNode="_f_3McCDOEeamRujSdBUx1A">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//Period/minimum"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//Period/minimum"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="__8z-VyDbEeamRujSdBUx1A" description="__8z-UyDbEeamRujSdBUx1A" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="__8z-WCDbEeamRujSdBUx1A"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="__8z-WSDbEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="__8z-WiDbEeamRujSdBUx1A"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="__8z-WyDbEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="__8z-XCDbEeamRujSdBUx1A" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_E7thQCDcEeamRujSdBUx1A" name="[0..1] maximum" sourceNode="_gFLMdRv7EeaHUeOe1L7u_Q" targetNode="_f_3McCDOEeamRujSdBUx1A">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//Period/maximum"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//Period/maximum"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_E7uIUCDcEeamRujSdBUx1A" description="_E7thQyDcEeamRujSdBUx1A" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_E7uIUSDcEeamRujSdBUx1A"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_E7uIUiDcEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_E7uIUyDcEeamRujSdBUx1A"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_E7uIVCDcEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_E7uIVSDcEeamRujSdBUx1A" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_KtyNkCDcEeamRujSdBUx1A" name="[0..1] average" sourceNode="_gFLMdRv7EeaHUeOe1L7u_Q" targetNode="_f_3McCDOEeamRujSdBUx1A">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//Period/average"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//Period/average"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_KtyNlyDcEeamRujSdBUx1A" description="_KtyNkyDcEeamRujSdBUx1A" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_KtyNmCDcEeamRujSdBUx1A"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_KtyNmSDcEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_KtyNmiDcEeamRujSdBUx1A"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_KtyNmyDcEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_KtyNnCDcEeamRujSdBUx1A" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_W11kgCDcEeamRujSdBUx1A" name="[0..1] jitter" sourceNode="_gFLMdRv7EeaHUeOe1L7u_Q" targetNode="_f_3McCDOEeamRujSdBUx1A">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//Period/jitter"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//Period/jitter"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_W12LliDcEeamRujSdBUx1A" description="_W12LkiDcEeamRujSdBUx1A" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_W12LlyDcEeamRujSdBUx1A"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_W12LmCDcEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_W12LmSDcEeamRujSdBUx1A"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_W12LmiDcEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_W12LmyDcEeamRujSdBUx1A" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_faJH4CDcEeamRujSdBUx1A" name="[0..1] minimum" sourceNode="_gFMakBv7EeaHUeOe1L7u_Q" targetNode="_f_3McCDOEeamRujSdBUx1A">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//ResponseTime/minimum"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//ResponseTime/minimum"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_faJu9SDcEeamRujSdBUx1A" description="_faJu8SDcEeamRujSdBUx1A" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_faJu9iDcEeamRujSdBUx1A"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_faJu9yDcEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_faJu-CDcEeamRujSdBUx1A"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_faJu-SDcEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_faJu-iDcEeamRujSdBUx1A" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_mbqC0CDcEeamRujSdBUx1A" name="[0..1] maximum" sourceNode="_gFMakBv7EeaHUeOe1L7u_Q" targetNode="_f_3McCDOEeamRujSdBUx1A">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//ResponseTime/maximum"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//ResponseTime/maximum"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_mbrQ9iDcEeamRujSdBUx1A" description="_mbrQ8iDcEeamRujSdBUx1A" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_mbrQ9yDcEeamRujSdBUx1A"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_mbrQ-CDcEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_mbrQ-SDcEeamRujSdBUx1A"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_mbrQ-iDcEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_mbrQ-yDcEeamRujSdBUx1A" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_rdwDsCDcEeamRujSdBUx1A" name="[0..1] average" sourceNode="_gFMakBv7EeaHUeOe1L7u_Q" targetNode="_f_3McCDOEeamRujSdBUx1A">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//ResponseTime/average"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//ResponseTime/average"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_rdwqxiDcEeamRujSdBUx1A" description="_rdwqwiDcEeamRujSdBUx1A" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_rdwqxyDcEeamRujSdBUx1A"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_rdwqyCDcEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_rdwqySDcEeamRujSdBUx1A"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_rdwqyiDcEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_rdwqyyDcEeamRujSdBUx1A" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_v1WWECDcEeamRujSdBUx1A" name="[0..1] jitter" sourceNode="_gFMakBv7EeaHUeOe1L7u_Q" targetNode="_f_3McCDOEeamRujSdBUx1A">
+        <target xmi:type="ecore:EReference" href="monitoring.ecore#//ResponseTime/jitter"/>
+        <semanticElements xmi:type="ecore:EReference" href="monitoring.ecore#//ResponseTime/jitter"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_v1WWFyDcEeamRujSdBUx1A" description="_v1WWEyDcEeamRujSdBUx1A" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_v1WWGCDcEeamRujSdBUx1A"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_v1WWGSDcEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_v1WWGiDcEeamRujSdBUx1A"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_v1WWGyDcEeamRujSdBUx1A" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_v1WWHCDcEeamRujSdBUx1A" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
       </ownedDiagramElements>
       <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
       <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_UeMcFfKXEeWJGdEk7kJ9Lg"/>
diff --git a/plugins/org.polarsys.chess.monitoring/model/monitoring.ecore b/plugins/org.polarsys.chess.monitoring/model/monitoring.ecore
index 0d6bd10..cf66326 100644
--- a/plugins/org.polarsys.chess.monitoring/model/monitoring.ecore
+++ b/plugins/org.polarsys.chess.monitoring/model/monitoring.ecore
@@ -13,41 +13,65 @@
   <eClassifiers xsi:type="ecore:EClass" name="Thread" eSuperTypes="#//MonitoredResource"/>
   <eClassifiers xsi:type="ecore:EClass" name="Resource" eSuperTypes="#//MonitoredResource"/>
   <eClassifiers xsi:type="ecore:EClass" name="Period">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="minimum" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloatObject"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloatObject"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="jitter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloatObject"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="monitoredresource" eType="#//MonitoredResource"
         eOpposite="#//MonitoredResource/period"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="minimum" eType="#//MeasuredValue"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="maximum" eType="#//MeasuredValue"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="average" eType="#//MeasuredValue"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="jitter" eType="#//MeasuredValue"
+        containment="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="MonitoredResource" abstract="true">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="period" eType="#//Period"
-        eOpposite="#//Period/monitoredresource"/>
+        containment="true" eOpposite="#//Period/monitoredresource"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="executiontime" eType="#//ExecutionTime"
-        eOpposite="#//ExecutionTime/monitoredresource"/>
+        containment="true" eOpposite="#//ExecutionTime/monitoredresource"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="blockingtime" eType="#//BlockingTime"
-        eOpposite="#//BlockingTime/monitoredresource"/>
+        containment="true" eOpposite="#//BlockingTime/monitoredresource"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="responsetime" eType="#//ResponseTime"
-        eOpposite="#//ResponseTime/monitoredresource"/>
+        containment="true" eOpposite="#//ResponseTime/monitoredresource"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ExecutionTime">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="minimum" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloatObject"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloatObject"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="monitoredresource" eType="#//MonitoredResource"
         eOpposite="#//MonitoredResource/executiontime"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="minimum" eType="#//MeasuredValue"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="maximum" eType="#//MeasuredValue"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="average" eType="#//MeasuredValue"
+        containment="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="BlockingTime">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloatObject"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="monitoredresource" eType="#//MonitoredResource"
         eOpposite="#//MonitoredResource/blockingtime"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="minimum" eType="#//MeasuredValue"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="maximum" eType="#//MeasuredValue"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="average" eType="#//MeasuredValue"
+        containment="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ResponseTime">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloatObject"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="jitter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloatObject"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="monitoredresource" eType="#//MonitoredResource"
         eOpposite="#//MonitoredResource/responsetime"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="minimum" eType="#//MeasuredValue"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="maximum" eType="#//MeasuredValue"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="average" eType="#//MeasuredValue"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="jitter" eType="#//MeasuredValue"
+        containment="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="AnalysisContext">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="MeasuredValue">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloatObject"/>
+  </eClassifiers>
 </ecore:EPackage>
diff --git a/plugins/org.polarsys.chess.monitoring/model/monitoring.genmodel b/plugins/org.polarsys.chess.monitoring/model/monitoring.genmodel
index 583b481..508bfe1 100644
--- a/plugins/org.polarsys.chess.monitoring/model/monitoring.genmodel
+++ b/plugins/org.polarsys.chess.monitoring/model/monitoring.genmodel
@@ -1,9 +1,57 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel"
-    modelDirectory="/org.concerto.monitoring/src" modelPluginID="org.concerto.monitoring"
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.polarsys.chess.monitoring/src" modelPluginID="org.polarsys.chess.monitoring"
     modelName="Monitoring" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
-    importerID="org.eclipse.emf.importer.ecore" complianceLevel="7.0" copyrightFields="false"
+    importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false"
     operationReflection="true" importOrganizing="true">
   <foreignModel>monitoring.ecore</foreignModel>
-  <genPackages prefix="Monitoring" disposableProviderFactory="true" ecorePackage="monitoring.ecore#/"/>
+  <genPackages prefix="Monitoringxml" disposableProviderFactory="true" ecorePackage="monitoring.ecore#/">
+    <genClasses ecoreClass="monitoring.ecore#//Monitoring">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//Monitoring/ThreadNames"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//Monitoring/SharedResources"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//Monitoring/analysisContext"/>
+    </genClasses>
+    <genClasses ecoreClass="monitoring.ecore#//Thread"/>
+    <genClasses ecoreClass="monitoring.ecore#//Resource"/>
+    <genClasses ecoreClass="monitoring.ecore#//Period">
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference monitoring.ecore#//Period/monitoredresource"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//Period/minimum"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//Period/maximum"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//Period/average"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//Period/jitter"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="monitoring.ecore#//MonitoredResource">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute monitoring.ecore#//MonitoredResource/name"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//MonitoredResource/period"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//MonitoredResource/executiontime"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//MonitoredResource/blockingtime"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//MonitoredResource/responsetime"/>
+    </genClasses>
+    <genClasses ecoreClass="monitoring.ecore#//ExecutionTime">
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference monitoring.ecore#//ExecutionTime/monitoredresource"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//ExecutionTime/minimum"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//ExecutionTime/maximum"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//ExecutionTime/average"/>
+    </genClasses>
+    <genClasses ecoreClass="monitoring.ecore#//BlockingTime">
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference monitoring.ecore#//BlockingTime/monitoredresource"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//BlockingTime/minimum"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//BlockingTime/maximum"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//BlockingTime/average"/>
+    </genClasses>
+    <genClasses ecoreClass="monitoring.ecore#//ResponseTime">
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference monitoring.ecore#//ResponseTime/monitoredresource"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//ResponseTime/minimum"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//ResponseTime/maximum"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//ResponseTime/average"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference monitoring.ecore#//ResponseTime/jitter"/>
+    </genClasses>
+    <genClasses ecoreClass="monitoring.ecore#//AnalysisContext">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute monitoring.ecore#//AnalysisContext/name"/>
+    </genClasses>
+    <genClasses ecoreClass="monitoring.ecore#//MeasuredValue">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute monitoring.ecore#//MeasuredValue/unit"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute monitoring.ecore#//MeasuredValue/value"/>
+    </genClasses>
+  </genPackages>
 </genmodel:GenModel>
diff --git a/plugins/org.polarsys.chess.monitoring/plugin.xml b/plugins/org.polarsys.chess.monitoring/plugin.xml
index 7af9a28..a4808e5 100644
--- a/plugins/org.polarsys.chess.monitoring/plugin.xml
+++ b/plugins/org.polarsys.chess.monitoring/plugin.xml
@@ -6,11 +6,41 @@
 
 <plugin>
 
+   <extension
+         point="org.eclipse.ui.popupMenus">
+      <objectContribution
+            id="org.polarsys.chess.monitoring.contribution1"
+            objectClass="org.eclipse.core.resources.IFile">
+         <menu
+               id="org.polarsys.chess.monitoring.menu1"
+               label="CHESS"
+               path="additions">
+            <separator
+                  name="group1">
+            </separator>
+         </menu>
+         <action
+               class="org.polarsys.chess.monitoring.monitoringxml.popup.actions.LaunchTraceAnalysis"
+               enablesFor="1"
+               id="org.polarsys.chess.monitoring.action01"
+               label="Monitoring Trace Analysis"
+               menubarPath="org.polarsys.chess.monitoring.menu1/group1">
+         </action>
+         <action
+               class="org.polarsys.chess.monitoring.monitoringxml.popup.actions.LaunchBackpropagation"
+               enablesFor="1"
+               id="org.polarsys.chess.monitoring.action02"
+               label="Monitoring Backpropagation"
+               menubarPath="org.polarsys.chess.monitoring.menu1/group1">
+         </action>
+      </objectContribution>
+   </extension>
+
    <extension point="org.eclipse.emf.ecore.generated_package">
       <!-- @generated monitoring -->
       <package
             uri="http://www.mdh.se/concerto/monitoring/xml/monitoringxml"
-            class="monitoringxml.MonitoringPackage"
+            class="org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage"
             genModel="model/monitoring.genmodel"/>
    </extension>
 
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/BlockingTime.java b/plugins/org.polarsys.chess.monitoring/src/monitoringxml/BlockingTime.java
deleted file mode 100644
index 1b7e59d..0000000
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/BlockingTime.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
------------------------------------------------------------------------
---                    CHESS monitoring plugin                        --
---                                                                   --
---                    Copyright (C) 2015-2016                        --
---                 University of Padova, ITALY                       --
---                                                                   --
--- Author: Alessandro Zovi azovi@math.unipd.it                       --
---                                                                   --
--- 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                         --
------------------------------------------------------------------------
-  */  
-package monitoringxml;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Blocking Time</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link monitoringxml.BlockingTime#getMaximum <em>Maximum</em>}</li>
- *   <li>{@link monitoringxml.BlockingTime#getMonitoredresource <em>Monitoredresource</em>}</li>
- * </ul>
- *
- * @see monitoringxml.MonitoringPackage#getBlockingTime()
- * @model
- * @generated
- */
-public interface BlockingTime extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Maximum</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Maximum</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Maximum</em>' attribute.
-	 * @see #setMaximum(Float)
-	 * @see monitoringxml.MonitoringPackage#getBlockingTime_Maximum()
-	 * @model
-	 * @generated
-	 */
-	Float getMaximum();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.BlockingTime#getMaximum <em>Maximum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Maximum</em>' attribute.
-	 * @see #getMaximum()
-	 * @generated
-	 */
-	void setMaximum(Float value);
-
-	/**
-	 * Returns the value of the '<em><b>Monitoredresource</b></em>' reference.
-	 * It is bidirectional and its opposite is '{@link monitoringxml.MonitoredResource#getBlockingtime <em>Blockingtime</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Monitoredresource</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Monitoredresource</em>' reference.
-	 * @see #setMonitoredresource(MonitoredResource)
-	 * @see monitoringxml.MonitoringPackage#getBlockingTime_Monitoredresource()
-	 * @see monitoringxml.MonitoredResource#getBlockingtime
-	 * @model opposite="blockingtime"
-	 * @generated
-	 */
-	MonitoredResource getMonitoredresource();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.BlockingTime#getMonitoredresource <em>Monitoredresource</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Monitoredresource</em>' reference.
-	 * @see #getMonitoredresource()
-	 * @generated
-	 */
-	void setMonitoredresource(MonitoredResource value);
-
-} // BlockingTime
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/ExecutionTime.java b/plugins/org.polarsys.chess.monitoring/src/monitoringxml/ExecutionTime.java
deleted file mode 100644
index 9620443..0000000
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/ExecutionTime.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
------------------------------------------------------------------------
---                    CHESS monitoring plugin                        --
---                                                                   --
---                    Copyright (C) 2015-2016                        --
---                 University of Padova, ITALY                       --
---                                                                   --
--- Author: Alessandro Zovi azovi@math.unipd.it                       --
---                                                                   --
--- 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                         --
------------------------------------------------------------------------
-  */ 
-package monitoringxml;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Execution Time</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link monitoringxml.ExecutionTime#getMinimum <em>Minimum</em>}</li>
- *   <li>{@link monitoringxml.ExecutionTime#getMaximum <em>Maximum</em>}</li>
- *   <li>{@link monitoringxml.ExecutionTime#getMonitoredresource <em>Monitoredresource</em>}</li>
- * </ul>
- *
- * @see monitoringxml.MonitoringPackage#getExecutionTime()
- * @model
- * @generated
- */
-public interface ExecutionTime extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Minimum</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Minimum</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Minimum</em>' attribute.
-	 * @see #setMinimum(Float)
-	 * @see monitoringxml.MonitoringPackage#getExecutionTime_Minimum()
-	 * @model
-	 * @generated
-	 */
-	Float getMinimum();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.ExecutionTime#getMinimum <em>Minimum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Minimum</em>' attribute.
-	 * @see #getMinimum()
-	 * @generated
-	 */
-	void setMinimum(Float value);
-
-	/**
-	 * Returns the value of the '<em><b>Maximum</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Maximum</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Maximum</em>' attribute.
-	 * @see #setMaximum(Float)
-	 * @see monitoringxml.MonitoringPackage#getExecutionTime_Maximum()
-	 * @model
-	 * @generated
-	 */
-	Float getMaximum();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.ExecutionTime#getMaximum <em>Maximum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Maximum</em>' attribute.
-	 * @see #getMaximum()
-	 * @generated
-	 */
-	void setMaximum(Float value);
-
-	/**
-	 * Returns the value of the '<em><b>Monitoredresource</b></em>' reference.
-	 * It is bidirectional and its opposite is '{@link monitoringxml.MonitoredResource#getExecutiontime <em>Executiontime</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Monitoredresource</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Monitoredresource</em>' reference.
-	 * @see #setMonitoredresource(MonitoredResource)
-	 * @see monitoringxml.MonitoringPackage#getExecutionTime_Monitoredresource()
-	 * @see monitoringxml.MonitoredResource#getExecutiontime
-	 * @model opposite="executiontime"
-	 * @generated
-	 */
-	MonitoredResource getMonitoredresource();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.ExecutionTime#getMonitoredresource <em>Monitoredresource</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Monitoredresource</em>' reference.
-	 * @see #getMonitoredresource()
-	 * @generated
-	 */
-	void setMonitoredresource(MonitoredResource value);
-
-} // ExecutionTime
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/MonitoredResource.java b/plugins/org.polarsys.chess.monitoring/src/monitoringxml/MonitoredResource.java
deleted file mode 100644
index d27dfff..0000000
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/MonitoredResource.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
------------------------------------------------------------------------
---                    CHESS monitoring plugin                        --
---                                                                   --
---                    Copyright (C) 2015-2016                        --
---                 University of Padova, ITALY                       --
---                                                                   --
--- Author: Alessandro Zovi azovi@math.unipd.it                       --
---                                                                   --
--- 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                         --
------------------------------------------------------------------------
-  */  
-package monitoringxml;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Monitored Resource</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link monitoringxml.MonitoredResource#getName <em>Name</em>}</li>
- *   <li>{@link monitoringxml.MonitoredResource#getPeriod <em>Period</em>}</li>
- *   <li>{@link monitoringxml.MonitoredResource#getExecutiontime <em>Executiontime</em>}</li>
- *   <li>{@link monitoringxml.MonitoredResource#getBlockingtime <em>Blockingtime</em>}</li>
- *   <li>{@link monitoringxml.MonitoredResource#getResponsetime <em>Responsetime</em>}</li>
- * </ul>
- *
- * @see monitoringxml.MonitoringPackage#getMonitoredResource()
- * @model abstract="true"
- * @generated
- */
-public interface MonitoredResource extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see monitoringxml.MonitoringPackage#getMonitoredResource_Name()
-	 * @model
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.MonitoredResource#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>Period</b></em>' reference.
-	 * It is bidirectional and its opposite is '{@link monitoringxml.Period#getMonitoredresource <em>Monitoredresource</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Period</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Period</em>' reference.
-	 * @see #setPeriod(Period)
-	 * @see monitoringxml.MonitoringPackage#getMonitoredResource_Period()
-	 * @see monitoringxml.Period#getMonitoredresource
-	 * @model opposite="monitoredresource"
-	 * @generated
-	 */
-	Period getPeriod();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.MonitoredResource#getPeriod <em>Period</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Period</em>' reference.
-	 * @see #getPeriod()
-	 * @generated
-	 */
-	void setPeriod(Period value);
-
-	/**
-	 * Returns the value of the '<em><b>Executiontime</b></em>' reference.
-	 * It is bidirectional and its opposite is '{@link monitoringxml.ExecutionTime#getMonitoredresource <em>Monitoredresource</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Executiontime</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Executiontime</em>' reference.
-	 * @see #setExecutiontime(ExecutionTime)
-	 * @see monitoringxml.MonitoringPackage#getMonitoredResource_Executiontime()
-	 * @see monitoringxml.ExecutionTime#getMonitoredresource
-	 * @model opposite="monitoredresource"
-	 * @generated
-	 */
-	ExecutionTime getExecutiontime();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.MonitoredResource#getExecutiontime <em>Executiontime</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Executiontime</em>' reference.
-	 * @see #getExecutiontime()
-	 * @generated
-	 */
-	void setExecutiontime(ExecutionTime value);
-
-	/**
-	 * Returns the value of the '<em><b>Blockingtime</b></em>' reference.
-	 * It is bidirectional and its opposite is '{@link monitoringxml.BlockingTime#getMonitoredresource <em>Monitoredresource</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Blockingtime</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Blockingtime</em>' reference.
-	 * @see #setBlockingtime(BlockingTime)
-	 * @see monitoringxml.MonitoringPackage#getMonitoredResource_Blockingtime()
-	 * @see monitoringxml.BlockingTime#getMonitoredresource
-	 * @model opposite="monitoredresource"
-	 * @generated
-	 */
-	BlockingTime getBlockingtime();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.MonitoredResource#getBlockingtime <em>Blockingtime</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Blockingtime</em>' reference.
-	 * @see #getBlockingtime()
-	 * @generated
-	 */
-	void setBlockingtime(BlockingTime value);
-
-	/**
-	 * Returns the value of the '<em><b>Responsetime</b></em>' reference.
-	 * It is bidirectional and its opposite is '{@link monitoringxml.ResponseTime#getMonitoredresource <em>Monitoredresource</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Responsetime</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Responsetime</em>' reference.
-	 * @see #setResponsetime(ResponseTime)
-	 * @see monitoringxml.MonitoringPackage#getMonitoredResource_Responsetime()
-	 * @see monitoringxml.ResponseTime#getMonitoredresource
-	 * @model opposite="monitoredresource"
-	 * @generated
-	 */
-	ResponseTime getResponsetime();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.MonitoredResource#getResponsetime <em>Responsetime</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Responsetime</em>' reference.
-	 * @see #getResponsetime()
-	 * @generated
-	 */
-	void setResponsetime(ResponseTime value);
-
-} // MonitoredResource
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/MonitoringPackage.java b/plugins/org.polarsys.chess.monitoring/src/monitoringxml/MonitoringPackage.java
deleted file mode 100644
index 62ccab4..0000000
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/MonitoringPackage.java
+++ /dev/null
@@ -1,1208 +0,0 @@
-/*
------------------------------------------------------------------------
---                    CHESS monitoring plugin                        --
---                                                                   --
---                    Copyright (C) 2015-2016                        --
---                 University of Padova, ITALY                       --
---                                                                   --
--- Author: Alessandro Zovi azovi@math.unipd.it                       --
---                                                                   --
--- 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                         --
------------------------------------------------------------------------
-  */ 
-package monitoringxml;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- *   <li>each class,</li>
- *   <li>each feature of each class,</li>
- *   <li>each operation of each class,</li>
- *   <li>each enum,</li>
- *   <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see monitoringxml.MonitoringFactory
- * @model kind="package"
- * @generated
- */
-public interface MonitoringPackage extends EPackage {
-	/**
-	 * The package name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNAME = "monitoringxml";
-
-	/**
-	 * The package namespace URI.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_URI = "http://www.mdh.se/concerto/monitoring/xml/monitoringxml";
-
-	/**
-	 * The package namespace name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_PREFIX = "monitoringxml";
-
-	/**
-	 * The singleton instance of the package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	MonitoringPackage eINSTANCE = monitoringxml.impl.MonitoringPackageImpl.init();
-
-	/**
-	 * The meta object id for the '{@link monitoringxml.impl.MonitoringImpl <em>Monitoring</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see monitoringxml.impl.MonitoringImpl
-	 * @see monitoringxml.impl.MonitoringPackageImpl#getMonitoring()
-	 * @generated
-	 */
-	int MONITORING = 0;
-
-	/**
-	 * The feature id for the '<em><b>Thread Names</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING__THREAD_NAMES = 0;
-
-	/**
-	 * The feature id for the '<em><b>Shared Resources</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING__SHARED_RESOURCES = 1;
-
-	/**
-	 * The feature id for the '<em><b>Analysis Context</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING__ANALYSIS_CONTEXT = 2;
-
-	/**
-	 * The number of structural features of the '<em>Monitoring</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_FEATURE_COUNT = 3;
-
-	/**
-	 * The number of operations of the '<em>Monitoring</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link monitoringxml.impl.MonitoredResourceImpl <em>Monitored Resource</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see monitoringxml.impl.MonitoredResourceImpl
-	 * @see monitoringxml.impl.MonitoringPackageImpl#getMonitoredResource()
-	 * @generated
-	 */
-	int MONITORED_RESOURCE = 4;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORED_RESOURCE__NAME = 0;
-
-	/**
-	 * The feature id for the '<em><b>Period</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORED_RESOURCE__PERIOD = 1;
-
-	/**
-	 * The feature id for the '<em><b>Executiontime</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORED_RESOURCE__EXECUTIONTIME = 2;
-
-	/**
-	 * The feature id for the '<em><b>Blockingtime</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORED_RESOURCE__BLOCKINGTIME = 3;
-
-	/**
-	 * The feature id for the '<em><b>Responsetime</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORED_RESOURCE__RESPONSETIME = 4;
-
-	/**
-	 * The number of structural features of the '<em>Monitored Resource</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORED_RESOURCE_FEATURE_COUNT = 5;
-
-	/**
-	 * The number of operations of the '<em>Monitored Resource</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORED_RESOURCE_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link monitoringxml.impl.ThreadImpl <em>Thread</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see monitoringxml.impl.ThreadImpl
-	 * @see monitoringxml.impl.MonitoringPackageImpl#getThread()
-	 * @generated
-	 */
-	int THREAD = 1;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int THREAD__NAME = MONITORED_RESOURCE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Period</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int THREAD__PERIOD = MONITORED_RESOURCE__PERIOD;
-
-	/**
-	 * The feature id for the '<em><b>Executiontime</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int THREAD__EXECUTIONTIME = MONITORED_RESOURCE__EXECUTIONTIME;
-
-	/**
-	 * The feature id for the '<em><b>Blockingtime</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int THREAD__BLOCKINGTIME = MONITORED_RESOURCE__BLOCKINGTIME;
-
-	/**
-	 * The feature id for the '<em><b>Responsetime</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int THREAD__RESPONSETIME = MONITORED_RESOURCE__RESPONSETIME;
-
-	/**
-	 * The number of structural features of the '<em>Thread</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int THREAD_FEATURE_COUNT = MONITORED_RESOURCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of operations of the '<em>Thread</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int THREAD_OPERATION_COUNT = MONITORED_RESOURCE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link monitoringxml.impl.ResourceImpl <em>Resource</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see monitoringxml.impl.ResourceImpl
-	 * @see monitoringxml.impl.MonitoringPackageImpl#getResource()
-	 * @generated
-	 */
-	int RESOURCE = 2;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESOURCE__NAME = MONITORED_RESOURCE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Period</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESOURCE__PERIOD = MONITORED_RESOURCE__PERIOD;
-
-	/**
-	 * The feature id for the '<em><b>Executiontime</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESOURCE__EXECUTIONTIME = MONITORED_RESOURCE__EXECUTIONTIME;
-
-	/**
-	 * The feature id for the '<em><b>Blockingtime</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESOURCE__BLOCKINGTIME = MONITORED_RESOURCE__BLOCKINGTIME;
-
-	/**
-	 * The feature id for the '<em><b>Responsetime</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESOURCE__RESPONSETIME = MONITORED_RESOURCE__RESPONSETIME;
-
-	/**
-	 * The number of structural features of the '<em>Resource</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESOURCE_FEATURE_COUNT = MONITORED_RESOURCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of operations of the '<em>Resource</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESOURCE_OPERATION_COUNT = MONITORED_RESOURCE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link monitoringxml.impl.PeriodImpl <em>Period</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see monitoringxml.impl.PeriodImpl
-	 * @see monitoringxml.impl.MonitoringPackageImpl#getPeriod()
-	 * @generated
-	 */
-	int PERIOD = 3;
-
-	/**
-	 * The feature id for the '<em><b>Minimum</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PERIOD__MINIMUM = 0;
-
-	/**
-	 * The feature id for the '<em><b>Maximum</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PERIOD__MAXIMUM = 1;
-
-	/**
-	 * The feature id for the '<em><b>Jitter</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PERIOD__JITTER = 2;
-
-	/**
-	 * The feature id for the '<em><b>Monitoredresource</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PERIOD__MONITOREDRESOURCE = 3;
-
-	/**
-	 * The number of structural features of the '<em>Period</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PERIOD_FEATURE_COUNT = 4;
-
-	/**
-	 * The number of operations of the '<em>Period</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PERIOD_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link monitoringxml.impl.ExecutionTimeImpl <em>Execution Time</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see monitoringxml.impl.ExecutionTimeImpl
-	 * @see monitoringxml.impl.MonitoringPackageImpl#getExecutionTime()
-	 * @generated
-	 */
-	int EXECUTION_TIME = 5;
-
-	/**
-	 * The feature id for the '<em><b>Minimum</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXECUTION_TIME__MINIMUM = 0;
-
-	/**
-	 * The feature id for the '<em><b>Maximum</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXECUTION_TIME__MAXIMUM = 1;
-
-	/**
-	 * The feature id for the '<em><b>Monitoredresource</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXECUTION_TIME__MONITOREDRESOURCE = 2;
-
-	/**
-	 * The number of structural features of the '<em>Execution Time</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXECUTION_TIME_FEATURE_COUNT = 3;
-
-	/**
-	 * The number of operations of the '<em>Execution Time</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXECUTION_TIME_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link monitoringxml.impl.BlockingTimeImpl <em>Blocking Time</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see monitoringxml.impl.BlockingTimeImpl
-	 * @see monitoringxml.impl.MonitoringPackageImpl#getBlockingTime()
-	 * @generated
-	 */
-	int BLOCKING_TIME = 6;
-
-	/**
-	 * The feature id for the '<em><b>Maximum</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BLOCKING_TIME__MAXIMUM = 0;
-
-	/**
-	 * The feature id for the '<em><b>Monitoredresource</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BLOCKING_TIME__MONITOREDRESOURCE = 1;
-
-	/**
-	 * The number of structural features of the '<em>Blocking Time</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BLOCKING_TIME_FEATURE_COUNT = 2;
-
-	/**
-	 * The number of operations of the '<em>Blocking Time</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BLOCKING_TIME_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link monitoringxml.impl.ResponseTimeImpl <em>Response Time</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see monitoringxml.impl.ResponseTimeImpl
-	 * @see monitoringxml.impl.MonitoringPackageImpl#getResponseTime()
-	 * @generated
-	 */
-	int RESPONSE_TIME = 7;
-
-	/**
-	 * The feature id for the '<em><b>Maximum</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESPONSE_TIME__MAXIMUM = 0;
-
-	/**
-	 * The feature id for the '<em><b>Jitter</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESPONSE_TIME__JITTER = 1;
-
-	/**
-	 * The feature id for the '<em><b>Monitoredresource</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESPONSE_TIME__MONITOREDRESOURCE = 2;
-
-	/**
-	 * The number of structural features of the '<em>Response Time</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESPONSE_TIME_FEATURE_COUNT = 3;
-
-	/**
-	 * The number of operations of the '<em>Response Time</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESPONSE_TIME_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link monitoringxml.impl.AnalysisContextImpl <em>Analysis Context</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see monitoringxml.impl.AnalysisContextImpl
-	 * @see monitoringxml.impl.MonitoringPackageImpl#getAnalysisContext()
-	 * @generated
-	 */
-	int ANALYSIS_CONTEXT = 8;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ANALYSIS_CONTEXT__NAME = 0;
-
-	/**
-	 * The number of structural features of the '<em>Analysis Context</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ANALYSIS_CONTEXT_FEATURE_COUNT = 1;
-
-	/**
-	 * The number of operations of the '<em>Analysis Context</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ANALYSIS_CONTEXT_OPERATION_COUNT = 0;
-
-
-	/**
-	 * Returns the meta object for class '{@link monitoringxml.Monitoring <em>Monitoring</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Monitoring</em>'.
-	 * @see monitoringxml.Monitoring
-	 * @generated
-	 */
-	EClass getMonitoring();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link monitoringxml.Monitoring#getThreadNames <em>Thread Names</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Thread Names</em>'.
-	 * @see monitoringxml.Monitoring#getThreadNames()
-	 * @see #getMonitoring()
-	 * @generated
-	 */
-	EReference getMonitoring_ThreadNames();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link monitoringxml.Monitoring#getSharedResources <em>Shared Resources</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Shared Resources</em>'.
-	 * @see monitoringxml.Monitoring#getSharedResources()
-	 * @see #getMonitoring()
-	 * @generated
-	 */
-	EReference getMonitoring_SharedResources();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link monitoringxml.Monitoring#getAnalysisContext <em>Analysis Context</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Analysis Context</em>'.
-	 * @see monitoringxml.Monitoring#getAnalysisContext()
-	 * @see #getMonitoring()
-	 * @generated
-	 */
-	EReference getMonitoring_AnalysisContext();
-
-	/**
-	 * Returns the meta object for class '{@link monitoringxml.Thread <em>Thread</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Thread</em>'.
-	 * @see monitoringxml.Thread
-	 * @generated
-	 */
-	EClass getThread();
-
-	/**
-	 * Returns the meta object for class '{@link monitoringxml.Resource <em>Resource</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Resource</em>'.
-	 * @see monitoringxml.Resource
-	 * @generated
-	 */
-	EClass getResource();
-
-	/**
-	 * Returns the meta object for class '{@link monitoringxml.Period <em>Period</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Period</em>'.
-	 * @see monitoringxml.Period
-	 * @generated
-	 */
-	EClass getPeriod();
-
-	/**
-	 * Returns the meta object for the attribute '{@link monitoringxml.Period#getMinimum <em>Minimum</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Minimum</em>'.
-	 * @see monitoringxml.Period#getMinimum()
-	 * @see #getPeriod()
-	 * @generated
-	 */
-	EAttribute getPeriod_Minimum();
-
-	/**
-	 * Returns the meta object for the attribute '{@link monitoringxml.Period#getMaximum <em>Maximum</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Maximum</em>'.
-	 * @see monitoringxml.Period#getMaximum()
-	 * @see #getPeriod()
-	 * @generated
-	 */
-	EAttribute getPeriod_Maximum();
-
-	/**
-	 * Returns the meta object for the attribute '{@link monitoringxml.Period#getJitter <em>Jitter</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Jitter</em>'.
-	 * @see monitoringxml.Period#getJitter()
-	 * @see #getPeriod()
-	 * @generated
-	 */
-	EAttribute getPeriod_Jitter();
-
-	/**
-	 * Returns the meta object for the reference '{@link monitoringxml.Period#getMonitoredresource <em>Monitoredresource</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Monitoredresource</em>'.
-	 * @see monitoringxml.Period#getMonitoredresource()
-	 * @see #getPeriod()
-	 * @generated
-	 */
-	EReference getPeriod_Monitoredresource();
-
-	/**
-	 * Returns the meta object for class '{@link monitoringxml.MonitoredResource <em>Monitored Resource</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Monitored Resource</em>'.
-	 * @see monitoringxml.MonitoredResource
-	 * @generated
-	 */
-	EClass getMonitoredResource();
-
-	/**
-	 * Returns the meta object for the attribute '{@link monitoringxml.MonitoredResource#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see monitoringxml.MonitoredResource#getName()
-	 * @see #getMonitoredResource()
-	 * @generated
-	 */
-	EAttribute getMonitoredResource_Name();
-
-	/**
-	 * Returns the meta object for the reference '{@link monitoringxml.MonitoredResource#getPeriod <em>Period</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Period</em>'.
-	 * @see monitoringxml.MonitoredResource#getPeriod()
-	 * @see #getMonitoredResource()
-	 * @generated
-	 */
-	EReference getMonitoredResource_Period();
-
-	/**
-	 * Returns the meta object for the reference '{@link monitoringxml.MonitoredResource#getExecutiontime <em>Executiontime</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Executiontime</em>'.
-	 * @see monitoringxml.MonitoredResource#getExecutiontime()
-	 * @see #getMonitoredResource()
-	 * @generated
-	 */
-	EReference getMonitoredResource_Executiontime();
-
-	/**
-	 * Returns the meta object for the reference '{@link monitoringxml.MonitoredResource#getBlockingtime <em>Blockingtime</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Blockingtime</em>'.
-	 * @see monitoringxml.MonitoredResource#getBlockingtime()
-	 * @see #getMonitoredResource()
-	 * @generated
-	 */
-	EReference getMonitoredResource_Blockingtime();
-
-	/**
-	 * Returns the meta object for the reference '{@link monitoringxml.MonitoredResource#getResponsetime <em>Responsetime</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Responsetime</em>'.
-	 * @see monitoringxml.MonitoredResource#getResponsetime()
-	 * @see #getMonitoredResource()
-	 * @generated
-	 */
-	EReference getMonitoredResource_Responsetime();
-
-	/**
-	 * Returns the meta object for class '{@link monitoringxml.ExecutionTime <em>Execution Time</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Execution Time</em>'.
-	 * @see monitoringxml.ExecutionTime
-	 * @generated
-	 */
-	EClass getExecutionTime();
-
-	/**
-	 * Returns the meta object for the attribute '{@link monitoringxml.ExecutionTime#getMinimum <em>Minimum</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Minimum</em>'.
-	 * @see monitoringxml.ExecutionTime#getMinimum()
-	 * @see #getExecutionTime()
-	 * @generated
-	 */
-	EAttribute getExecutionTime_Minimum();
-
-	/**
-	 * Returns the meta object for the attribute '{@link monitoringxml.ExecutionTime#getMaximum <em>Maximum</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Maximum</em>'.
-	 * @see monitoringxml.ExecutionTime#getMaximum()
-	 * @see #getExecutionTime()
-	 * @generated
-	 */
-	EAttribute getExecutionTime_Maximum();
-
-	/**
-	 * Returns the meta object for the reference '{@link monitoringxml.ExecutionTime#getMonitoredresource <em>Monitoredresource</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Monitoredresource</em>'.
-	 * @see monitoringxml.ExecutionTime#getMonitoredresource()
-	 * @see #getExecutionTime()
-	 * @generated
-	 */
-	EReference getExecutionTime_Monitoredresource();
-
-	/**
-	 * Returns the meta object for class '{@link monitoringxml.BlockingTime <em>Blocking Time</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Blocking Time</em>'.
-	 * @see monitoringxml.BlockingTime
-	 * @generated
-	 */
-	EClass getBlockingTime();
-
-	/**
-	 * Returns the meta object for the attribute '{@link monitoringxml.BlockingTime#getMaximum <em>Maximum</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Maximum</em>'.
-	 * @see monitoringxml.BlockingTime#getMaximum()
-	 * @see #getBlockingTime()
-	 * @generated
-	 */
-	EAttribute getBlockingTime_Maximum();
-
-	/**
-	 * Returns the meta object for the reference '{@link monitoringxml.BlockingTime#getMonitoredresource <em>Monitoredresource</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Monitoredresource</em>'.
-	 * @see monitoringxml.BlockingTime#getMonitoredresource()
-	 * @see #getBlockingTime()
-	 * @generated
-	 */
-	EReference getBlockingTime_Monitoredresource();
-
-	/**
-	 * Returns the meta object for class '{@link monitoringxml.ResponseTime <em>Response Time</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Response Time</em>'.
-	 * @see monitoringxml.ResponseTime
-	 * @generated
-	 */
-	EClass getResponseTime();
-
-	/**
-	 * Returns the meta object for the attribute '{@link monitoringxml.ResponseTime#getMaximum <em>Maximum</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Maximum</em>'.
-	 * @see monitoringxml.ResponseTime#getMaximum()
-	 * @see #getResponseTime()
-	 * @generated
-	 */
-	EAttribute getResponseTime_Maximum();
-
-	/**
-	 * Returns the meta object for the attribute '{@link monitoringxml.ResponseTime#getJitter <em>Jitter</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Jitter</em>'.
-	 * @see monitoringxml.ResponseTime#getJitter()
-	 * @see #getResponseTime()
-	 * @generated
-	 */
-	EAttribute getResponseTime_Jitter();
-
-	/**
-	 * Returns the meta object for the reference '{@link monitoringxml.ResponseTime#getMonitoredresource <em>Monitoredresource</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Monitoredresource</em>'.
-	 * @see monitoringxml.ResponseTime#getMonitoredresource()
-	 * @see #getResponseTime()
-	 * @generated
-	 */
-	EReference getResponseTime_Monitoredresource();
-
-	/**
-	 * Returns the meta object for class '{@link monitoringxml.AnalysisContext <em>Analysis Context</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Analysis Context</em>'.
-	 * @see monitoringxml.AnalysisContext
-	 * @generated
-	 */
-	EClass getAnalysisContext();
-
-	/**
-	 * Returns the meta object for the attribute '{@link monitoringxml.AnalysisContext#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see monitoringxml.AnalysisContext#getName()
-	 * @see #getAnalysisContext()
-	 * @generated
-	 */
-	EAttribute getAnalysisContext_Name();
-
-	/**
-	 * Returns the factory that creates the instances of the model.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the factory that creates the instances of the model.
-	 * @generated
-	 */
-	MonitoringFactory getMonitoringFactory();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * Defines literals for the meta objects that represent
-	 * <ul>
-	 *   <li>each class,</li>
-	 *   <li>each feature of each class,</li>
-	 *   <li>each operation of each class,</li>
-	 *   <li>each enum,</li>
-	 *   <li>and each data type</li>
-	 * </ul>
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	interface Literals {
-		/**
-		 * The meta object literal for the '{@link monitoringxml.impl.MonitoringImpl <em>Monitoring</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see monitoringxml.impl.MonitoringImpl
-		 * @see monitoringxml.impl.MonitoringPackageImpl#getMonitoring()
-		 * @generated
-		 */
-		EClass MONITORING = eINSTANCE.getMonitoring();
-
-		/**
-		 * The meta object literal for the '<em><b>Thread Names</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference MONITORING__THREAD_NAMES = eINSTANCE.getMonitoring_ThreadNames();
-
-		/**
-		 * The meta object literal for the '<em><b>Shared Resources</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference MONITORING__SHARED_RESOURCES = eINSTANCE.getMonitoring_SharedResources();
-
-		/**
-		 * The meta object literal for the '<em><b>Analysis Context</b></em>' containment reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference MONITORING__ANALYSIS_CONTEXT = eINSTANCE.getMonitoring_AnalysisContext();
-
-		/**
-		 * The meta object literal for the '{@link monitoringxml.impl.ThreadImpl <em>Thread</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see monitoringxml.impl.ThreadImpl
-		 * @see monitoringxml.impl.MonitoringPackageImpl#getThread()
-		 * @generated
-		 */
-		EClass THREAD = eINSTANCE.getThread();
-
-		/**
-		 * The meta object literal for the '{@link monitoringxml.impl.ResourceImpl <em>Resource</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see monitoringxml.impl.ResourceImpl
-		 * @see monitoringxml.impl.MonitoringPackageImpl#getResource()
-		 * @generated
-		 */
-		EClass RESOURCE = eINSTANCE.getResource();
-
-		/**
-		 * The meta object literal for the '{@link monitoringxml.impl.PeriodImpl <em>Period</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see monitoringxml.impl.PeriodImpl
-		 * @see monitoringxml.impl.MonitoringPackageImpl#getPeriod()
-		 * @generated
-		 */
-		EClass PERIOD = eINSTANCE.getPeriod();
-
-		/**
-		 * The meta object literal for the '<em><b>Minimum</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PERIOD__MINIMUM = eINSTANCE.getPeriod_Minimum();
-
-		/**
-		 * The meta object literal for the '<em><b>Maximum</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PERIOD__MAXIMUM = eINSTANCE.getPeriod_Maximum();
-
-		/**
-		 * The meta object literal for the '<em><b>Jitter</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PERIOD__JITTER = eINSTANCE.getPeriod_Jitter();
-
-		/**
-		 * The meta object literal for the '<em><b>Monitoredresource</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference PERIOD__MONITOREDRESOURCE = eINSTANCE.getPeriod_Monitoredresource();
-
-		/**
-		 * The meta object literal for the '{@link monitoringxml.impl.MonitoredResourceImpl <em>Monitored Resource</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see monitoringxml.impl.MonitoredResourceImpl
-		 * @see monitoringxml.impl.MonitoringPackageImpl#getMonitoredResource()
-		 * @generated
-		 */
-		EClass MONITORED_RESOURCE = eINSTANCE.getMonitoredResource();
-
-		/**
-		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORED_RESOURCE__NAME = eINSTANCE.getMonitoredResource_Name();
-
-		/**
-		 * The meta object literal for the '<em><b>Period</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference MONITORED_RESOURCE__PERIOD = eINSTANCE.getMonitoredResource_Period();
-
-		/**
-		 * The meta object literal for the '<em><b>Executiontime</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference MONITORED_RESOURCE__EXECUTIONTIME = eINSTANCE.getMonitoredResource_Executiontime();
-
-		/**
-		 * The meta object literal for the '<em><b>Blockingtime</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference MONITORED_RESOURCE__BLOCKINGTIME = eINSTANCE.getMonitoredResource_Blockingtime();
-
-		/**
-		 * The meta object literal for the '<em><b>Responsetime</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference MONITORED_RESOURCE__RESPONSETIME = eINSTANCE.getMonitoredResource_Responsetime();
-
-		/**
-		 * The meta object literal for the '{@link monitoringxml.impl.ExecutionTimeImpl <em>Execution Time</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see monitoringxml.impl.ExecutionTimeImpl
-		 * @see monitoringxml.impl.MonitoringPackageImpl#getExecutionTime()
-		 * @generated
-		 */
-		EClass EXECUTION_TIME = eINSTANCE.getExecutionTime();
-
-		/**
-		 * The meta object literal for the '<em><b>Minimum</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute EXECUTION_TIME__MINIMUM = eINSTANCE.getExecutionTime_Minimum();
-
-		/**
-		 * The meta object literal for the '<em><b>Maximum</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute EXECUTION_TIME__MAXIMUM = eINSTANCE.getExecutionTime_Maximum();
-
-		/**
-		 * The meta object literal for the '<em><b>Monitoredresource</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference EXECUTION_TIME__MONITOREDRESOURCE = eINSTANCE.getExecutionTime_Monitoredresource();
-
-		/**
-		 * The meta object literal for the '{@link monitoringxml.impl.BlockingTimeImpl <em>Blocking Time</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see monitoringxml.impl.BlockingTimeImpl
-		 * @see monitoringxml.impl.MonitoringPackageImpl#getBlockingTime()
-		 * @generated
-		 */
-		EClass BLOCKING_TIME = eINSTANCE.getBlockingTime();
-
-		/**
-		 * The meta object literal for the '<em><b>Maximum</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute BLOCKING_TIME__MAXIMUM = eINSTANCE.getBlockingTime_Maximum();
-
-		/**
-		 * The meta object literal for the '<em><b>Monitoredresource</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference BLOCKING_TIME__MONITOREDRESOURCE = eINSTANCE.getBlockingTime_Monitoredresource();
-
-		/**
-		 * The meta object literal for the '{@link monitoringxml.impl.ResponseTimeImpl <em>Response Time</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see monitoringxml.impl.ResponseTimeImpl
-		 * @see monitoringxml.impl.MonitoringPackageImpl#getResponseTime()
-		 * @generated
-		 */
-		EClass RESPONSE_TIME = eINSTANCE.getResponseTime();
-
-		/**
-		 * The meta object literal for the '<em><b>Maximum</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute RESPONSE_TIME__MAXIMUM = eINSTANCE.getResponseTime_Maximum();
-
-		/**
-		 * The meta object literal for the '<em><b>Jitter</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute RESPONSE_TIME__JITTER = eINSTANCE.getResponseTime_Jitter();
-
-		/**
-		 * The meta object literal for the '<em><b>Monitoredresource</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference RESPONSE_TIME__MONITOREDRESOURCE = eINSTANCE.getResponseTime_Monitoredresource();
-
-		/**
-		 * The meta object literal for the '{@link monitoringxml.impl.AnalysisContextImpl <em>Analysis Context</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see monitoringxml.impl.AnalysisContextImpl
-		 * @see monitoringxml.impl.MonitoringPackageImpl#getAnalysisContext()
-		 * @generated
-		 */
-		EClass ANALYSIS_CONTEXT = eINSTANCE.getAnalysisContext();
-
-		/**
-		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute ANALYSIS_CONTEXT__NAME = eINSTANCE.getAnalysisContext_Name();
-
-	}
-
-} //MonitoringPackage
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/Period.java b/plugins/org.polarsys.chess.monitoring/src/monitoringxml/Period.java
deleted file mode 100644
index eb621b1..0000000
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/Period.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
------------------------------------------------------------------------
---                    CHESS monitoring plugin                        --
---                                                                   --
---                    Copyright (C) 2015-2016                        --
---                 University of Padova, ITALY                       --
---                                                                   --
--- Author: Alessandro Zovi azovi@math.unipd.it                       --
---                                                                   --
--- 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                         --
------------------------------------------------------------------------
-  */ 
-package monitoringxml;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Period</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link monitoringxml.Period#getMinimum <em>Minimum</em>}</li>
- *   <li>{@link monitoringxml.Period#getMaximum <em>Maximum</em>}</li>
- *   <li>{@link monitoringxml.Period#getJitter <em>Jitter</em>}</li>
- *   <li>{@link monitoringxml.Period#getMonitoredresource <em>Monitoredresource</em>}</li>
- * </ul>
- *
- * @see monitoringxml.MonitoringPackage#getPeriod()
- * @model
- * @generated
- */
-public interface Period extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Minimum</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Minimum</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Minimum</em>' attribute.
-	 * @see #setMinimum(Float)
-	 * @see monitoringxml.MonitoringPackage#getPeriod_Minimum()
-	 * @model
-	 * @generated
-	 */
-	Float getMinimum();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.Period#getMinimum <em>Minimum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Minimum</em>' attribute.
-	 * @see #getMinimum()
-	 * @generated
-	 */
-	void setMinimum(Float value);
-
-	/**
-	 * Returns the value of the '<em><b>Maximum</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Maximum</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Maximum</em>' attribute.
-	 * @see #setMaximum(Float)
-	 * @see monitoringxml.MonitoringPackage#getPeriod_Maximum()
-	 * @model
-	 * @generated
-	 */
-	Float getMaximum();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.Period#getMaximum <em>Maximum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Maximum</em>' attribute.
-	 * @see #getMaximum()
-	 * @generated
-	 */
-	void setMaximum(Float value);
-
-	/**
-	 * Returns the value of the '<em><b>Jitter</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Jitter</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Jitter</em>' attribute.
-	 * @see #setJitter(Float)
-	 * @see monitoringxml.MonitoringPackage#getPeriod_Jitter()
-	 * @model
-	 * @generated
-	 */
-	Float getJitter();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.Period#getJitter <em>Jitter</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Jitter</em>' attribute.
-	 * @see #getJitter()
-	 * @generated
-	 */
-	void setJitter(Float value);
-
-	/**
-	 * Returns the value of the '<em><b>Monitoredresource</b></em>' reference.
-	 * It is bidirectional and its opposite is '{@link monitoringxml.MonitoredResource#getPeriod <em>Period</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Monitoredresource</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Monitoredresource</em>' reference.
-	 * @see #setMonitoredresource(MonitoredResource)
-	 * @see monitoringxml.MonitoringPackage#getPeriod_Monitoredresource()
-	 * @see monitoringxml.MonitoredResource#getPeriod
-	 * @model opposite="period"
-	 * @generated
-	 */
-	MonitoredResource getMonitoredresource();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.Period#getMonitoredresource <em>Monitoredresource</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Monitoredresource</em>' reference.
-	 * @see #getMonitoredresource()
-	 * @generated
-	 */
-	void setMonitoredresource(MonitoredResource value);
-
-} // Period
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/ResponseTime.java b/plugins/org.polarsys.chess.monitoring/src/monitoringxml/ResponseTime.java
deleted file mode 100644
index e6e6f81..0000000
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/ResponseTime.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
------------------------------------------------------------------------
---                    CHESS monitoring plugin                        --
---                                                                   --
---                    Copyright (C) 2015-2016                        --
---                 University of Padova, ITALY                       --
---                                                                   --
--- Author: Alessandro Zovi azovi@math.unipd.it                       --
---                                                                   --
--- 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                         --
------------------------------------------------------------------------
-  */ 
-package monitoringxml;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Response Time</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link monitoringxml.ResponseTime#getMaximum <em>Maximum</em>}</li>
- *   <li>{@link monitoringxml.ResponseTime#getJitter <em>Jitter</em>}</li>
- *   <li>{@link monitoringxml.ResponseTime#getMonitoredresource <em>Monitoredresource</em>}</li>
- * </ul>
- *
- * @see monitoringxml.MonitoringPackage#getResponseTime()
- * @model
- * @generated
- */
-public interface ResponseTime extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Maximum</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Maximum</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Maximum</em>' attribute.
-	 * @see #setMaximum(Float)
-	 * @see monitoringxml.MonitoringPackage#getResponseTime_Maximum()
-	 * @model
-	 * @generated
-	 */
-	Float getMaximum();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.ResponseTime#getMaximum <em>Maximum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Maximum</em>' attribute.
-	 * @see #getMaximum()
-	 * @generated
-	 */
-	void setMaximum(Float value);
-
-	/**
-	 * Returns the value of the '<em><b>Jitter</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Jitter</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Jitter</em>' attribute.
-	 * @see #setJitter(Float)
-	 * @see monitoringxml.MonitoringPackage#getResponseTime_Jitter()
-	 * @model
-	 * @generated
-	 */
-	Float getJitter();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.ResponseTime#getJitter <em>Jitter</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Jitter</em>' attribute.
-	 * @see #getJitter()
-	 * @generated
-	 */
-	void setJitter(Float value);
-
-	/**
-	 * Returns the value of the '<em><b>Monitoredresource</b></em>' reference.
-	 * It is bidirectional and its opposite is '{@link monitoringxml.MonitoredResource#getResponsetime <em>Responsetime</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Monitoredresource</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Monitoredresource</em>' reference.
-	 * @see #setMonitoredresource(MonitoredResource)
-	 * @see monitoringxml.MonitoringPackage#getResponseTime_Monitoredresource()
-	 * @see monitoringxml.MonitoredResource#getResponsetime
-	 * @model opposite="responsetime"
-	 * @generated
-	 */
-	MonitoredResource getMonitoredresource();
-
-	/**
-	 * Sets the value of the '{@link monitoringxml.ResponseTime#getMonitoredresource <em>Monitoredresource</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Monitoredresource</em>' reference.
-	 * @see #getMonitoredresource()
-	 * @generated
-	 */
-	void setMonitoredresource(MonitoredResource value);
-
-} // ResponseTime
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/BlockingTimeImpl.java b/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/BlockingTimeImpl.java
deleted file mode 100644
index 7fd706f..0000000
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/BlockingTimeImpl.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
------------------------------------------------------------------------
---                    CHESS monitoring plugin                        --
---                                                                   --
---                    Copyright (C) 2015-2016                        --
---                 University of Padova, ITALY                       --
---                                                                   --
--- Author: Alessandro Zovi azovi@math.unipd.it                       --
---                                                                   --
--- 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                         --
------------------------------------------------------------------------
-  */ 
-package monitoringxml.impl;
-
-import monitoringxml.BlockingTime;
-import monitoringxml.MonitoredResource;
-import monitoringxml.MonitoringPackage;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Blocking Time</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link monitoringxml.impl.BlockingTimeImpl#getMaximum <em>Maximum</em>}</li>
- *   <li>{@link monitoringxml.impl.BlockingTimeImpl#getMonitoredresource <em>Monitoredresource</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class BlockingTimeImpl extends MinimalEObjectImpl.Container implements BlockingTime {
-	/**
-	 * The default value of the '{@link #getMaximum() <em>Maximum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMaximum()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final Float MAXIMUM_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getMaximum() <em>Maximum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMaximum()
-	 * @generated
-	 * @ordered
-	 */
-	protected Float maximum = MAXIMUM_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getMonitoredresource() <em>Monitoredresource</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMonitoredresource()
-	 * @generated
-	 * @ordered
-	 */
-	protected MonitoredResource monitoredresource;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected BlockingTimeImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.BLOCKING_TIME;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Float getMaximum() {
-		return maximum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMaximum(Float newMaximum) {
-		Float oldMaximum = maximum;
-		maximum = newMaximum;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.BLOCKING_TIME__MAXIMUM, oldMaximum, maximum));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MonitoredResource getMonitoredresource() {
-		if (monitoredresource != null && monitoredresource.eIsProxy()) {
-			InternalEObject oldMonitoredresource = (InternalEObject)monitoredresource;
-			monitoredresource = (MonitoredResource)eResolveProxy(oldMonitoredresource);
-			if (monitoredresource != oldMonitoredresource) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, MonitoringPackage.BLOCKING_TIME__MONITOREDRESOURCE, oldMonitoredresource, monitoredresource));
-			}
-		}
-		return monitoredresource;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MonitoredResource basicGetMonitoredresource() {
-		return monitoredresource;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetMonitoredresource(MonitoredResource newMonitoredresource, NotificationChain msgs) {
-		MonitoredResource oldMonitoredresource = monitoredresource;
-		monitoredresource = newMonitoredresource;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringPackage.BLOCKING_TIME__MONITOREDRESOURCE, oldMonitoredresource, newMonitoredresource);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMonitoredresource(MonitoredResource newMonitoredresource) {
-		if (newMonitoredresource != monitoredresource) {
-			NotificationChain msgs = null;
-			if (monitoredresource != null)
-				msgs = ((InternalEObject)monitoredresource).eInverseRemove(this, MonitoringPackage.MONITORED_RESOURCE__BLOCKINGTIME, MonitoredResource.class, msgs);
-			if (newMonitoredresource != null)
-				msgs = ((InternalEObject)newMonitoredresource).eInverseAdd(this, MonitoringPackage.MONITORED_RESOURCE__BLOCKINGTIME, MonitoredResource.class, msgs);
-			msgs = basicSetMonitoredresource(newMonitoredresource, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.BLOCKING_TIME__MONITOREDRESOURCE, newMonitoredresource, newMonitoredresource));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case MonitoringPackage.BLOCKING_TIME__MONITOREDRESOURCE:
-				if (monitoredresource != null)
-					msgs = ((InternalEObject)monitoredresource).eInverseRemove(this, MonitoringPackage.MONITORED_RESOURCE__BLOCKINGTIME, MonitoredResource.class, msgs);
-				return basicSetMonitoredresource((MonitoredResource)otherEnd, msgs);
-		}
-		return super.eInverseAdd(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case MonitoringPackage.BLOCKING_TIME__MONITOREDRESOURCE:
-				return basicSetMonitoredresource(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.BLOCKING_TIME__MAXIMUM:
-				return getMaximum();
-			case MonitoringPackage.BLOCKING_TIME__MONITOREDRESOURCE:
-				if (resolve) return getMonitoredresource();
-				return basicGetMonitoredresource();
-		}
-		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.BLOCKING_TIME__MAXIMUM:
-				setMaximum((Float)newValue);
-				return;
-			case MonitoringPackage.BLOCKING_TIME__MONITOREDRESOURCE:
-				setMonitoredresource((MonitoredResource)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.BLOCKING_TIME__MAXIMUM:
-				setMaximum(MAXIMUM_EDEFAULT);
-				return;
-			case MonitoringPackage.BLOCKING_TIME__MONITOREDRESOURCE:
-				setMonitoredresource((MonitoredResource)null);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.BLOCKING_TIME__MAXIMUM:
-				return MAXIMUM_EDEFAULT == null ? maximum != null : !MAXIMUM_EDEFAULT.equals(maximum);
-			case MonitoringPackage.BLOCKING_TIME__MONITOREDRESOURCE:
-				return monitoredresource != null;
-		}
-		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(" (maximum: ");
-		result.append(maximum);
-		result.append(')');
-		return result.toString();
-	}
-
-} //BlockingTimeImpl
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/ExecutionTimeImpl.java b/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/ExecutionTimeImpl.java
deleted file mode 100644
index fb4c4e1..0000000
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/ExecutionTimeImpl.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
------------------------------------------------------------------------
---                    CHESS monitoring plugin                        --
---                                                                   --
---                    Copyright (C) 2015-2016                        --
---                 University of Padova, ITALY                       --
---                                                                   --
--- Author: Alessandro Zovi azovi@math.unipd.it                       --
---                                                                   --
--- 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                         --
------------------------------------------------------------------------
-  */ 
-package monitoringxml.impl;
-
-import monitoringxml.ExecutionTime;
-import monitoringxml.MonitoredResource;
-import monitoringxml.MonitoringPackage;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Execution Time</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link monitoringxml.impl.ExecutionTimeImpl#getMinimum <em>Minimum</em>}</li>
- *   <li>{@link monitoringxml.impl.ExecutionTimeImpl#getMaximum <em>Maximum</em>}</li>
- *   <li>{@link monitoringxml.impl.ExecutionTimeImpl#getMonitoredresource <em>Monitoredresource</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class ExecutionTimeImpl extends MinimalEObjectImpl.Container implements ExecutionTime {
-	/**
-	 * The default value of the '{@link #getMinimum() <em>Minimum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMinimum()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final Float MINIMUM_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getMinimum() <em>Minimum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMinimum()
-	 * @generated
-	 * @ordered
-	 */
-	protected Float minimum = MINIMUM_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getMaximum() <em>Maximum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMaximum()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final Float MAXIMUM_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getMaximum() <em>Maximum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMaximum()
-	 * @generated
-	 * @ordered
-	 */
-	protected Float maximum = MAXIMUM_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getMonitoredresource() <em>Monitoredresource</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMonitoredresource()
-	 * @generated
-	 * @ordered
-	 */
-	protected MonitoredResource monitoredresource;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ExecutionTimeImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.EXECUTION_TIME;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Float getMinimum() {
-		return minimum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMinimum(Float newMinimum) {
-		Float oldMinimum = minimum;
-		minimum = newMinimum;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.EXECUTION_TIME__MINIMUM, oldMinimum, minimum));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Float getMaximum() {
-		return maximum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMaximum(Float newMaximum) {
-		Float oldMaximum = maximum;
-		maximum = newMaximum;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.EXECUTION_TIME__MAXIMUM, oldMaximum, maximum));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MonitoredResource getMonitoredresource() {
-		if (monitoredresource != null && monitoredresource.eIsProxy()) {
-			InternalEObject oldMonitoredresource = (InternalEObject)monitoredresource;
-			monitoredresource = (MonitoredResource)eResolveProxy(oldMonitoredresource);
-			if (monitoredresource != oldMonitoredresource) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, MonitoringPackage.EXECUTION_TIME__MONITOREDRESOURCE, oldMonitoredresource, monitoredresource));
-			}
-		}
-		return monitoredresource;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MonitoredResource basicGetMonitoredresource() {
-		return monitoredresource;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetMonitoredresource(MonitoredResource newMonitoredresource, NotificationChain msgs) {
-		MonitoredResource oldMonitoredresource = monitoredresource;
-		monitoredresource = newMonitoredresource;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringPackage.EXECUTION_TIME__MONITOREDRESOURCE, oldMonitoredresource, newMonitoredresource);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMonitoredresource(MonitoredResource newMonitoredresource) {
-		if (newMonitoredresource != monitoredresource) {
-			NotificationChain msgs = null;
-			if (monitoredresource != null)
-				msgs = ((InternalEObject)monitoredresource).eInverseRemove(this, MonitoringPackage.MONITORED_RESOURCE__EXECUTIONTIME, MonitoredResource.class, msgs);
-			if (newMonitoredresource != null)
-				msgs = ((InternalEObject)newMonitoredresource).eInverseAdd(this, MonitoringPackage.MONITORED_RESOURCE__EXECUTIONTIME, MonitoredResource.class, msgs);
-			msgs = basicSetMonitoredresource(newMonitoredresource, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.EXECUTION_TIME__MONITOREDRESOURCE, newMonitoredresource, newMonitoredresource));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case MonitoringPackage.EXECUTION_TIME__MONITOREDRESOURCE:
-				if (monitoredresource != null)
-					msgs = ((InternalEObject)monitoredresource).eInverseRemove(this, MonitoringPackage.MONITORED_RESOURCE__EXECUTIONTIME, MonitoredResource.class, msgs);
-				return basicSetMonitoredresource((MonitoredResource)otherEnd, msgs);
-		}
-		return super.eInverseAdd(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case MonitoringPackage.EXECUTION_TIME__MONITOREDRESOURCE:
-				return basicSetMonitoredresource(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.EXECUTION_TIME__MINIMUM:
-				return getMinimum();
-			case MonitoringPackage.EXECUTION_TIME__MAXIMUM:
-				return getMaximum();
-			case MonitoringPackage.EXECUTION_TIME__MONITOREDRESOURCE:
-				if (resolve) return getMonitoredresource();
-				return basicGetMonitoredresource();
-		}
-		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.EXECUTION_TIME__MINIMUM:
-				setMinimum((Float)newValue);
-				return;
-			case MonitoringPackage.EXECUTION_TIME__MAXIMUM:
-				setMaximum((Float)newValue);
-				return;
-			case MonitoringPackage.EXECUTION_TIME__MONITOREDRESOURCE:
-				setMonitoredresource((MonitoredResource)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.EXECUTION_TIME__MINIMUM:
-				setMinimum(MINIMUM_EDEFAULT);
-				return;
-			case MonitoringPackage.EXECUTION_TIME__MAXIMUM:
-				setMaximum(MAXIMUM_EDEFAULT);
-				return;
-			case MonitoringPackage.EXECUTION_TIME__MONITOREDRESOURCE:
-				setMonitoredresource((MonitoredResource)null);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.EXECUTION_TIME__MINIMUM:
-				return MINIMUM_EDEFAULT == null ? minimum != null : !MINIMUM_EDEFAULT.equals(minimum);
-			case MonitoringPackage.EXECUTION_TIME__MAXIMUM:
-				return MAXIMUM_EDEFAULT == null ? maximum != null : !MAXIMUM_EDEFAULT.equals(maximum);
-			case MonitoringPackage.EXECUTION_TIME__MONITOREDRESOURCE:
-				return monitoredresource != null;
-		}
-		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(" (minimum: ");
-		result.append(minimum);
-		result.append(", maximum: ");
-		result.append(maximum);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ExecutionTimeImpl
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/MonitoringPackageImpl.java b/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/MonitoringPackageImpl.java
deleted file mode 100644
index 0738e01..0000000
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/MonitoringPackageImpl.java
+++ /dev/null
@@ -1,580 +0,0 @@
-/*
------------------------------------------------------------------------
---                    CHESS monitoring plugin                        --
---                                                                   --
---                    Copyright (C) 2015-2016                        --
---                 University of Padova, ITALY                       --
---                                                                   --
--- Author: Alessandro Zovi azovi@math.unipd.it                       --
---                                                                   --
--- 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                         --
------------------------------------------------------------------------
-  */ 
-package monitoringxml.impl;
-
-import monitoringxml.AnalysisContext;
-import monitoringxml.BlockingTime;
-import monitoringxml.ExecutionTime;
-import monitoringxml.MonitoredResource;
-import monitoringxml.Monitoring;
-import monitoringxml.MonitoringFactory;
-import monitoringxml.MonitoringPackage;
-import monitoringxml.Period;
-import monitoringxml.Resource;
-import monitoringxml.ResponseTime;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class MonitoringPackageImpl extends EPackageImpl implements MonitoringPackage {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass monitoringEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass threadEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass resourceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass periodEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass monitoredResourceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass executionTimeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass blockingTimeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass responseTimeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass analysisContextEClass = null;
-
-	/**
-	 * Creates an instance of the model <b>Package</b>, registered with
-	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
-	 * package URI value.
-	 * <p>Note: the correct way to create the package is via the static
-	 * factory method {@link #init init()}, which also performs
-	 * initialization of the package, or returns the registered package,
-	 * if one already exists.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.emf.ecore.EPackage.Registry
-	 * @see monitoringxml.MonitoringPackage#eNS_URI
-	 * @see #init()
-	 * @generated
-	 */
-	private MonitoringPackageImpl() {
-		super(eNS_URI, MonitoringFactory.eINSTANCE);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static boolean isInited = false;
-
-	/**
-	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
-	 * 
-	 * <p>This method is used to initialize {@link MonitoringPackage#eINSTANCE} when that field is accessed.
-	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #eNS_URI
-	 * @see #createPackageContents()
-	 * @see #initializePackageContents()
-	 * @generated
-	 */
-	public static MonitoringPackage init() {
-		if (isInited) return (MonitoringPackage)EPackage.Registry.INSTANCE.getEPackage(MonitoringPackage.eNS_URI);
-
-		// Obtain or create and register package
-		MonitoringPackageImpl theMonitoringPackage = (MonitoringPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof MonitoringPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new MonitoringPackageImpl());
-
-		isInited = true;
-
-		// Create package meta-data objects
-		theMonitoringPackage.createPackageContents();
-
-		// Initialize created meta-data
-		theMonitoringPackage.initializePackageContents();
-
-		// Mark meta-data to indicate it can't be changed
-		theMonitoringPackage.freeze();
-
-  
-		// Update the registry and return the package
-		EPackage.Registry.INSTANCE.put(MonitoringPackage.eNS_URI, theMonitoringPackage);
-		return theMonitoringPackage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getMonitoring() {
-		return monitoringEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getMonitoring_ThreadNames() {
-		return (EReference)monitoringEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getMonitoring_SharedResources() {
-		return (EReference)monitoringEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getMonitoring_AnalysisContext() {
-		return (EReference)monitoringEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getThread() {
-		return threadEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getResource() {
-		return resourceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPeriod() {
-		return periodEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPeriod_Minimum() {
-		return (EAttribute)periodEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPeriod_Maximum() {
-		return (EAttribute)periodEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPeriod_Jitter() {
-		return (EAttribute)periodEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPeriod_Monitoredresource() {
-		return (EReference)periodEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getMonitoredResource() {
-		return monitoredResourceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoredResource_Name() {
-		return (EAttribute)monitoredResourceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getMonitoredResource_Period() {
-		return (EReference)monitoredResourceEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getMonitoredResource_Executiontime() {
-		return (EReference)monitoredResourceEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getMonitoredResource_Blockingtime() {
-		return (EReference)monitoredResourceEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getMonitoredResource_Responsetime() {
-		return (EReference)monitoredResourceEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getExecutionTime() {
-		return executionTimeEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getExecutionTime_Minimum() {
-		return (EAttribute)executionTimeEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getExecutionTime_Maximum() {
-		return (EAttribute)executionTimeEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getExecutionTime_Monitoredresource() {
-		return (EReference)executionTimeEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getBlockingTime() {
-		return blockingTimeEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getBlockingTime_Maximum() {
-		return (EAttribute)blockingTimeEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getBlockingTime_Monitoredresource() {
-		return (EReference)blockingTimeEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getResponseTime() {
-		return responseTimeEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getResponseTime_Maximum() {
-		return (EAttribute)responseTimeEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getResponseTime_Jitter() {
-		return (EAttribute)responseTimeEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getResponseTime_Monitoredresource() {
-		return (EReference)responseTimeEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getAnalysisContext() {
-		return analysisContextEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getAnalysisContext_Name() {
-		return (EAttribute)analysisContextEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MonitoringFactory getMonitoringFactory() {
-		return (MonitoringFactory)getEFactoryInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isCreated = false;
-
-	/**
-	 * Creates the meta-model objects for the package.  This method is
-	 * guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void createPackageContents() {
-		if (isCreated) return;
-		isCreated = true;
-
-		// Create classes and their features
-		monitoringEClass = createEClass(MONITORING);
-		createEReference(monitoringEClass, MONITORING__THREAD_NAMES);
-		createEReference(monitoringEClass, MONITORING__SHARED_RESOURCES);
-		createEReference(monitoringEClass, MONITORING__ANALYSIS_CONTEXT);
-
-		threadEClass = createEClass(THREAD);
-
-		resourceEClass = createEClass(RESOURCE);
-
-		periodEClass = createEClass(PERIOD);
-		createEAttribute(periodEClass, PERIOD__MINIMUM);
-		createEAttribute(periodEClass, PERIOD__MAXIMUM);
-		createEAttribute(periodEClass, PERIOD__JITTER);
-		createEReference(periodEClass, PERIOD__MONITOREDRESOURCE);
-
-		monitoredResourceEClass = createEClass(MONITORED_RESOURCE);
-		createEAttribute(monitoredResourceEClass, MONITORED_RESOURCE__NAME);
-		createEReference(monitoredResourceEClass, MONITORED_RESOURCE__PERIOD);
-		createEReference(monitoredResourceEClass, MONITORED_RESOURCE__EXECUTIONTIME);
-		createEReference(monitoredResourceEClass, MONITORED_RESOURCE__BLOCKINGTIME);
-		createEReference(monitoredResourceEClass, MONITORED_RESOURCE__RESPONSETIME);
-
-		executionTimeEClass = createEClass(EXECUTION_TIME);
-		createEAttribute(executionTimeEClass, EXECUTION_TIME__MINIMUM);
-		createEAttribute(executionTimeEClass, EXECUTION_TIME__MAXIMUM);
-		createEReference(executionTimeEClass, EXECUTION_TIME__MONITOREDRESOURCE);
-
-		blockingTimeEClass = createEClass(BLOCKING_TIME);
-		createEAttribute(blockingTimeEClass, BLOCKING_TIME__MAXIMUM);
-		createEReference(blockingTimeEClass, BLOCKING_TIME__MONITOREDRESOURCE);
-
-		responseTimeEClass = createEClass(RESPONSE_TIME);
-		createEAttribute(responseTimeEClass, RESPONSE_TIME__MAXIMUM);
-		createEAttribute(responseTimeEClass, RESPONSE_TIME__JITTER);
-		createEReference(responseTimeEClass, RESPONSE_TIME__MONITOREDRESOURCE);
-
-		analysisContextEClass = createEClass(ANALYSIS_CONTEXT);
-		createEAttribute(analysisContextEClass, ANALYSIS_CONTEXT__NAME);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isInitialized = false;
-
-	/**
-	 * Complete the initialization of the package and its meta-model.  This
-	 * method is guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void initializePackageContents() {
-		if (isInitialized) return;
-		isInitialized = true;
-
-		// Initialize package
-		setName(eNAME);
-		setNsPrefix(eNS_PREFIX);
-		setNsURI(eNS_URI);
-
-		// Create type parameters
-
-		// Set bounds for type parameters
-
-		// Add supertypes to classes
-		threadEClass.getESuperTypes().add(this.getMonitoredResource());
-		resourceEClass.getESuperTypes().add(this.getMonitoredResource());
-
-		// Initialize classes, features, and operations; add parameters
-		initEClass(monitoringEClass, Monitoring.class, "Monitoring", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getMonitoring_ThreadNames(), this.getThread(), null, "ThreadNames", null, 0, -1, Monitoring.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getMonitoring_SharedResources(), this.getResource(), null, "SharedResources", null, 0, -1, Monitoring.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getMonitoring_AnalysisContext(), this.getAnalysisContext(), null, "analysisContext", null, 1, 1, Monitoring.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(threadEClass, monitoringxml.Thread.class, "Thread", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
-		initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
-		initEClass(periodEClass, Period.class, "Period", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getPeriod_Minimum(), ecorePackage.getEFloatObject(), "minimum", null, 0, 1, Period.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getPeriod_Maximum(), ecorePackage.getEFloatObject(), "maximum", null, 0, 1, Period.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getPeriod_Jitter(), ecorePackage.getEFloatObject(), "jitter", null, 0, 1, Period.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getPeriod_Monitoredresource(), this.getMonitoredResource(), this.getMonitoredResource_Period(), "monitoredresource", null, 0, 1, Period.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(monitoredResourceEClass, MonitoredResource.class, "MonitoredResource", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getMonitoredResource_Name(), ecorePackage.getEString(), "name", null, 0, 1, MonitoredResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getMonitoredResource_Period(), this.getPeriod(), this.getPeriod_Monitoredresource(), "period", null, 0, 1, MonitoredResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getMonitoredResource_Executiontime(), this.getExecutionTime(), this.getExecutionTime_Monitoredresource(), "executiontime", null, 0, 1, MonitoredResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getMonitoredResource_Blockingtime(), this.getBlockingTime(), this.getBlockingTime_Monitoredresource(), "blockingtime", null, 0, 1, MonitoredResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getMonitoredResource_Responsetime(), this.getResponseTime(), this.getResponseTime_Monitoredresource(), "responsetime", null, 0, 1, MonitoredResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(executionTimeEClass, ExecutionTime.class, "ExecutionTime", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getExecutionTime_Minimum(), ecorePackage.getEFloatObject(), "minimum", null, 0, 1, ExecutionTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getExecutionTime_Maximum(), ecorePackage.getEFloatObject(), "maximum", null, 0, 1, ExecutionTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getExecutionTime_Monitoredresource(), this.getMonitoredResource(), this.getMonitoredResource_Executiontime(), "monitoredresource", null, 0, 1, ExecutionTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(blockingTimeEClass, BlockingTime.class, "BlockingTime", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getBlockingTime_Maximum(), ecorePackage.getEFloatObject(), "maximum", null, 0, 1, BlockingTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getBlockingTime_Monitoredresource(), this.getMonitoredResource(), this.getMonitoredResource_Blockingtime(), "monitoredresource", null, 0, 1, BlockingTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(responseTimeEClass, ResponseTime.class, "ResponseTime", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getResponseTime_Maximum(), ecorePackage.getEFloatObject(), "maximum", null, 0, 1, ResponseTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getResponseTime_Jitter(), ecorePackage.getEFloatObject(), "jitter", null, 0, 1, ResponseTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getResponseTime_Monitoredresource(), this.getMonitoredResource(), this.getMonitoredResource_Responsetime(), "monitoredresource", null, 0, 1, ResponseTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(analysisContextEClass, AnalysisContext.class, "AnalysisContext", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getAnalysisContext_Name(), ecorePackage.getEString(), "name", null, 0, 1, AnalysisContext.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		// Create resource
-		createResource(eNS_URI);
-	}
-
-} //MonitoringPackageImpl
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/PeriodImpl.java b/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/PeriodImpl.java
deleted file mode 100644
index e13eedc..0000000
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/PeriodImpl.java
+++ /dev/null
@@ -1,399 +0,0 @@
-/*
------------------------------------------------------------------------
---                    CHESS monitoring plugin                        --
---                                                                   --
---                    Copyright (C) 2015-2016                        --
---                 University of Padova, ITALY                       --
---                                                                   --
--- Author: Alessandro Zovi azovi@math.unipd.it                       --
---                                                                   --
--- 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                         --
------------------------------------------------------------------------
-  */ 
-package monitoringxml.impl;
-
-import monitoringxml.MonitoredResource;
-import monitoringxml.MonitoringPackage;
-import monitoringxml.Period;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Period</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link monitoringxml.impl.PeriodImpl#getMinimum <em>Minimum</em>}</li>
- *   <li>{@link monitoringxml.impl.PeriodImpl#getMaximum <em>Maximum</em>}</li>
- *   <li>{@link monitoringxml.impl.PeriodImpl#getJitter <em>Jitter</em>}</li>
- *   <li>{@link monitoringxml.impl.PeriodImpl#getMonitoredresource <em>Monitoredresource</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class PeriodImpl extends MinimalEObjectImpl.Container implements Period {
-	/**
-	 * The default value of the '{@link #getMinimum() <em>Minimum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMinimum()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final Float MINIMUM_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getMinimum() <em>Minimum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMinimum()
-	 * @generated
-	 * @ordered
-	 */
-	protected Float minimum = MINIMUM_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getMaximum() <em>Maximum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMaximum()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final Float MAXIMUM_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getMaximum() <em>Maximum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMaximum()
-	 * @generated
-	 * @ordered
-	 */
-	protected Float maximum = MAXIMUM_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getJitter() <em>Jitter</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getJitter()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final Float JITTER_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getJitter() <em>Jitter</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getJitter()
-	 * @generated
-	 * @ordered
-	 */
-	protected Float jitter = JITTER_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getMonitoredresource() <em>Monitoredresource</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMonitoredresource()
-	 * @generated
-	 * @ordered
-	 */
-	protected MonitoredResource monitoredresource;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PeriodImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.PERIOD;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Float getMinimum() {
-		return minimum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMinimum(Float newMinimum) {
-		Float oldMinimum = minimum;
-		minimum = newMinimum;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.PERIOD__MINIMUM, oldMinimum, minimum));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Float getMaximum() {
-		return maximum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMaximum(Float newMaximum) {
-		Float oldMaximum = maximum;
-		maximum = newMaximum;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.PERIOD__MAXIMUM, oldMaximum, maximum));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Float getJitter() {
-		return jitter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setJitter(Float newJitter) {
-		Float oldJitter = jitter;
-		jitter = newJitter;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.PERIOD__JITTER, oldJitter, jitter));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MonitoredResource getMonitoredresource() {
-		if (monitoredresource != null && monitoredresource.eIsProxy()) {
-			InternalEObject oldMonitoredresource = (InternalEObject)monitoredresource;
-			monitoredresource = (MonitoredResource)eResolveProxy(oldMonitoredresource);
-			if (monitoredresource != oldMonitoredresource) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, MonitoringPackage.PERIOD__MONITOREDRESOURCE, oldMonitoredresource, monitoredresource));
-			}
-		}
-		return monitoredresource;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MonitoredResource basicGetMonitoredresource() {
-		return monitoredresource;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetMonitoredresource(MonitoredResource newMonitoredresource, NotificationChain msgs) {
-		MonitoredResource oldMonitoredresource = monitoredresource;
-		monitoredresource = newMonitoredresource;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringPackage.PERIOD__MONITOREDRESOURCE, oldMonitoredresource, newMonitoredresource);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMonitoredresource(MonitoredResource newMonitoredresource) {
-		if (newMonitoredresource != monitoredresource) {
-			NotificationChain msgs = null;
-			if (monitoredresource != null)
-				msgs = ((InternalEObject)monitoredresource).eInverseRemove(this, MonitoringPackage.MONITORED_RESOURCE__PERIOD, MonitoredResource.class, msgs);
-			if (newMonitoredresource != null)
-				msgs = ((InternalEObject)newMonitoredresource).eInverseAdd(this, MonitoringPackage.MONITORED_RESOURCE__PERIOD, MonitoredResource.class, msgs);
-			msgs = basicSetMonitoredresource(newMonitoredresource, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.PERIOD__MONITOREDRESOURCE, newMonitoredresource, newMonitoredresource));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case MonitoringPackage.PERIOD__MONITOREDRESOURCE:
-				if (monitoredresource != null)
-					msgs = ((InternalEObject)monitoredresource).eInverseRemove(this, MonitoringPackage.MONITORED_RESOURCE__PERIOD, MonitoredResource.class, msgs);
-				return basicSetMonitoredresource((MonitoredResource)otherEnd, msgs);
-		}
-		return super.eInverseAdd(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case MonitoringPackage.PERIOD__MONITOREDRESOURCE:
-				return basicSetMonitoredresource(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.PERIOD__MINIMUM:
-				return getMinimum();
-			case MonitoringPackage.PERIOD__MAXIMUM:
-				return getMaximum();
-			case MonitoringPackage.PERIOD__JITTER:
-				return getJitter();
-			case MonitoringPackage.PERIOD__MONITOREDRESOURCE:
-				if (resolve) return getMonitoredresource();
-				return basicGetMonitoredresource();
-		}
-		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.PERIOD__MINIMUM:
-				setMinimum((Float)newValue);
-				return;
-			case MonitoringPackage.PERIOD__MAXIMUM:
-				setMaximum((Float)newValue);
-				return;
-			case MonitoringPackage.PERIOD__JITTER:
-				setJitter((Float)newValue);
-				return;
-			case MonitoringPackage.PERIOD__MONITOREDRESOURCE:
-				setMonitoredresource((MonitoredResource)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.PERIOD__MINIMUM:
-				setMinimum(MINIMUM_EDEFAULT);
-				return;
-			case MonitoringPackage.PERIOD__MAXIMUM:
-				setMaximum(MAXIMUM_EDEFAULT);
-				return;
-			case MonitoringPackage.PERIOD__JITTER:
-				setJitter(JITTER_EDEFAULT);
-				return;
-			case MonitoringPackage.PERIOD__MONITOREDRESOURCE:
-				setMonitoredresource((MonitoredResource)null);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.PERIOD__MINIMUM:
-				return MINIMUM_EDEFAULT == null ? minimum != null : !MINIMUM_EDEFAULT.equals(minimum);
-			case MonitoringPackage.PERIOD__MAXIMUM:
-				return MAXIMUM_EDEFAULT == null ? maximum != null : !MAXIMUM_EDEFAULT.equals(maximum);
-			case MonitoringPackage.PERIOD__JITTER:
-				return JITTER_EDEFAULT == null ? jitter != null : !JITTER_EDEFAULT.equals(jitter);
-			case MonitoringPackage.PERIOD__MONITOREDRESOURCE:
-				return monitoredresource != null;
-		}
-		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(" (minimum: ");
-		result.append(minimum);
-		result.append(", maximum: ");
-		result.append(maximum);
-		result.append(", jitter: ");
-		result.append(jitter);
-		result.append(')');
-		return result.toString();
-	}
-
-} //PeriodImpl
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/ResponseTimeImpl.java b/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/ResponseTimeImpl.java
deleted file mode 100644
index ec6b403..0000000
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/ResponseTimeImpl.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
------------------------------------------------------------------------
---                    CHESS monitoring plugin                        --
---                                                                   --
---                    Copyright (C) 2015-2016                        --
---                 University of Padova, ITALY                       --
---                                                                   --
--- Author: Alessandro Zovi azovi@math.unipd.it                       --
---                                                                   --
--- 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                         --
------------------------------------------------------------------------
-  */ 
-package monitoringxml.impl;
-
-import monitoringxml.MonitoredResource;
-import monitoringxml.MonitoringPackage;
-import monitoringxml.ResponseTime;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Response Time</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link monitoringxml.impl.ResponseTimeImpl#getMaximum <em>Maximum</em>}</li>
- *   <li>{@link monitoringxml.impl.ResponseTimeImpl#getJitter <em>Jitter</em>}</li>
- *   <li>{@link monitoringxml.impl.ResponseTimeImpl#getMonitoredresource <em>Monitoredresource</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class ResponseTimeImpl extends MinimalEObjectImpl.Container implements ResponseTime {
-	/**
-	 * The default value of the '{@link #getMaximum() <em>Maximum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMaximum()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final Float MAXIMUM_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getMaximum() <em>Maximum</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMaximum()
-	 * @generated
-	 * @ordered
-	 */
-	protected Float maximum = MAXIMUM_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getJitter() <em>Jitter</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getJitter()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final Float JITTER_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getJitter() <em>Jitter</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getJitter()
-	 * @generated
-	 * @ordered
-	 */
-	protected Float jitter = JITTER_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getMonitoredresource() <em>Monitoredresource</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMonitoredresource()
-	 * @generated
-	 * @ordered
-	 */
-	protected MonitoredResource monitoredresource;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ResponseTimeImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.RESPONSE_TIME;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Float getMaximum() {
-		return maximum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMaximum(Float newMaximum) {
-		Float oldMaximum = maximum;
-		maximum = newMaximum;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.RESPONSE_TIME__MAXIMUM, oldMaximum, maximum));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Float getJitter() {
-		return jitter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setJitter(Float newJitter) {
-		Float oldJitter = jitter;
-		jitter = newJitter;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.RESPONSE_TIME__JITTER, oldJitter, jitter));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MonitoredResource getMonitoredresource() {
-		if (monitoredresource != null && monitoredresource.eIsProxy()) {
-			InternalEObject oldMonitoredresource = (InternalEObject)monitoredresource;
-			monitoredresource = (MonitoredResource)eResolveProxy(oldMonitoredresource);
-			if (monitoredresource != oldMonitoredresource) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, MonitoringPackage.RESPONSE_TIME__MONITOREDRESOURCE, oldMonitoredresource, monitoredresource));
-			}
-		}
-		return monitoredresource;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MonitoredResource basicGetMonitoredresource() {
-		return monitoredresource;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetMonitoredresource(MonitoredResource newMonitoredresource, NotificationChain msgs) {
-		MonitoredResource oldMonitoredresource = monitoredresource;
-		monitoredresource = newMonitoredresource;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringPackage.RESPONSE_TIME__MONITOREDRESOURCE, oldMonitoredresource, newMonitoredresource);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMonitoredresource(MonitoredResource newMonitoredresource) {
-		if (newMonitoredresource != monitoredresource) {
-			NotificationChain msgs = null;
-			if (monitoredresource != null)
-				msgs = ((InternalEObject)monitoredresource).eInverseRemove(this, MonitoringPackage.MONITORED_RESOURCE__RESPONSETIME, MonitoredResource.class, msgs);
-			if (newMonitoredresource != null)
-				msgs = ((InternalEObject)newMonitoredresource).eInverseAdd(this, MonitoringPackage.MONITORED_RESOURCE__RESPONSETIME, MonitoredResource.class, msgs);
-			msgs = basicSetMonitoredresource(newMonitoredresource, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.RESPONSE_TIME__MONITOREDRESOURCE, newMonitoredresource, newMonitoredresource));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case MonitoringPackage.RESPONSE_TIME__MONITOREDRESOURCE:
-				if (monitoredresource != null)
-					msgs = ((InternalEObject)monitoredresource).eInverseRemove(this, MonitoringPackage.MONITORED_RESOURCE__RESPONSETIME, MonitoredResource.class, msgs);
-				return basicSetMonitoredresource((MonitoredResource)otherEnd, msgs);
-		}
-		return super.eInverseAdd(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case MonitoringPackage.RESPONSE_TIME__MONITOREDRESOURCE:
-				return basicSetMonitoredresource(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.RESPONSE_TIME__MAXIMUM:
-				return getMaximum();
-			case MonitoringPackage.RESPONSE_TIME__JITTER:
-				return getJitter();
-			case MonitoringPackage.RESPONSE_TIME__MONITOREDRESOURCE:
-				if (resolve) return getMonitoredresource();
-				return basicGetMonitoredresource();
-		}
-		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.RESPONSE_TIME__MAXIMUM:
-				setMaximum((Float)newValue);
-				return;
-			case MonitoringPackage.RESPONSE_TIME__JITTER:
-				setJitter((Float)newValue);
-				return;
-			case MonitoringPackage.RESPONSE_TIME__MONITOREDRESOURCE:
-				setMonitoredresource((MonitoredResource)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.RESPONSE_TIME__MAXIMUM:
-				setMaximum(MAXIMUM_EDEFAULT);
-				return;
-			case MonitoringPackage.RESPONSE_TIME__JITTER:
-				setJitter(JITTER_EDEFAULT);
-				return;
-			case MonitoringPackage.RESPONSE_TIME__MONITOREDRESOURCE:
-				setMonitoredresource((MonitoredResource)null);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case MonitoringPackage.RESPONSE_TIME__MAXIMUM:
-				return MAXIMUM_EDEFAULT == null ? maximum != null : !MAXIMUM_EDEFAULT.equals(maximum);
-			case MonitoringPackage.RESPONSE_TIME__JITTER:
-				return JITTER_EDEFAULT == null ? jitter != null : !JITTER_EDEFAULT.equals(jitter);
-			case MonitoringPackage.RESPONSE_TIME__MONITOREDRESOURCE:
-				return monitoredresource != null;
-		}
-		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(" (maximum: ");
-		result.append(maximum);
-		result.append(", jitter: ");
-		result.append(jitter);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ResponseTimeImpl
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Activator.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Activator.java
new file mode 100644
index 0000000..ff3cfef
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Activator.java
@@ -0,0 +1,66 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi azovi@math.unipd.it                       --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */  
+
+package org.polarsys.chess.monitoring.monitoringxml;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.polarsys.chess.monitoring"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/AnalysisContext.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/AnalysisContext.java
similarity index 79%
rename from plugins/org.polarsys.chess.monitoring/src/monitoringxml/AnalysisContext.java
rename to plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/AnalysisContext.java
index 7ecbf5d..29ab72c 100644
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/AnalysisContext.java
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/AnalysisContext.java
@@ -13,7 +13,7 @@
 -- http://www.eclipse.org/legal/epl-v10.html                         --
 -----------------------------------------------------------------------
   */  
-package monitoringxml;
+package org.polarsys.chess.monitoring.monitoringxml;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -24,12 +24,12 @@
  *
  * <p>
  * The following features are supported:
- * </p>
  * <ul>
- *   <li>{@link monitoringxml.AnalysisContext#getName <em>Name</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.AnalysisContext#getName <em>Name</em>}</li>
  * </ul>
+ * </p>
  *
- * @see monitoringxml.MonitoringPackage#getAnalysisContext()
+ * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getAnalysisContext()
  * @model
  * @generated
  */
@@ -44,14 +44,14 @@
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Name</em>' attribute.
 	 * @see #setName(String)
-	 * @see monitoringxml.MonitoringPackage#getAnalysisContext_Name()
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getAnalysisContext_Name()
 	 * @model
 	 * @generated
 	 */
 	String getName();
 
 	/**
-	 * Sets the value of the '{@link monitoringxml.AnalysisContext#getName <em>Name</em>}' attribute.
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.AnalysisContext#getName <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Name</em>' attribute.
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/BlockingTime.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/BlockingTime.java
new file mode 100644
index 0000000..3381281
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/BlockingTime.java
@@ -0,0 +1,146 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi azovi@math.unipd.it                       --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */  
+package org.polarsys.chess.monitoring.monitoringxml;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Blocking Time</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getMonitoredresource <em>Monitoredresource</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getMinimum <em>Minimum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getMaximum <em>Maximum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getAverage <em>Average</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getBlockingTime()
+ * @model
+ * @generated
+ */
+public interface BlockingTime extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Monitoredresource</b></em>' container reference.
+	 * It is bidirectional and its opposite is '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getBlockingtime <em>Blockingtime</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Monitoredresource</em>' container reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Monitoredresource</em>' container reference.
+	 * @see #setMonitoredresource(MonitoredResource)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getBlockingTime_Monitoredresource()
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getBlockingtime
+	 * @model opposite="blockingtime" transient="false"
+	 * @generated
+	 */
+	MonitoredResource getMonitoredresource();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getMonitoredresource <em>Monitoredresource</em>}' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Monitoredresource</em>' container reference.
+	 * @see #getMonitoredresource()
+	 * @generated
+	 */
+	void setMonitoredresource(MonitoredResource value);
+
+	/**
+	 * Returns the value of the '<em><b>Minimum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Minimum</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Minimum</em>' containment reference.
+	 * @see #setMinimum(MeasuredValue)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getBlockingTime_Minimum()
+	 * @model containment="true"
+	 * @generated
+	 */
+	MeasuredValue getMinimum();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getMinimum <em>Minimum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Minimum</em>' containment reference.
+	 * @see #getMinimum()
+	 * @generated
+	 */
+	void setMinimum(MeasuredValue value);
+
+	/**
+	 * Returns the value of the '<em><b>Maximum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Maximum</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Maximum</em>' containment reference.
+	 * @see #setMaximum(MeasuredValue)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getBlockingTime_Maximum()
+	 * @model containment="true"
+	 * @generated
+	 */
+	MeasuredValue getMaximum();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getMaximum <em>Maximum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Maximum</em>' containment reference.
+	 * @see #getMaximum()
+	 * @generated
+	 */
+	void setMaximum(MeasuredValue value);
+
+	/**
+	 * Returns the value of the '<em><b>Average</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Average</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Average</em>' containment reference.
+	 * @see #setAverage(MeasuredValue)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getBlockingTime_Average()
+	 * @model containment="true"
+	 * @generated
+	 */
+	MeasuredValue getAverage();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getAverage <em>Average</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Average</em>' containment reference.
+	 * @see #getAverage()
+	 * @generated
+	 */
+	void setAverage(MeasuredValue value);
+
+} // BlockingTime
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/ExecutionTime.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/ExecutionTime.java
new file mode 100644
index 0000000..7c952ad
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/ExecutionTime.java
@@ -0,0 +1,146 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi azovi@math.unipd.it                       --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */  
+package org.polarsys.chess.monitoring.monitoringxml;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Execution Time</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getMonitoredresource <em>Monitoredresource</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getMinimum <em>Minimum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getMaximum <em>Maximum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getAverage <em>Average</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getExecutionTime()
+ * @model
+ * @generated
+ */
+public interface ExecutionTime extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Monitoredresource</b></em>' container reference.
+	 * It is bidirectional and its opposite is '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getExecutiontime <em>Executiontime</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Monitoredresource</em>' container reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Monitoredresource</em>' container reference.
+	 * @see #setMonitoredresource(MonitoredResource)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getExecutionTime_Monitoredresource()
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getExecutiontime
+	 * @model opposite="executiontime" transient="false"
+	 * @generated
+	 */
+	MonitoredResource getMonitoredresource();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getMonitoredresource <em>Monitoredresource</em>}' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Monitoredresource</em>' container reference.
+	 * @see #getMonitoredresource()
+	 * @generated
+	 */
+	void setMonitoredresource(MonitoredResource value);
+
+	/**
+	 * Returns the value of the '<em><b>Minimum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Minimum</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Minimum</em>' containment reference.
+	 * @see #setMinimum(MeasuredValue)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getExecutionTime_Minimum()
+	 * @model containment="true"
+	 * @generated
+	 */
+	MeasuredValue getMinimum();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getMinimum <em>Minimum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Minimum</em>' containment reference.
+	 * @see #getMinimum()
+	 * @generated
+	 */
+	void setMinimum(MeasuredValue value);
+
+	/**
+	 * Returns the value of the '<em><b>Maximum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Maximum</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Maximum</em>' containment reference.
+	 * @see #setMaximum(MeasuredValue)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getExecutionTime_Maximum()
+	 * @model containment="true"
+	 * @generated
+	 */
+	MeasuredValue getMaximum();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getMaximum <em>Maximum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Maximum</em>' containment reference.
+	 * @see #getMaximum()
+	 * @generated
+	 */
+	void setMaximum(MeasuredValue value);
+
+	/**
+	 * Returns the value of the '<em><b>Average</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Average</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Average</em>' containment reference.
+	 * @see #setAverage(MeasuredValue)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getExecutionTime_Average()
+	 * @model containment="true"
+	 * @generated
+	 */
+	MeasuredValue getAverage();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getAverage <em>Average</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Average</em>' containment reference.
+	 * @see #getAverage()
+	 * @generated
+	 */
+	void setAverage(MeasuredValue value);
+
+} // ExecutionTime
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/MeasuredValue.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/MeasuredValue.java
new file mode 100644
index 0000000..a969e05
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/MeasuredValue.java
@@ -0,0 +1,89 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 Malardalen University, Sweden                     --
+--                                                                   --                      --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */ 
+package org.polarsys.chess.monitoring.monitoringxml;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Measured Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.MeasuredValue#getUnit <em>Unit</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.MeasuredValue#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getMeasuredValue()
+ * @model
+ * @generated
+ */
+public interface MeasuredValue extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Unit</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Unit</em>' attribute.
+	 * @see #setUnit(String)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getMeasuredValue_Unit()
+	 * @model
+	 * @generated
+	 */
+	String getUnit();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.MeasuredValue#getUnit <em>Unit</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Unit</em>' attribute.
+	 * @see #getUnit()
+	 * @generated
+	 */
+	void setUnit(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value</em>' attribute.
+	 * @see #setValue(Float)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getMeasuredValue_Value()
+	 * @model
+	 * @generated
+	 */
+	Float getValue();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.MeasuredValue#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(Float value);
+
+} // MeasuredValue
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/MonitoredResource.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/MonitoredResource.java
new file mode 100644
index 0000000..5ba62af
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/MonitoredResource.java
@@ -0,0 +1,179 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi azovi@math.unipd.it                       --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */ 
+package org.polarsys.chess.monitoring.monitoringxml;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Monitored Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getName <em>Name</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getPeriod <em>Period</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getExecutiontime <em>Executiontime</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getBlockingtime <em>Blockingtime</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getResponsetime <em>Responsetime</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getMonitoredResource()
+ * @model abstract="true"
+ * @generated
+ */
+public interface MonitoredResource extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getMonitoredResource_Name()
+	 * @model
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#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>Period</b></em>' containment reference.
+	 * It is bidirectional and its opposite is '{@link org.polarsys.chess.monitoring.monitoringxml.Period#getMonitoredresource <em>Monitoredresource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Period</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Period</em>' containment reference.
+	 * @see #setPeriod(Period)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getMonitoredResource_Period()
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Period#getMonitoredresource
+	 * @model opposite="monitoredresource" containment="true"
+	 * @generated
+	 */
+	Period getPeriod();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getPeriod <em>Period</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Period</em>' containment reference.
+	 * @see #getPeriod()
+	 * @generated
+	 */
+	void setPeriod(Period value);
+
+	/**
+	 * Returns the value of the '<em><b>Executiontime</b></em>' containment reference.
+	 * It is bidirectional and its opposite is '{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getMonitoredresource <em>Monitoredresource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Executiontime</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Executiontime</em>' containment reference.
+	 * @see #setExecutiontime(ExecutionTime)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getMonitoredResource_Executiontime()
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getMonitoredresource
+	 * @model opposite="monitoredresource" containment="true"
+	 * @generated
+	 */
+	ExecutionTime getExecutiontime();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getExecutiontime <em>Executiontime</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Executiontime</em>' containment reference.
+	 * @see #getExecutiontime()
+	 * @generated
+	 */
+	void setExecutiontime(ExecutionTime value);
+
+	/**
+	 * Returns the value of the '<em><b>Blockingtime</b></em>' containment reference.
+	 * It is bidirectional and its opposite is '{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getMonitoredresource <em>Monitoredresource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Blockingtime</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Blockingtime</em>' containment reference.
+	 * @see #setBlockingtime(BlockingTime)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getMonitoredResource_Blockingtime()
+	 * @see org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getMonitoredresource
+	 * @model opposite="monitoredresource" containment="true"
+	 * @generated
+	 */
+	BlockingTime getBlockingtime();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getBlockingtime <em>Blockingtime</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Blockingtime</em>' containment reference.
+	 * @see #getBlockingtime()
+	 * @generated
+	 */
+	void setBlockingtime(BlockingTime value);
+
+	/**
+	 * Returns the value of the '<em><b>Responsetime</b></em>' containment reference.
+	 * It is bidirectional and its opposite is '{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getMonitoredresource <em>Monitoredresource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Responsetime</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Responsetime</em>' containment reference.
+	 * @see #setResponsetime(ResponseTime)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getMonitoredResource_Responsetime()
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getMonitoredresource
+	 * @model opposite="monitoredresource" containment="true"
+	 * @generated
+	 */
+	ResponseTime getResponsetime();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getResponsetime <em>Responsetime</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Responsetime</em>' containment reference.
+	 * @see #getResponsetime()
+	 * @generated
+	 */
+	void setResponsetime(ResponseTime value);
+
+} // MonitoredResource
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/Monitoring.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Monitoring.java
similarity index 71%
rename from plugins/org.polarsys.chess.monitoring/src/monitoringxml/Monitoring.java
rename to plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Monitoring.java
index d0765a4..7d2ffd2 100644
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/Monitoring.java
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Monitoring.java
@@ -13,7 +13,7 @@
 -- http://www.eclipse.org/legal/epl-v10.html                         --
 -----------------------------------------------------------------------
   */ 
-package monitoringxml;
+package org.polarsys.chess.monitoring.monitoringxml;
 
 import org.eclipse.emf.common.util.EList;
 
@@ -26,21 +26,21 @@
  *
  * <p>
  * The following features are supported:
- * </p>
  * <ul>
- *   <li>{@link monitoringxml.Monitoring#getThreadNames <em>Thread Names</em>}</li>
- *   <li>{@link monitoringxml.Monitoring#getSharedResources <em>Shared Resources</em>}</li>
- *   <li>{@link monitoringxml.Monitoring#getAnalysisContext <em>Analysis Context</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.Monitoring#getThreadNames <em>Thread Names</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.Monitoring#getSharedResources <em>Shared Resources</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.Monitoring#getAnalysisContext <em>Analysis Context</em>}</li>
  * </ul>
+ * </p>
  *
- * @see monitoringxml.MonitoringPackage#getMonitoring()
+ * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getMonitoring()
  * @model
  * @generated
  */
 public interface Monitoring extends EObject {
 	/**
 	 * Returns the value of the '<em><b>Thread Names</b></em>' containment reference list.
-	 * The list contents are of type {@link monitoringxml.Thread}.
+	 * The list contents are of type {@link org.polarsys.chess.monitoring.monitoringxml.Thread}.
 	 * <!-- begin-user-doc -->
 	 * <p>
 	 * If the meaning of the '<em>Thread Names</em>' containment reference list isn't clear,
@@ -48,15 +48,15 @@
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Thread Names</em>' containment reference list.
-	 * @see monitoringxml.MonitoringPackage#getMonitoring_ThreadNames()
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getMonitoring_ThreadNames()
 	 * @model containment="true"
 	 * @generated
 	 */
-	EList<monitoringxml.Thread> getThreadNames();
+	EList<org.polarsys.chess.monitoring.monitoringxml.Thread> getThreadNames();
 
 	/**
 	 * Returns the value of the '<em><b>Shared Resources</b></em>' containment reference list.
-	 * The list contents are of type {@link monitoringxml.Resource}.
+	 * The list contents are of type {@link org.polarsys.chess.monitoring.monitoringxml.Resource}.
 	 * <!-- begin-user-doc -->
 	 * <p>
 	 * If the meaning of the '<em>Shared Resources</em>' containment reference list isn't clear,
@@ -64,7 +64,7 @@
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Shared Resources</em>' containment reference list.
-	 * @see monitoringxml.MonitoringPackage#getMonitoring_SharedResources()
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getMonitoring_SharedResources()
 	 * @model containment="true"
 	 * @generated
 	 */
@@ -80,14 +80,14 @@
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Analysis Context</em>' containment reference.
 	 * @see #setAnalysisContext(AnalysisContext)
-	 * @see monitoringxml.MonitoringPackage#getMonitoring_AnalysisContext()
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getMonitoring_AnalysisContext()
 	 * @model containment="true" required="true"
 	 * @generated
 	 */
 	AnalysisContext getAnalysisContext();
 
 	/**
-	 * Sets the value of the '{@link monitoringxml.Monitoring#getAnalysisContext <em>Analysis Context</em>}' containment reference.
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.Monitoring#getAnalysisContext <em>Analysis Context</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Analysis Context</em>' containment reference.
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/MonitoringFactory.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/MonitoringxmlFactory.java
similarity index 83%
rename from plugins/org.polarsys.chess.monitoring/src/monitoringxml/MonitoringFactory.java
rename to plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/MonitoringxmlFactory.java
index 2b877a4..f0fbc1f 100644
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/MonitoringFactory.java
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/MonitoringxmlFactory.java
@@ -13,7 +13,7 @@
 -- http://www.eclipse.org/legal/epl-v10.html                         --
 -----------------------------------------------------------------------
   */ 
-package monitoringxml;
+package org.polarsys.chess.monitoring.monitoringxml;
 
 import org.eclipse.emf.ecore.EFactory;
 
@@ -22,17 +22,17 @@
  * The <b>Factory</b> for the model.
  * It provides a create method for each non-abstract class of the model.
  * <!-- end-user-doc -->
- * @see monitoringxml.MonitoringPackage
+ * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage
  * @generated
  */
-public interface MonitoringFactory extends EFactory {
+public interface MonitoringxmlFactory extends EFactory {
 	/**
 	 * The singleton instance of the factory.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	MonitoringFactory eINSTANCE = monitoringxml.impl.MonitoringFactoryImpl.init();
+	MonitoringxmlFactory eINSTANCE = org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlFactoryImpl.init();
 
 	/**
 	 * Returns a new object of class '<em>Monitoring</em>'.
@@ -107,12 +107,21 @@
 	AnalysisContext createAnalysisContext();
 
 	/**
+	 * Returns a new object of class '<em>Measured Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Measured Value</em>'.
+	 * @generated
+	 */
+	MeasuredValue createMeasuredValue();
+
+	/**
 	 * Returns the package supported by this factory.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the package supported by this factory.
 	 * @generated
 	 */
-	MonitoringPackage getMonitoringPackage();
+	MonitoringxmlPackage getMonitoringxmlPackage();
 
-} //MonitoringFactory
+} //MonitoringxmlFactory
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/MonitoringxmlPackage.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/MonitoringxmlPackage.java
new file mode 100644
index 0000000..be9e5dd
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/MonitoringxmlPackage.java
@@ -0,0 +1,1480 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi azovi@math.unipd.it                       --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */ 
+package org.polarsys.chess.monitoring.monitoringxml;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface MonitoringxmlPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "monitoringxml";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.mdh.se/concerto/monitoring/xml/monitoringxml";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "monitoringxml";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	MonitoringxmlPackage eINSTANCE = org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringImpl <em>Monitoring</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringImpl
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getMonitoring()
+	 * @generated
+	 */
+	int MONITORING = 0;
+
+	/**
+	 * The feature id for the '<em><b>Thread Names</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING__THREAD_NAMES = 0;
+
+	/**
+	 * The feature id for the '<em><b>Shared Resources</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING__SHARED_RESOURCES = 1;
+
+	/**
+	 * The feature id for the '<em><b>Analysis Context</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING__ANALYSIS_CONTEXT = 2;
+
+	/**
+	 * The number of structural features of the '<em>Monitoring</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Monitoring</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.MonitoredResourceImpl <em>Monitored Resource</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoredResourceImpl
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getMonitoredResource()
+	 * @generated
+	 */
+	int MONITORED_RESOURCE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORED_RESOURCE__NAME = 0;
+
+	/**
+	 * The feature id for the '<em><b>Period</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORED_RESOURCE__PERIOD = 1;
+
+	/**
+	 * The feature id for the '<em><b>Executiontime</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORED_RESOURCE__EXECUTIONTIME = 2;
+
+	/**
+	 * The feature id for the '<em><b>Blockingtime</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORED_RESOURCE__BLOCKINGTIME = 3;
+
+	/**
+	 * The feature id for the '<em><b>Responsetime</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORED_RESOURCE__RESPONSETIME = 4;
+
+	/**
+	 * The number of structural features of the '<em>Monitored Resource</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORED_RESOURCE_FEATURE_COUNT = 5;
+
+	/**
+	 * The number of operations of the '<em>Monitored Resource</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORED_RESOURCE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.ThreadImpl <em>Thread</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.ThreadImpl
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getThread()
+	 * @generated
+	 */
+	int THREAD = 1;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int THREAD__NAME = MONITORED_RESOURCE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Period</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int THREAD__PERIOD = MONITORED_RESOURCE__PERIOD;
+
+	/**
+	 * The feature id for the '<em><b>Executiontime</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int THREAD__EXECUTIONTIME = MONITORED_RESOURCE__EXECUTIONTIME;
+
+	/**
+	 * The feature id for the '<em><b>Blockingtime</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int THREAD__BLOCKINGTIME = MONITORED_RESOURCE__BLOCKINGTIME;
+
+	/**
+	 * The feature id for the '<em><b>Responsetime</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int THREAD__RESPONSETIME = MONITORED_RESOURCE__RESPONSETIME;
+
+	/**
+	 * The number of structural features of the '<em>Thread</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int THREAD_FEATURE_COUNT = MONITORED_RESOURCE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Thread</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int THREAD_OPERATION_COUNT = MONITORED_RESOURCE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.ResourceImpl <em>Resource</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.ResourceImpl
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getResource()
+	 * @generated
+	 */
+	int RESOURCE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE__NAME = MONITORED_RESOURCE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Period</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE__PERIOD = MONITORED_RESOURCE__PERIOD;
+
+	/**
+	 * The feature id for the '<em><b>Executiontime</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE__EXECUTIONTIME = MONITORED_RESOURCE__EXECUTIONTIME;
+
+	/**
+	 * The feature id for the '<em><b>Blockingtime</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE__BLOCKINGTIME = MONITORED_RESOURCE__BLOCKINGTIME;
+
+	/**
+	 * The feature id for the '<em><b>Responsetime</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE__RESPONSETIME = MONITORED_RESOURCE__RESPONSETIME;
+
+	/**
+	 * The number of structural features of the '<em>Resource</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE_FEATURE_COUNT = MONITORED_RESOURCE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Resource</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE_OPERATION_COUNT = MONITORED_RESOURCE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.PeriodImpl <em>Period</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.PeriodImpl
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getPeriod()
+	 * @generated
+	 */
+	int PERIOD = 3;
+
+	/**
+	 * The feature id for the '<em><b>Monitoredresource</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIOD__MONITOREDRESOURCE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Minimum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIOD__MINIMUM = 1;
+
+	/**
+	 * The feature id for the '<em><b>Maximum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIOD__MAXIMUM = 2;
+
+	/**
+	 * The feature id for the '<em><b>Average</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIOD__AVERAGE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Jitter</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIOD__JITTER = 4;
+
+	/**
+	 * The number of structural features of the '<em>Period</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIOD_FEATURE_COUNT = 5;
+
+	/**
+	 * The number of operations of the '<em>Period</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIOD_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.ExecutionTimeImpl <em>Execution Time</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.ExecutionTimeImpl
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getExecutionTime()
+	 * @generated
+	 */
+	int EXECUTION_TIME = 5;
+
+	/**
+	 * The feature id for the '<em><b>Monitoredresource</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXECUTION_TIME__MONITOREDRESOURCE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Minimum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXECUTION_TIME__MINIMUM = 1;
+
+	/**
+	 * The feature id for the '<em><b>Maximum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXECUTION_TIME__MAXIMUM = 2;
+
+	/**
+	 * The feature id for the '<em><b>Average</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXECUTION_TIME__AVERAGE = 3;
+
+	/**
+	 * The number of structural features of the '<em>Execution Time</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXECUTION_TIME_FEATURE_COUNT = 4;
+
+	/**
+	 * The number of operations of the '<em>Execution Time</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXECUTION_TIME_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.BlockingTimeImpl <em>Blocking Time</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.BlockingTimeImpl
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getBlockingTime()
+	 * @generated
+	 */
+	int BLOCKING_TIME = 6;
+
+	/**
+	 * The feature id for the '<em><b>Monitoredresource</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCKING_TIME__MONITOREDRESOURCE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Minimum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCKING_TIME__MINIMUM = 1;
+
+	/**
+	 * The feature id for the '<em><b>Maximum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCKING_TIME__MAXIMUM = 2;
+
+	/**
+	 * The feature id for the '<em><b>Average</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCKING_TIME__AVERAGE = 3;
+
+	/**
+	 * The number of structural features of the '<em>Blocking Time</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCKING_TIME_FEATURE_COUNT = 4;
+
+	/**
+	 * The number of operations of the '<em>Blocking Time</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCKING_TIME_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.ResponseTimeImpl <em>Response Time</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.ResponseTimeImpl
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getResponseTime()
+	 * @generated
+	 */
+	int RESPONSE_TIME = 7;
+
+	/**
+	 * The feature id for the '<em><b>Monitoredresource</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RESPONSE_TIME__MONITOREDRESOURCE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Minimum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RESPONSE_TIME__MINIMUM = 1;
+
+	/**
+	 * The feature id for the '<em><b>Maximum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RESPONSE_TIME__MAXIMUM = 2;
+
+	/**
+	 * The feature id for the '<em><b>Average</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RESPONSE_TIME__AVERAGE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Jitter</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RESPONSE_TIME__JITTER = 4;
+
+	/**
+	 * The number of structural features of the '<em>Response Time</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RESPONSE_TIME_FEATURE_COUNT = 5;
+
+	/**
+	 * The number of operations of the '<em>Response Time</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RESPONSE_TIME_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.AnalysisContextImpl <em>Analysis Context</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.AnalysisContextImpl
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getAnalysisContext()
+	 * @generated
+	 */
+	int ANALYSIS_CONTEXT = 8;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ANALYSIS_CONTEXT__NAME = 0;
+
+	/**
+	 * The number of structural features of the '<em>Analysis Context</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ANALYSIS_CONTEXT_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Analysis Context</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ANALYSIS_CONTEXT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.MeasuredValueImpl <em>Measured Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MeasuredValueImpl
+	 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getMeasuredValue()
+	 * @generated
+	 */
+	int MEASURED_VALUE = 9;
+
+	/**
+	 * The feature id for the '<em><b>Unit</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MEASURED_VALUE__UNIT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MEASURED_VALUE__VALUE = 1;
+
+	/**
+	 * The number of structural features of the '<em>Measured Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MEASURED_VALUE_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Measured Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MEASURED_VALUE_OPERATION_COUNT = 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.monitoring.monitoringxml.Monitoring <em>Monitoring</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Monitoring</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Monitoring
+	 * @generated
+	 */
+	EClass getMonitoring();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.polarsys.chess.monitoring.monitoringxml.Monitoring#getThreadNames <em>Thread Names</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Thread Names</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Monitoring#getThreadNames()
+	 * @see #getMonitoring()
+	 * @generated
+	 */
+	EReference getMonitoring_ThreadNames();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.polarsys.chess.monitoring.monitoringxml.Monitoring#getSharedResources <em>Shared Resources</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Shared Resources</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Monitoring#getSharedResources()
+	 * @see #getMonitoring()
+	 * @generated
+	 */
+	EReference getMonitoring_SharedResources();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.Monitoring#getAnalysisContext <em>Analysis Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Analysis Context</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Monitoring#getAnalysisContext()
+	 * @see #getMonitoring()
+	 * @generated
+	 */
+	EReference getMonitoring_AnalysisContext();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.monitoring.monitoringxml.Thread <em>Thread</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Thread</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Thread
+	 * @generated
+	 */
+	EClass getThread();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.monitoring.monitoringxml.Resource <em>Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Resource</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Resource
+	 * @generated
+	 */
+	EClass getResource();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.monitoring.monitoringxml.Period <em>Period</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Period</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Period
+	 * @generated
+	 */
+	EClass getPeriod();
+
+	/**
+	 * Returns the meta object for the container reference '{@link org.polarsys.chess.monitoring.monitoringxml.Period#getMonitoredresource <em>Monitoredresource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the container reference '<em>Monitoredresource</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Period#getMonitoredresource()
+	 * @see #getPeriod()
+	 * @generated
+	 */
+	EReference getPeriod_Monitoredresource();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.Period#getMinimum <em>Minimum</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Minimum</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Period#getMinimum()
+	 * @see #getPeriod()
+	 * @generated
+	 */
+	EReference getPeriod_Minimum();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.Period#getMaximum <em>Maximum</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Maximum</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Period#getMaximum()
+	 * @see #getPeriod()
+	 * @generated
+	 */
+	EReference getPeriod_Maximum();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.Period#getAverage <em>Average</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Average</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Period#getAverage()
+	 * @see #getPeriod()
+	 * @generated
+	 */
+	EReference getPeriod_Average();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.Period#getJitter <em>Jitter</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Jitter</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Period#getJitter()
+	 * @see #getPeriod()
+	 * @generated
+	 */
+	EReference getPeriod_Jitter();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource <em>Monitored Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Monitored Resource</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoredResource
+	 * @generated
+	 */
+	EClass getMonitoredResource();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getName()
+	 * @see #getMonitoredResource()
+	 * @generated
+	 */
+	EAttribute getMonitoredResource_Name();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getPeriod <em>Period</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Period</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getPeriod()
+	 * @see #getMonitoredResource()
+	 * @generated
+	 */
+	EReference getMonitoredResource_Period();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getExecutiontime <em>Executiontime</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Executiontime</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getExecutiontime()
+	 * @see #getMonitoredResource()
+	 * @generated
+	 */
+	EReference getMonitoredResource_Executiontime();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getBlockingtime <em>Blockingtime</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Blockingtime</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getBlockingtime()
+	 * @see #getMonitoredResource()
+	 * @generated
+	 */
+	EReference getMonitoredResource_Blockingtime();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getResponsetime <em>Responsetime</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Responsetime</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getResponsetime()
+	 * @see #getMonitoredResource()
+	 * @generated
+	 */
+	EReference getMonitoredResource_Responsetime();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime <em>Execution Time</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Execution Time</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ExecutionTime
+	 * @generated
+	 */
+	EClass getExecutionTime();
+
+	/**
+	 * Returns the meta object for the container reference '{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getMonitoredresource <em>Monitoredresource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the container reference '<em>Monitoredresource</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getMonitoredresource()
+	 * @see #getExecutionTime()
+	 * @generated
+	 */
+	EReference getExecutionTime_Monitoredresource();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getMinimum <em>Minimum</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Minimum</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getMinimum()
+	 * @see #getExecutionTime()
+	 * @generated
+	 */
+	EReference getExecutionTime_Minimum();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getMaximum <em>Maximum</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Maximum</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getMaximum()
+	 * @see #getExecutionTime()
+	 * @generated
+	 */
+	EReference getExecutionTime_Maximum();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getAverage <em>Average</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Average</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ExecutionTime#getAverage()
+	 * @see #getExecutionTime()
+	 * @generated
+	 */
+	EReference getExecutionTime_Average();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime <em>Blocking Time</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Blocking Time</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.BlockingTime
+	 * @generated
+	 */
+	EClass getBlockingTime();
+
+	/**
+	 * Returns the meta object for the container reference '{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getMonitoredresource <em>Monitoredresource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the container reference '<em>Monitoredresource</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getMonitoredresource()
+	 * @see #getBlockingTime()
+	 * @generated
+	 */
+	EReference getBlockingTime_Monitoredresource();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getMinimum <em>Minimum</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Minimum</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getMinimum()
+	 * @see #getBlockingTime()
+	 * @generated
+	 */
+	EReference getBlockingTime_Minimum();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getMaximum <em>Maximum</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Maximum</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getMaximum()
+	 * @see #getBlockingTime()
+	 * @generated
+	 */
+	EReference getBlockingTime_Maximum();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getAverage <em>Average</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Average</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.BlockingTime#getAverage()
+	 * @see #getBlockingTime()
+	 * @generated
+	 */
+	EReference getBlockingTime_Average();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime <em>Response Time</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Response Time</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ResponseTime
+	 * @generated
+	 */
+	EClass getResponseTime();
+
+	/**
+	 * Returns the meta object for the container reference '{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getMonitoredresource <em>Monitoredresource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the container reference '<em>Monitoredresource</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getMonitoredresource()
+	 * @see #getResponseTime()
+	 * @generated
+	 */
+	EReference getResponseTime_Monitoredresource();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getMinimum <em>Minimum</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Minimum</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getMinimum()
+	 * @see #getResponseTime()
+	 * @generated
+	 */
+	EReference getResponseTime_Minimum();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getMaximum <em>Maximum</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Maximum</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getMaximum()
+	 * @see #getResponseTime()
+	 * @generated
+	 */
+	EReference getResponseTime_Maximum();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getAverage <em>Average</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Average</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getAverage()
+	 * @see #getResponseTime()
+	 * @generated
+	 */
+	EReference getResponseTime_Average();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getJitter <em>Jitter</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Jitter</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getJitter()
+	 * @see #getResponseTime()
+	 * @generated
+	 */
+	EReference getResponseTime_Jitter();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.monitoring.monitoringxml.AnalysisContext <em>Analysis Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Analysis Context</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.AnalysisContext
+	 * @generated
+	 */
+	EClass getAnalysisContext();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.monitoring.monitoringxml.AnalysisContext#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.AnalysisContext#getName()
+	 * @see #getAnalysisContext()
+	 * @generated
+	 */
+	EAttribute getAnalysisContext_Name();
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.chess.monitoring.monitoringxml.MeasuredValue <em>Measured Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Measured Value</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MeasuredValue
+	 * @generated
+	 */
+	EClass getMeasuredValue();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.monitoring.monitoringxml.MeasuredValue#getUnit <em>Unit</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Unit</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MeasuredValue#getUnit()
+	 * @see #getMeasuredValue()
+	 * @generated
+	 */
+	EAttribute getMeasuredValue_Unit();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.chess.monitoring.monitoringxml.MeasuredValue#getValue <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MeasuredValue#getValue()
+	 * @see #getMeasuredValue()
+	 * @generated
+	 */
+	EAttribute getMeasuredValue_Value();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	MonitoringxmlFactory getMonitoringxmlFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringImpl <em>Monitoring</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringImpl
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getMonitoring()
+		 * @generated
+		 */
+		EClass MONITORING = eINSTANCE.getMonitoring();
+
+		/**
+		 * The meta object literal for the '<em><b>Thread Names</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MONITORING__THREAD_NAMES = eINSTANCE.getMonitoring_ThreadNames();
+
+		/**
+		 * The meta object literal for the '<em><b>Shared Resources</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MONITORING__SHARED_RESOURCES = eINSTANCE.getMonitoring_SharedResources();
+
+		/**
+		 * The meta object literal for the '<em><b>Analysis Context</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MONITORING__ANALYSIS_CONTEXT = eINSTANCE.getMonitoring_AnalysisContext();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.ThreadImpl <em>Thread</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.ThreadImpl
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getThread()
+		 * @generated
+		 */
+		EClass THREAD = eINSTANCE.getThread();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.ResourceImpl <em>Resource</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.ResourceImpl
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getResource()
+		 * @generated
+		 */
+		EClass RESOURCE = eINSTANCE.getResource();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.PeriodImpl <em>Period</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.PeriodImpl
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getPeriod()
+		 * @generated
+		 */
+		EClass PERIOD = eINSTANCE.getPeriod();
+
+		/**
+		 * The meta object literal for the '<em><b>Monitoredresource</b></em>' container reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PERIOD__MONITOREDRESOURCE = eINSTANCE.getPeriod_Monitoredresource();
+
+		/**
+		 * The meta object literal for the '<em><b>Minimum</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PERIOD__MINIMUM = eINSTANCE.getPeriod_Minimum();
+
+		/**
+		 * The meta object literal for the '<em><b>Maximum</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PERIOD__MAXIMUM = eINSTANCE.getPeriod_Maximum();
+
+		/**
+		 * The meta object literal for the '<em><b>Average</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PERIOD__AVERAGE = eINSTANCE.getPeriod_Average();
+
+		/**
+		 * The meta object literal for the '<em><b>Jitter</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PERIOD__JITTER = eINSTANCE.getPeriod_Jitter();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.MonitoredResourceImpl <em>Monitored Resource</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoredResourceImpl
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getMonitoredResource()
+		 * @generated
+		 */
+		EClass MONITORED_RESOURCE = eINSTANCE.getMonitoredResource();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORED_RESOURCE__NAME = eINSTANCE.getMonitoredResource_Name();
+
+		/**
+		 * The meta object literal for the '<em><b>Period</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MONITORED_RESOURCE__PERIOD = eINSTANCE.getMonitoredResource_Period();
+
+		/**
+		 * The meta object literal for the '<em><b>Executiontime</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MONITORED_RESOURCE__EXECUTIONTIME = eINSTANCE.getMonitoredResource_Executiontime();
+
+		/**
+		 * The meta object literal for the '<em><b>Blockingtime</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MONITORED_RESOURCE__BLOCKINGTIME = eINSTANCE.getMonitoredResource_Blockingtime();
+
+		/**
+		 * The meta object literal for the '<em><b>Responsetime</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MONITORED_RESOURCE__RESPONSETIME = eINSTANCE.getMonitoredResource_Responsetime();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.ExecutionTimeImpl <em>Execution Time</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.ExecutionTimeImpl
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getExecutionTime()
+		 * @generated
+		 */
+		EClass EXECUTION_TIME = eINSTANCE.getExecutionTime();
+
+		/**
+		 * The meta object literal for the '<em><b>Monitoredresource</b></em>' container reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference EXECUTION_TIME__MONITOREDRESOURCE = eINSTANCE.getExecutionTime_Monitoredresource();
+
+		/**
+		 * The meta object literal for the '<em><b>Minimum</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference EXECUTION_TIME__MINIMUM = eINSTANCE.getExecutionTime_Minimum();
+
+		/**
+		 * The meta object literal for the '<em><b>Maximum</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference EXECUTION_TIME__MAXIMUM = eINSTANCE.getExecutionTime_Maximum();
+
+		/**
+		 * The meta object literal for the '<em><b>Average</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference EXECUTION_TIME__AVERAGE = eINSTANCE.getExecutionTime_Average();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.BlockingTimeImpl <em>Blocking Time</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.BlockingTimeImpl
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getBlockingTime()
+		 * @generated
+		 */
+		EClass BLOCKING_TIME = eINSTANCE.getBlockingTime();
+
+		/**
+		 * The meta object literal for the '<em><b>Monitoredresource</b></em>' container reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference BLOCKING_TIME__MONITOREDRESOURCE = eINSTANCE.getBlockingTime_Monitoredresource();
+
+		/**
+		 * The meta object literal for the '<em><b>Minimum</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference BLOCKING_TIME__MINIMUM = eINSTANCE.getBlockingTime_Minimum();
+
+		/**
+		 * The meta object literal for the '<em><b>Maximum</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference BLOCKING_TIME__MAXIMUM = eINSTANCE.getBlockingTime_Maximum();
+
+		/**
+		 * The meta object literal for the '<em><b>Average</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference BLOCKING_TIME__AVERAGE = eINSTANCE.getBlockingTime_Average();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.ResponseTimeImpl <em>Response Time</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.ResponseTimeImpl
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getResponseTime()
+		 * @generated
+		 */
+		EClass RESPONSE_TIME = eINSTANCE.getResponseTime();
+
+		/**
+		 * The meta object literal for the '<em><b>Monitoredresource</b></em>' container reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RESPONSE_TIME__MONITOREDRESOURCE = eINSTANCE.getResponseTime_Monitoredresource();
+
+		/**
+		 * The meta object literal for the '<em><b>Minimum</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RESPONSE_TIME__MINIMUM = eINSTANCE.getResponseTime_Minimum();
+
+		/**
+		 * The meta object literal for the '<em><b>Maximum</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RESPONSE_TIME__MAXIMUM = eINSTANCE.getResponseTime_Maximum();
+
+		/**
+		 * The meta object literal for the '<em><b>Average</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RESPONSE_TIME__AVERAGE = eINSTANCE.getResponseTime_Average();
+
+		/**
+		 * The meta object literal for the '<em><b>Jitter</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RESPONSE_TIME__JITTER = eINSTANCE.getResponseTime_Jitter();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.AnalysisContextImpl <em>Analysis Context</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.AnalysisContextImpl
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getAnalysisContext()
+		 * @generated
+		 */
+		EClass ANALYSIS_CONTEXT = eINSTANCE.getAnalysisContext();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ANALYSIS_CONTEXT__NAME = eINSTANCE.getAnalysisContext_Name();
+
+		/**
+		 * The meta object literal for the '{@link org.polarsys.chess.monitoring.monitoringxml.impl.MeasuredValueImpl <em>Measured Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MeasuredValueImpl
+		 * @see org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringxmlPackageImpl#getMeasuredValue()
+		 * @generated
+		 */
+		EClass MEASURED_VALUE = eINSTANCE.getMeasuredValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MEASURED_VALUE__UNIT = eINSTANCE.getMeasuredValue_Unit();
+
+		/**
+		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MEASURED_VALUE__VALUE = eINSTANCE.getMeasuredValue_Value();
+
+	}
+
+} //MonitoringxmlPackage
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Period.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Period.java
new file mode 100644
index 0000000..2cd3cbc
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Period.java
@@ -0,0 +1,173 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi azovi@math.unipd.it                       --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */ 
+package org.polarsys.chess.monitoring.monitoringxml;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Period</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.Period#getMonitoredresource <em>Monitoredresource</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.Period#getMinimum <em>Minimum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.Period#getMaximum <em>Maximum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.Period#getAverage <em>Average</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.Period#getJitter <em>Jitter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getPeriod()
+ * @model
+ * @generated
+ */
+public interface Period extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Monitoredresource</b></em>' container reference.
+	 * It is bidirectional and its opposite is '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getPeriod <em>Period</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Monitoredresource</em>' container reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Monitoredresource</em>' container reference.
+	 * @see #setMonitoredresource(MonitoredResource)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getPeriod_Monitoredresource()
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getPeriod
+	 * @model opposite="period" transient="false"
+	 * @generated
+	 */
+	MonitoredResource getMonitoredresource();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.Period#getMonitoredresource <em>Monitoredresource</em>}' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Monitoredresource</em>' container reference.
+	 * @see #getMonitoredresource()
+	 * @generated
+	 */
+	void setMonitoredresource(MonitoredResource value);
+
+	/**
+	 * Returns the value of the '<em><b>Minimum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Minimum</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Minimum</em>' containment reference.
+	 * @see #setMinimum(MeasuredValue)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getPeriod_Minimum()
+	 * @model containment="true"
+	 * @generated
+	 */
+	MeasuredValue getMinimum();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.Period#getMinimum <em>Minimum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Minimum</em>' containment reference.
+	 * @see #getMinimum()
+	 * @generated
+	 */
+	void setMinimum(MeasuredValue value);
+
+	/**
+	 * Returns the value of the '<em><b>Maximum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Maximum</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Maximum</em>' containment reference.
+	 * @see #setMaximum(MeasuredValue)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getPeriod_Maximum()
+	 * @model containment="true"
+	 * @generated
+	 */
+	MeasuredValue getMaximum();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.Period#getMaximum <em>Maximum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Maximum</em>' containment reference.
+	 * @see #getMaximum()
+	 * @generated
+	 */
+	void setMaximum(MeasuredValue value);
+
+	/**
+	 * Returns the value of the '<em><b>Average</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Average</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Average</em>' containment reference.
+	 * @see #setAverage(MeasuredValue)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getPeriod_Average()
+	 * @model containment="true"
+	 * @generated
+	 */
+	MeasuredValue getAverage();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.Period#getAverage <em>Average</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Average</em>' containment reference.
+	 * @see #getAverage()
+	 * @generated
+	 */
+	void setAverage(MeasuredValue value);
+
+	/**
+	 * Returns the value of the '<em><b>Jitter</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Jitter</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Jitter</em>' containment reference.
+	 * @see #setJitter(MeasuredValue)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getPeriod_Jitter()
+	 * @model containment="true"
+	 * @generated
+	 */
+	MeasuredValue getJitter();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.Period#getJitter <em>Jitter</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Jitter</em>' containment reference.
+	 * @see #getJitter()
+	 * @generated
+	 */
+	void setJitter(MeasuredValue value);
+
+} // Period
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/Resource.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Resource.java
similarity index 89%
rename from plugins/org.polarsys.chess.monitoring/src/monitoringxml/Resource.java
rename to plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Resource.java
index 8149228..4d1dce0 100644
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/Resource.java
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Resource.java
@@ -13,7 +13,7 @@
 -- http://www.eclipse.org/legal/epl-v10.html                         --
 -----------------------------------------------------------------------
   */ 
-package monitoringxml;
+package org.polarsys.chess.monitoring.monitoringxml;
 
 
 /**
@@ -22,7 +22,7 @@
  * <!-- end-user-doc -->
  *
  *
- * @see monitoringxml.MonitoringPackage#getResource()
+ * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getResource()
  * @model
  * @generated
  */
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/ResponseTime.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/ResponseTime.java
new file mode 100644
index 0000000..9ebcf17
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/ResponseTime.java
@@ -0,0 +1,173 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi azovi@math.unipd.it                       --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */ 
+package org.polarsys.chess.monitoring.monitoringxml;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Response Time</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getMonitoredresource <em>Monitoredresource</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getMinimum <em>Minimum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getMaximum <em>Maximum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getAverage <em>Average</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getJitter <em>Jitter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getResponseTime()
+ * @model
+ * @generated
+ */
+public interface ResponseTime extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Monitoredresource</b></em>' container reference.
+	 * It is bidirectional and its opposite is '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getResponsetime <em>Responsetime</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Monitoredresource</em>' container reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Monitoredresource</em>' container reference.
+	 * @see #setMonitoredresource(MonitoredResource)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getResponseTime_Monitoredresource()
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoredResource#getResponsetime
+	 * @model opposite="responsetime" transient="false"
+	 * @generated
+	 */
+	MonitoredResource getMonitoredresource();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getMonitoredresource <em>Monitoredresource</em>}' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Monitoredresource</em>' container reference.
+	 * @see #getMonitoredresource()
+	 * @generated
+	 */
+	void setMonitoredresource(MonitoredResource value);
+
+	/**
+	 * Returns the value of the '<em><b>Minimum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Minimum</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Minimum</em>' containment reference.
+	 * @see #setMinimum(MeasuredValue)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getResponseTime_Minimum()
+	 * @model containment="true"
+	 * @generated
+	 */
+	MeasuredValue getMinimum();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getMinimum <em>Minimum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Minimum</em>' containment reference.
+	 * @see #getMinimum()
+	 * @generated
+	 */
+	void setMinimum(MeasuredValue value);
+
+	/**
+	 * Returns the value of the '<em><b>Maximum</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Maximum</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Maximum</em>' containment reference.
+	 * @see #setMaximum(MeasuredValue)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getResponseTime_Maximum()
+	 * @model containment="true"
+	 * @generated
+	 */
+	MeasuredValue getMaximum();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getMaximum <em>Maximum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Maximum</em>' containment reference.
+	 * @see #getMaximum()
+	 * @generated
+	 */
+	void setMaximum(MeasuredValue value);
+
+	/**
+	 * Returns the value of the '<em><b>Average</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Average</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Average</em>' containment reference.
+	 * @see #setAverage(MeasuredValue)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getResponseTime_Average()
+	 * @model containment="true"
+	 * @generated
+	 */
+	MeasuredValue getAverage();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getAverage <em>Average</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Average</em>' containment reference.
+	 * @see #getAverage()
+	 * @generated
+	 */
+	void setAverage(MeasuredValue value);
+
+	/**
+	 * Returns the value of the '<em><b>Jitter</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Jitter</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Jitter</em>' containment reference.
+	 * @see #setJitter(MeasuredValue)
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getResponseTime_Jitter()
+	 * @model containment="true"
+	 * @generated
+	 */
+	MeasuredValue getJitter();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime#getJitter <em>Jitter</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Jitter</em>' containment reference.
+	 * @see #getJitter()
+	 * @generated
+	 */
+	void setJitter(MeasuredValue value);
+
+} // ResponseTime
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/Thread.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Thread.java
similarity index 89%
rename from plugins/org.polarsys.chess.monitoring/src/monitoringxml/Thread.java
rename to plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Thread.java
index fff6c5c..c7eea79 100644
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/Thread.java
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/Thread.java
@@ -13,7 +13,7 @@
 -- http://www.eclipse.org/legal/epl-v10.html                         --
 -----------------------------------------------------------------------
   */ 
-package monitoringxml;
+package org.polarsys.chess.monitoring.monitoringxml;
 
 
 /**
@@ -22,7 +22,7 @@
  * <!-- end-user-doc -->
  *
  *
- * @see monitoringxml.MonitoringPackage#getThread()
+ * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#getThread()
  * @model
  * @generated
  */
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/AnalysisContextImpl.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/AnalysisContextImpl.java
similarity index 85%
rename from plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/AnalysisContextImpl.java
rename to plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/AnalysisContextImpl.java
index 0afe3a7..84ba3a1 100644
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/AnalysisContextImpl.java
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/AnalysisContextImpl.java
@@ -13,17 +13,14 @@
 -- http://www.eclipse.org/legal/epl-v10.html                         --
 -----------------------------------------------------------------------
   */ 
-package monitoringxml.impl;
-
-import monitoringxml.AnalysisContext;
-import monitoringxml.MonitoringPackage;
+package org.polarsys.chess.monitoring.monitoringxml.impl;
 
 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.MinimalEObjectImpl;
+import org.polarsys.chess.monitoring.monitoringxml.AnalysisContext;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
 
 /**
  * <!-- begin-user-doc -->
@@ -31,10 +28,10 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
- * </p>
  * <ul>
- *   <li>{@link monitoringxml.impl.AnalysisContextImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.AnalysisContextImpl#getName <em>Name</em>}</li>
  * </ul>
+ * </p>
  *
  * @generated
  */
@@ -75,7 +72,7 @@
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.ANALYSIS_CONTEXT;
+		return MonitoringxmlPackage.Literals.ANALYSIS_CONTEXT;
 	}
 
 	/**
@@ -96,7 +93,7 @@
 		String oldName = name;
 		name = newName;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.ANALYSIS_CONTEXT__NAME, oldName, name));
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.ANALYSIS_CONTEXT__NAME, oldName, name));
 	}
 
 	/**
@@ -107,7 +104,7 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case MonitoringPackage.ANALYSIS_CONTEXT__NAME:
+			case MonitoringxmlPackage.ANALYSIS_CONTEXT__NAME:
 				return getName();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -121,7 +118,7 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case MonitoringPackage.ANALYSIS_CONTEXT__NAME:
+			case MonitoringxmlPackage.ANALYSIS_CONTEXT__NAME:
 				setName((String)newValue);
 				return;
 		}
@@ -136,7 +133,7 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case MonitoringPackage.ANALYSIS_CONTEXT__NAME:
+			case MonitoringxmlPackage.ANALYSIS_CONTEXT__NAME:
 				setName(NAME_EDEFAULT);
 				return;
 		}
@@ -151,7 +148,7 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case MonitoringPackage.ANALYSIS_CONTEXT__NAME:
+			case MonitoringxmlPackage.ANALYSIS_CONTEXT__NAME:
 				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/BlockingTimeImpl.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/BlockingTimeImpl.java
new file mode 100644
index 0000000..67f469f
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/BlockingTimeImpl.java
@@ -0,0 +1,404 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi azovi@math.unipd.it                       --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */ 
+package org.polarsys.chess.monitoring.monitoringxml.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.polarsys.chess.monitoring.monitoringxml.BlockingTime;
+import org.polarsys.chess.monitoring.monitoringxml.MeasuredValue;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoredResource;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Blocking Time</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.BlockingTimeImpl#getMonitoredresource <em>Monitoredresource</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.BlockingTimeImpl#getMinimum <em>Minimum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.BlockingTimeImpl#getMaximum <em>Maximum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.BlockingTimeImpl#getAverage <em>Average</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BlockingTimeImpl extends MinimalEObjectImpl.Container implements BlockingTime {
+	/**
+	 * The cached value of the '{@link #getMinimum() <em>Minimum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinimum()
+	 * @generated
+	 * @ordered
+	 */
+	protected MeasuredValue minimum;
+
+	/**
+	 * The cached value of the '{@link #getMaximum() <em>Maximum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaximum()
+	 * @generated
+	 * @ordered
+	 */
+	protected MeasuredValue maximum;
+
+	/**
+	 * The cached value of the '{@link #getAverage() <em>Average</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAverage()
+	 * @generated
+	 * @ordered
+	 */
+	protected MeasuredValue average;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BlockingTimeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return MonitoringxmlPackage.Literals.BLOCKING_TIME;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MonitoredResource getMonitoredresource() {
+		if (eContainerFeatureID() != MonitoringxmlPackage.BLOCKING_TIME__MONITOREDRESOURCE) return null;
+		return (MonitoredResource)eInternalContainer();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetMonitoredresource(MonitoredResource newMonitoredresource, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newMonitoredresource, MonitoringxmlPackage.BLOCKING_TIME__MONITOREDRESOURCE, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMonitoredresource(MonitoredResource newMonitoredresource) {
+		if (newMonitoredresource != eInternalContainer() || (eContainerFeatureID() != MonitoringxmlPackage.BLOCKING_TIME__MONITOREDRESOURCE && newMonitoredresource != null)) {
+			if (EcoreUtil.isAncestor(this, newMonitoredresource))
+				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+			NotificationChain msgs = null;
+			if (eInternalContainer() != null)
+				msgs = eBasicRemoveFromContainer(msgs);
+			if (newMonitoredresource != null)
+				msgs = ((InternalEObject)newMonitoredresource).eInverseAdd(this, MonitoringxmlPackage.MONITORED_RESOURCE__BLOCKINGTIME, MonitoredResource.class, msgs);
+			msgs = basicSetMonitoredresource(newMonitoredresource, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.BLOCKING_TIME__MONITOREDRESOURCE, newMonitoredresource, newMonitoredresource));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MeasuredValue getMinimum() {
+		return minimum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetMinimum(MeasuredValue newMinimum, NotificationChain msgs) {
+		MeasuredValue oldMinimum = minimum;
+		minimum = newMinimum;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.BLOCKING_TIME__MINIMUM, oldMinimum, newMinimum);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMinimum(MeasuredValue newMinimum) {
+		if (newMinimum != minimum) {
+			NotificationChain msgs = null;
+			if (minimum != null)
+				msgs = ((InternalEObject)minimum).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.BLOCKING_TIME__MINIMUM, null, msgs);
+			if (newMinimum != null)
+				msgs = ((InternalEObject)newMinimum).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.BLOCKING_TIME__MINIMUM, null, msgs);
+			msgs = basicSetMinimum(newMinimum, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.BLOCKING_TIME__MINIMUM, newMinimum, newMinimum));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MeasuredValue getMaximum() {
+		return maximum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetMaximum(MeasuredValue newMaximum, NotificationChain msgs) {
+		MeasuredValue oldMaximum = maximum;
+		maximum = newMaximum;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.BLOCKING_TIME__MAXIMUM, oldMaximum, newMaximum);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMaximum(MeasuredValue newMaximum) {
+		if (newMaximum != maximum) {
+			NotificationChain msgs = null;
+			if (maximum != null)
+				msgs = ((InternalEObject)maximum).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.BLOCKING_TIME__MAXIMUM, null, msgs);
+			if (newMaximum != null)
+				msgs = ((InternalEObject)newMaximum).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.BLOCKING_TIME__MAXIMUM, null, msgs);
+			msgs = basicSetMaximum(newMaximum, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.BLOCKING_TIME__MAXIMUM, newMaximum, newMaximum));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MeasuredValue getAverage() {
+		return average;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetAverage(MeasuredValue newAverage, NotificationChain msgs) {
+		MeasuredValue oldAverage = average;
+		average = newAverage;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.BLOCKING_TIME__AVERAGE, oldAverage, newAverage);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAverage(MeasuredValue newAverage) {
+		if (newAverage != average) {
+			NotificationChain msgs = null;
+			if (average != null)
+				msgs = ((InternalEObject)average).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.BLOCKING_TIME__AVERAGE, null, msgs);
+			if (newAverage != null)
+				msgs = ((InternalEObject)newAverage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.BLOCKING_TIME__AVERAGE, null, msgs);
+			msgs = basicSetAverage(newAverage, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.BLOCKING_TIME__AVERAGE, newAverage, newAverage));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case MonitoringxmlPackage.BLOCKING_TIME__MONITOREDRESOURCE:
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetMonitoredresource((MonitoredResource)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case MonitoringxmlPackage.BLOCKING_TIME__MONITOREDRESOURCE:
+				return basicSetMonitoredresource(null, msgs);
+			case MonitoringxmlPackage.BLOCKING_TIME__MINIMUM:
+				return basicSetMinimum(null, msgs);
+			case MonitoringxmlPackage.BLOCKING_TIME__MAXIMUM:
+				return basicSetMaximum(null, msgs);
+			case MonitoringxmlPackage.BLOCKING_TIME__AVERAGE:
+				return basicSetAverage(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+			case MonitoringxmlPackage.BLOCKING_TIME__MONITOREDRESOURCE:
+				return eInternalContainer().eInverseRemove(this, MonitoringxmlPackage.MONITORED_RESOURCE__BLOCKINGTIME, MonitoredResource.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MonitoringxmlPackage.BLOCKING_TIME__MONITOREDRESOURCE:
+				return getMonitoredresource();
+			case MonitoringxmlPackage.BLOCKING_TIME__MINIMUM:
+				return getMinimum();
+			case MonitoringxmlPackage.BLOCKING_TIME__MAXIMUM:
+				return getMaximum();
+			case MonitoringxmlPackage.BLOCKING_TIME__AVERAGE:
+				return getAverage();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case MonitoringxmlPackage.BLOCKING_TIME__MONITOREDRESOURCE:
+				setMonitoredresource((MonitoredResource)newValue);
+				return;
+			case MonitoringxmlPackage.BLOCKING_TIME__MINIMUM:
+				setMinimum((MeasuredValue)newValue);
+				return;
+			case MonitoringxmlPackage.BLOCKING_TIME__MAXIMUM:
+				setMaximum((MeasuredValue)newValue);
+				return;
+			case MonitoringxmlPackage.BLOCKING_TIME__AVERAGE:
+				setAverage((MeasuredValue)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MonitoringxmlPackage.BLOCKING_TIME__MONITOREDRESOURCE:
+				setMonitoredresource((MonitoredResource)null);
+				return;
+			case MonitoringxmlPackage.BLOCKING_TIME__MINIMUM:
+				setMinimum((MeasuredValue)null);
+				return;
+			case MonitoringxmlPackage.BLOCKING_TIME__MAXIMUM:
+				setMaximum((MeasuredValue)null);
+				return;
+			case MonitoringxmlPackage.BLOCKING_TIME__AVERAGE:
+				setAverage((MeasuredValue)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MonitoringxmlPackage.BLOCKING_TIME__MONITOREDRESOURCE:
+				return getMonitoredresource() != null;
+			case MonitoringxmlPackage.BLOCKING_TIME__MINIMUM:
+				return minimum != null;
+			case MonitoringxmlPackage.BLOCKING_TIME__MAXIMUM:
+				return maximum != null;
+			case MonitoringxmlPackage.BLOCKING_TIME__AVERAGE:
+				return average != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //BlockingTimeImpl
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/ExecutionTimeImpl.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/ExecutionTimeImpl.java
new file mode 100644
index 0000000..2d0ffbb
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/ExecutionTimeImpl.java
@@ -0,0 +1,404 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi azovi@math.unipd.it                       --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */ 
+package org.polarsys.chess.monitoring.monitoringxml.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.polarsys.chess.monitoring.monitoringxml.ExecutionTime;
+import org.polarsys.chess.monitoring.monitoringxml.MeasuredValue;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoredResource;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Execution Time</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.ExecutionTimeImpl#getMonitoredresource <em>Monitoredresource</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.ExecutionTimeImpl#getMinimum <em>Minimum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.ExecutionTimeImpl#getMaximum <em>Maximum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.ExecutionTimeImpl#getAverage <em>Average</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExecutionTimeImpl extends MinimalEObjectImpl.Container implements ExecutionTime {
+	/**
+	 * The cached value of the '{@link #getMinimum() <em>Minimum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinimum()
+	 * @generated
+	 * @ordered
+	 */
+	protected MeasuredValue minimum;
+
+	/**
+	 * The cached value of the '{@link #getMaximum() <em>Maximum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaximum()
+	 * @generated
+	 * @ordered
+	 */
+	protected MeasuredValue maximum;
+
+	/**
+	 * The cached value of the '{@link #getAverage() <em>Average</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAverage()
+	 * @generated
+	 * @ordered
+	 */
+	protected MeasuredValue average;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExecutionTimeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return MonitoringxmlPackage.Literals.EXECUTION_TIME;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MonitoredResource getMonitoredresource() {
+		if (eContainerFeatureID() != MonitoringxmlPackage.EXECUTION_TIME__MONITOREDRESOURCE) return null;
+		return (MonitoredResource)eInternalContainer();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetMonitoredresource(MonitoredResource newMonitoredresource, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newMonitoredresource, MonitoringxmlPackage.EXECUTION_TIME__MONITOREDRESOURCE, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMonitoredresource(MonitoredResource newMonitoredresource) {
+		if (newMonitoredresource != eInternalContainer() || (eContainerFeatureID() != MonitoringxmlPackage.EXECUTION_TIME__MONITOREDRESOURCE && newMonitoredresource != null)) {
+			if (EcoreUtil.isAncestor(this, newMonitoredresource))
+				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+			NotificationChain msgs = null;
+			if (eInternalContainer() != null)
+				msgs = eBasicRemoveFromContainer(msgs);
+			if (newMonitoredresource != null)
+				msgs = ((InternalEObject)newMonitoredresource).eInverseAdd(this, MonitoringxmlPackage.MONITORED_RESOURCE__EXECUTIONTIME, MonitoredResource.class, msgs);
+			msgs = basicSetMonitoredresource(newMonitoredresource, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.EXECUTION_TIME__MONITOREDRESOURCE, newMonitoredresource, newMonitoredresource));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MeasuredValue getMinimum() {
+		return minimum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetMinimum(MeasuredValue newMinimum, NotificationChain msgs) {
+		MeasuredValue oldMinimum = minimum;
+		minimum = newMinimum;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.EXECUTION_TIME__MINIMUM, oldMinimum, newMinimum);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMinimum(MeasuredValue newMinimum) {
+		if (newMinimum != minimum) {
+			NotificationChain msgs = null;
+			if (minimum != null)
+				msgs = ((InternalEObject)minimum).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.EXECUTION_TIME__MINIMUM, null, msgs);
+			if (newMinimum != null)
+				msgs = ((InternalEObject)newMinimum).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.EXECUTION_TIME__MINIMUM, null, msgs);
+			msgs = basicSetMinimum(newMinimum, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.EXECUTION_TIME__MINIMUM, newMinimum, newMinimum));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MeasuredValue getMaximum() {
+		return maximum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetMaximum(MeasuredValue newMaximum, NotificationChain msgs) {
+		MeasuredValue oldMaximum = maximum;
+		maximum = newMaximum;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.EXECUTION_TIME__MAXIMUM, oldMaximum, newMaximum);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMaximum(MeasuredValue newMaximum) {
+		if (newMaximum != maximum) {
+			NotificationChain msgs = null;
+			if (maximum != null)
+				msgs = ((InternalEObject)maximum).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.EXECUTION_TIME__MAXIMUM, null, msgs);
+			if (newMaximum != null)
+				msgs = ((InternalEObject)newMaximum).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.EXECUTION_TIME__MAXIMUM, null, msgs);
+			msgs = basicSetMaximum(newMaximum, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.EXECUTION_TIME__MAXIMUM, newMaximum, newMaximum));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MeasuredValue getAverage() {
+		return average;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetAverage(MeasuredValue newAverage, NotificationChain msgs) {
+		MeasuredValue oldAverage = average;
+		average = newAverage;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.EXECUTION_TIME__AVERAGE, oldAverage, newAverage);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAverage(MeasuredValue newAverage) {
+		if (newAverage != average) {
+			NotificationChain msgs = null;
+			if (average != null)
+				msgs = ((InternalEObject)average).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.EXECUTION_TIME__AVERAGE, null, msgs);
+			if (newAverage != null)
+				msgs = ((InternalEObject)newAverage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.EXECUTION_TIME__AVERAGE, null, msgs);
+			msgs = basicSetAverage(newAverage, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.EXECUTION_TIME__AVERAGE, newAverage, newAverage));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case MonitoringxmlPackage.EXECUTION_TIME__MONITOREDRESOURCE:
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetMonitoredresource((MonitoredResource)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case MonitoringxmlPackage.EXECUTION_TIME__MONITOREDRESOURCE:
+				return basicSetMonitoredresource(null, msgs);
+			case MonitoringxmlPackage.EXECUTION_TIME__MINIMUM:
+				return basicSetMinimum(null, msgs);
+			case MonitoringxmlPackage.EXECUTION_TIME__MAXIMUM:
+				return basicSetMaximum(null, msgs);
+			case MonitoringxmlPackage.EXECUTION_TIME__AVERAGE:
+				return basicSetAverage(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+			case MonitoringxmlPackage.EXECUTION_TIME__MONITOREDRESOURCE:
+				return eInternalContainer().eInverseRemove(this, MonitoringxmlPackage.MONITORED_RESOURCE__EXECUTIONTIME, MonitoredResource.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MonitoringxmlPackage.EXECUTION_TIME__MONITOREDRESOURCE:
+				return getMonitoredresource();
+			case MonitoringxmlPackage.EXECUTION_TIME__MINIMUM:
+				return getMinimum();
+			case MonitoringxmlPackage.EXECUTION_TIME__MAXIMUM:
+				return getMaximum();
+			case MonitoringxmlPackage.EXECUTION_TIME__AVERAGE:
+				return getAverage();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case MonitoringxmlPackage.EXECUTION_TIME__MONITOREDRESOURCE:
+				setMonitoredresource((MonitoredResource)newValue);
+				return;
+			case MonitoringxmlPackage.EXECUTION_TIME__MINIMUM:
+				setMinimum((MeasuredValue)newValue);
+				return;
+			case MonitoringxmlPackage.EXECUTION_TIME__MAXIMUM:
+				setMaximum((MeasuredValue)newValue);
+				return;
+			case MonitoringxmlPackage.EXECUTION_TIME__AVERAGE:
+				setAverage((MeasuredValue)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MonitoringxmlPackage.EXECUTION_TIME__MONITOREDRESOURCE:
+				setMonitoredresource((MonitoredResource)null);
+				return;
+			case MonitoringxmlPackage.EXECUTION_TIME__MINIMUM:
+				setMinimum((MeasuredValue)null);
+				return;
+			case MonitoringxmlPackage.EXECUTION_TIME__MAXIMUM:
+				setMaximum((MeasuredValue)null);
+				return;
+			case MonitoringxmlPackage.EXECUTION_TIME__AVERAGE:
+				setAverage((MeasuredValue)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MonitoringxmlPackage.EXECUTION_TIME__MONITOREDRESOURCE:
+				return getMonitoredresource() != null;
+			case MonitoringxmlPackage.EXECUTION_TIME__MINIMUM:
+				return minimum != null;
+			case MonitoringxmlPackage.EXECUTION_TIME__MAXIMUM:
+				return maximum != null;
+			case MonitoringxmlPackage.EXECUTION_TIME__AVERAGE:
+				return average != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ExecutionTimeImpl
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MeasuredValueImpl.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MeasuredValueImpl.java
new file mode 100644
index 0000000..4e5f729
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MeasuredValueImpl.java
@@ -0,0 +1,226 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 Malardalen University, Sweden                     --
+--                                                                   --                      --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */ 
+package org.polarsys.chess.monitoring.monitoringxml.impl;
+
+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.MinimalEObjectImpl;
+import org.polarsys.chess.monitoring.monitoringxml.MeasuredValue;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Measured Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.MeasuredValueImpl#getUnit <em>Unit</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.MeasuredValueImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MeasuredValueImpl extends MinimalEObjectImpl.Container implements MeasuredValue {
+	/**
+	 * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUnit()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String UNIT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUnit()
+	 * @generated
+	 * @ordered
+	 */
+	protected String unit = UNIT_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 Float 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 Float value = VALUE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MeasuredValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return MonitoringxmlPackage.Literals.MEASURED_VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getUnit() {
+		return unit;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUnit(String newUnit) {
+		String oldUnit = unit;
+		unit = newUnit;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.MEASURED_VALUE__UNIT, oldUnit, unit));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Float getValue() {
+		return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValue(Float newValue) {
+		Float oldValue = value;
+		value = newValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.MEASURED_VALUE__VALUE, oldValue, value));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MonitoringxmlPackage.MEASURED_VALUE__UNIT:
+				return getUnit();
+			case MonitoringxmlPackage.MEASURED_VALUE__VALUE:
+				return getValue();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case MonitoringxmlPackage.MEASURED_VALUE__UNIT:
+				setUnit((String)newValue);
+				return;
+			case MonitoringxmlPackage.MEASURED_VALUE__VALUE:
+				setValue((Float)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MonitoringxmlPackage.MEASURED_VALUE__UNIT:
+				setUnit(UNIT_EDEFAULT);
+				return;
+			case MonitoringxmlPackage.MEASURED_VALUE__VALUE:
+				setValue(VALUE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MonitoringxmlPackage.MEASURED_VALUE__UNIT:
+				return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+			case MonitoringxmlPackage.MEASURED_VALUE__VALUE:
+				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+		}
+		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(" (unit: ");
+		result.append(unit);
+		result.append(", value: ");
+		result.append(value);
+		result.append(')');
+		return result.toString();
+	}
+
+} //MeasuredValueImpl
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/MonitoredResourceImpl.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MonitoredResourceImpl.java
similarity index 63%
rename from plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/MonitoredResourceImpl.java
rename to plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MonitoredResourceImpl.java
index f3395ed..35dd530 100644
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/MonitoredResourceImpl.java
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MonitoredResourceImpl.java
@@ -13,23 +13,20 @@
 -- http://www.eclipse.org/legal/epl-v10.html                         --
 -----------------------------------------------------------------------
   */ 
-package monitoringxml.impl;
-
-import monitoringxml.BlockingTime;
-import monitoringxml.ExecutionTime;
-import monitoringxml.MonitoredResource;
-import monitoringxml.MonitoringPackage;
-import monitoringxml.Period;
-import monitoringxml.ResponseTime;
+package org.polarsys.chess.monitoring.monitoringxml.impl;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
-
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
-
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.polarsys.chess.monitoring.monitoringxml.BlockingTime;
+import org.polarsys.chess.monitoring.monitoringxml.ExecutionTime;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoredResource;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
+import org.polarsys.chess.monitoring.monitoringxml.Period;
+import org.polarsys.chess.monitoring.monitoringxml.ResponseTime;
 
 /**
  * <!-- begin-user-doc -->
@@ -37,14 +34,14 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
- * </p>
  * <ul>
- *   <li>{@link monitoringxml.impl.MonitoredResourceImpl#getName <em>Name</em>}</li>
- *   <li>{@link monitoringxml.impl.MonitoredResourceImpl#getPeriod <em>Period</em>}</li>
- *   <li>{@link monitoringxml.impl.MonitoredResourceImpl#getExecutiontime <em>Executiontime</em>}</li>
- *   <li>{@link monitoringxml.impl.MonitoredResourceImpl#getBlockingtime <em>Blockingtime</em>}</li>
- *   <li>{@link monitoringxml.impl.MonitoredResourceImpl#getResponsetime <em>Responsetime</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.MonitoredResourceImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.MonitoredResourceImpl#getPeriod <em>Period</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.MonitoredResourceImpl#getExecutiontime <em>Executiontime</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.MonitoredResourceImpl#getBlockingtime <em>Blockingtime</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.MonitoredResourceImpl#getResponsetime <em>Responsetime</em>}</li>
  * </ul>
+ * </p>
  *
  * @generated
  */
@@ -70,7 +67,7 @@
 	protected String name = NAME_EDEFAULT;
 
 	/**
-	 * The cached value of the '{@link #getPeriod() <em>Period</em>}' reference.
+	 * The cached value of the '{@link #getPeriod() <em>Period</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getPeriod()
@@ -80,7 +77,7 @@
 	protected Period period;
 
 	/**
-	 * The cached value of the '{@link #getExecutiontime() <em>Executiontime</em>}' reference.
+	 * The cached value of the '{@link #getExecutiontime() <em>Executiontime</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getExecutiontime()
@@ -90,7 +87,7 @@
 	protected ExecutionTime executiontime;
 
 	/**
-	 * The cached value of the '{@link #getBlockingtime() <em>Blockingtime</em>}' reference.
+	 * The cached value of the '{@link #getBlockingtime() <em>Blockingtime</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getBlockingtime()
@@ -100,7 +97,7 @@
 	protected BlockingTime blockingtime;
 
 	/**
-	 * The cached value of the '{@link #getResponsetime() <em>Responsetime</em>}' reference.
+	 * The cached value of the '{@link #getResponsetime() <em>Responsetime</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getResponsetime()
@@ -125,7 +122,7 @@
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.MONITORED_RESOURCE;
+		return MonitoringxmlPackage.Literals.MONITORED_RESOURCE;
 	}
 
 	/**
@@ -146,7 +143,7 @@
 		String oldName = name;
 		name = newName;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORED_RESOURCE__NAME, oldName, name));
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.MONITORED_RESOURCE__NAME, oldName, name));
 	}
 
 	/**
@@ -155,23 +152,6 @@
 	 * @generated
 	 */
 	public Period getPeriod() {
-		if (period != null && period.eIsProxy()) {
-			InternalEObject oldPeriod = (InternalEObject)period;
-			period = (Period)eResolveProxy(oldPeriod);
-			if (period != oldPeriod) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, MonitoringPackage.MONITORED_RESOURCE__PERIOD, oldPeriod, period));
-			}
-		}
-		return period;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Period basicGetPeriod() {
 		return period;
 	}
 
@@ -184,7 +164,7 @@
 		Period oldPeriod = period;
 		period = newPeriod;
 		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORED_RESOURCE__PERIOD, oldPeriod, newPeriod);
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.MONITORED_RESOURCE__PERIOD, oldPeriod, newPeriod);
 			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
@@ -199,14 +179,14 @@
 		if (newPeriod != period) {
 			NotificationChain msgs = null;
 			if (period != null)
-				msgs = ((InternalEObject)period).eInverseRemove(this, MonitoringPackage.PERIOD__MONITOREDRESOURCE, Period.class, msgs);
+				msgs = ((InternalEObject)period).eInverseRemove(this, MonitoringxmlPackage.PERIOD__MONITOREDRESOURCE, Period.class, msgs);
 			if (newPeriod != null)
-				msgs = ((InternalEObject)newPeriod).eInverseAdd(this, MonitoringPackage.PERIOD__MONITOREDRESOURCE, Period.class, msgs);
+				msgs = ((InternalEObject)newPeriod).eInverseAdd(this, MonitoringxmlPackage.PERIOD__MONITOREDRESOURCE, Period.class, msgs);
 			msgs = basicSetPeriod(newPeriod, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORED_RESOURCE__PERIOD, newPeriod, newPeriod));
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.MONITORED_RESOURCE__PERIOD, newPeriod, newPeriod));
 	}
 
 	/**
@@ -215,23 +195,6 @@
 	 * @generated
 	 */
 	public ExecutionTime getExecutiontime() {
-		if (executiontime != null && executiontime.eIsProxy()) {
-			InternalEObject oldExecutiontime = (InternalEObject)executiontime;
-			executiontime = (ExecutionTime)eResolveProxy(oldExecutiontime);
-			if (executiontime != oldExecutiontime) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, MonitoringPackage.MONITORED_RESOURCE__EXECUTIONTIME, oldExecutiontime, executiontime));
-			}
-		}
-		return executiontime;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ExecutionTime basicGetExecutiontime() {
 		return executiontime;
 	}
 
@@ -244,7 +207,7 @@
 		ExecutionTime oldExecutiontime = executiontime;
 		executiontime = newExecutiontime;
 		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORED_RESOURCE__EXECUTIONTIME, oldExecutiontime, newExecutiontime);
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.MONITORED_RESOURCE__EXECUTIONTIME, oldExecutiontime, newExecutiontime);
 			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
@@ -259,14 +222,14 @@
 		if (newExecutiontime != executiontime) {
 			NotificationChain msgs = null;
 			if (executiontime != null)
-				msgs = ((InternalEObject)executiontime).eInverseRemove(this, MonitoringPackage.EXECUTION_TIME__MONITOREDRESOURCE, ExecutionTime.class, msgs);
+				msgs = ((InternalEObject)executiontime).eInverseRemove(this, MonitoringxmlPackage.EXECUTION_TIME__MONITOREDRESOURCE, ExecutionTime.class, msgs);
 			if (newExecutiontime != null)
-				msgs = ((InternalEObject)newExecutiontime).eInverseAdd(this, MonitoringPackage.EXECUTION_TIME__MONITOREDRESOURCE, ExecutionTime.class, msgs);
+				msgs = ((InternalEObject)newExecutiontime).eInverseAdd(this, MonitoringxmlPackage.EXECUTION_TIME__MONITOREDRESOURCE, ExecutionTime.class, msgs);
 			msgs = basicSetExecutiontime(newExecutiontime, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORED_RESOURCE__EXECUTIONTIME, newExecutiontime, newExecutiontime));
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.MONITORED_RESOURCE__EXECUTIONTIME, newExecutiontime, newExecutiontime));
 	}
 
 	/**
@@ -275,23 +238,6 @@
 	 * @generated
 	 */
 	public BlockingTime getBlockingtime() {
-		if (blockingtime != null && blockingtime.eIsProxy()) {
-			InternalEObject oldBlockingtime = (InternalEObject)blockingtime;
-			blockingtime = (BlockingTime)eResolveProxy(oldBlockingtime);
-			if (blockingtime != oldBlockingtime) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, MonitoringPackage.MONITORED_RESOURCE__BLOCKINGTIME, oldBlockingtime, blockingtime));
-			}
-		}
-		return blockingtime;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public BlockingTime basicGetBlockingtime() {
 		return blockingtime;
 	}
 
@@ -304,7 +250,7 @@
 		BlockingTime oldBlockingtime = blockingtime;
 		blockingtime = newBlockingtime;
 		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORED_RESOURCE__BLOCKINGTIME, oldBlockingtime, newBlockingtime);
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.MONITORED_RESOURCE__BLOCKINGTIME, oldBlockingtime, newBlockingtime);
 			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
@@ -319,14 +265,14 @@
 		if (newBlockingtime != blockingtime) {
 			NotificationChain msgs = null;
 			if (blockingtime != null)
-				msgs = ((InternalEObject)blockingtime).eInverseRemove(this, MonitoringPackage.BLOCKING_TIME__MONITOREDRESOURCE, BlockingTime.class, msgs);
+				msgs = ((InternalEObject)blockingtime).eInverseRemove(this, MonitoringxmlPackage.BLOCKING_TIME__MONITOREDRESOURCE, BlockingTime.class, msgs);
 			if (newBlockingtime != null)
-				msgs = ((InternalEObject)newBlockingtime).eInverseAdd(this, MonitoringPackage.BLOCKING_TIME__MONITOREDRESOURCE, BlockingTime.class, msgs);
+				msgs = ((InternalEObject)newBlockingtime).eInverseAdd(this, MonitoringxmlPackage.BLOCKING_TIME__MONITOREDRESOURCE, BlockingTime.class, msgs);
 			msgs = basicSetBlockingtime(newBlockingtime, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORED_RESOURCE__BLOCKINGTIME, newBlockingtime, newBlockingtime));
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.MONITORED_RESOURCE__BLOCKINGTIME, newBlockingtime, newBlockingtime));
 	}
 
 	/**
@@ -335,23 +281,6 @@
 	 * @generated
 	 */
 	public ResponseTime getResponsetime() {
-		if (responsetime != null && responsetime.eIsProxy()) {
-			InternalEObject oldResponsetime = (InternalEObject)responsetime;
-			responsetime = (ResponseTime)eResolveProxy(oldResponsetime);
-			if (responsetime != oldResponsetime) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, MonitoringPackage.MONITORED_RESOURCE__RESPONSETIME, oldResponsetime, responsetime));
-			}
-		}
-		return responsetime;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResponseTime basicGetResponsetime() {
 		return responsetime;
 	}
 
@@ -364,7 +293,7 @@
 		ResponseTime oldResponsetime = responsetime;
 		responsetime = newResponsetime;
 		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORED_RESOURCE__RESPONSETIME, oldResponsetime, newResponsetime);
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.MONITORED_RESOURCE__RESPONSETIME, oldResponsetime, newResponsetime);
 			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
@@ -379,14 +308,14 @@
 		if (newResponsetime != responsetime) {
 			NotificationChain msgs = null;
 			if (responsetime != null)
-				msgs = ((InternalEObject)responsetime).eInverseRemove(this, MonitoringPackage.RESPONSE_TIME__MONITOREDRESOURCE, ResponseTime.class, msgs);
+				msgs = ((InternalEObject)responsetime).eInverseRemove(this, MonitoringxmlPackage.RESPONSE_TIME__MONITOREDRESOURCE, ResponseTime.class, msgs);
 			if (newResponsetime != null)
-				msgs = ((InternalEObject)newResponsetime).eInverseAdd(this, MonitoringPackage.RESPONSE_TIME__MONITOREDRESOURCE, ResponseTime.class, msgs);
+				msgs = ((InternalEObject)newResponsetime).eInverseAdd(this, MonitoringxmlPackage.RESPONSE_TIME__MONITOREDRESOURCE, ResponseTime.class, msgs);
 			msgs = basicSetResponsetime(newResponsetime, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORED_RESOURCE__RESPONSETIME, newResponsetime, newResponsetime));
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.MONITORED_RESOURCE__RESPONSETIME, newResponsetime, newResponsetime));
 	}
 
 	/**
@@ -397,21 +326,21 @@
 	@Override
 	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORED_RESOURCE__PERIOD:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__PERIOD:
 				if (period != null)
-					msgs = ((InternalEObject)period).eInverseRemove(this, MonitoringPackage.PERIOD__MONITOREDRESOURCE, Period.class, msgs);
+					msgs = ((InternalEObject)period).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.MONITORED_RESOURCE__PERIOD, null, msgs);
 				return basicSetPeriod((Period)otherEnd, msgs);
-			case MonitoringPackage.MONITORED_RESOURCE__EXECUTIONTIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__EXECUTIONTIME:
 				if (executiontime != null)
-					msgs = ((InternalEObject)executiontime).eInverseRemove(this, MonitoringPackage.EXECUTION_TIME__MONITOREDRESOURCE, ExecutionTime.class, msgs);
+					msgs = ((InternalEObject)executiontime).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.MONITORED_RESOURCE__EXECUTIONTIME, null, msgs);
 				return basicSetExecutiontime((ExecutionTime)otherEnd, msgs);
-			case MonitoringPackage.MONITORED_RESOURCE__BLOCKINGTIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__BLOCKINGTIME:
 				if (blockingtime != null)
-					msgs = ((InternalEObject)blockingtime).eInverseRemove(this, MonitoringPackage.BLOCKING_TIME__MONITOREDRESOURCE, BlockingTime.class, msgs);
+					msgs = ((InternalEObject)blockingtime).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.MONITORED_RESOURCE__BLOCKINGTIME, null, msgs);
 				return basicSetBlockingtime((BlockingTime)otherEnd, msgs);
-			case MonitoringPackage.MONITORED_RESOURCE__RESPONSETIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__RESPONSETIME:
 				if (responsetime != null)
-					msgs = ((InternalEObject)responsetime).eInverseRemove(this, MonitoringPackage.RESPONSE_TIME__MONITOREDRESOURCE, ResponseTime.class, msgs);
+					msgs = ((InternalEObject)responsetime).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.MONITORED_RESOURCE__RESPONSETIME, null, msgs);
 				return basicSetResponsetime((ResponseTime)otherEnd, msgs);
 		}
 		return super.eInverseAdd(otherEnd, featureID, msgs);
@@ -425,13 +354,13 @@
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORED_RESOURCE__PERIOD:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__PERIOD:
 				return basicSetPeriod(null, msgs);
-			case MonitoringPackage.MONITORED_RESOURCE__EXECUTIONTIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__EXECUTIONTIME:
 				return basicSetExecutiontime(null, msgs);
-			case MonitoringPackage.MONITORED_RESOURCE__BLOCKINGTIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__BLOCKINGTIME:
 				return basicSetBlockingtime(null, msgs);
-			case MonitoringPackage.MONITORED_RESOURCE__RESPONSETIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__RESPONSETIME:
 				return basicSetResponsetime(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -445,20 +374,16 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORED_RESOURCE__NAME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__NAME:
 				return getName();
-			case MonitoringPackage.MONITORED_RESOURCE__PERIOD:
-				if (resolve) return getPeriod();
-				return basicGetPeriod();
-			case MonitoringPackage.MONITORED_RESOURCE__EXECUTIONTIME:
-				if (resolve) return getExecutiontime();
-				return basicGetExecutiontime();
-			case MonitoringPackage.MONITORED_RESOURCE__BLOCKINGTIME:
-				if (resolve) return getBlockingtime();
-				return basicGetBlockingtime();
-			case MonitoringPackage.MONITORED_RESOURCE__RESPONSETIME:
-				if (resolve) return getResponsetime();
-				return basicGetResponsetime();
+			case MonitoringxmlPackage.MONITORED_RESOURCE__PERIOD:
+				return getPeriod();
+			case MonitoringxmlPackage.MONITORED_RESOURCE__EXECUTIONTIME:
+				return getExecutiontime();
+			case MonitoringxmlPackage.MONITORED_RESOURCE__BLOCKINGTIME:
+				return getBlockingtime();
+			case MonitoringxmlPackage.MONITORED_RESOURCE__RESPONSETIME:
+				return getResponsetime();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -471,19 +396,19 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORED_RESOURCE__NAME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__NAME:
 				setName((String)newValue);
 				return;
-			case MonitoringPackage.MONITORED_RESOURCE__PERIOD:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__PERIOD:
 				setPeriod((Period)newValue);
 				return;
-			case MonitoringPackage.MONITORED_RESOURCE__EXECUTIONTIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__EXECUTIONTIME:
 				setExecutiontime((ExecutionTime)newValue);
 				return;
-			case MonitoringPackage.MONITORED_RESOURCE__BLOCKINGTIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__BLOCKINGTIME:
 				setBlockingtime((BlockingTime)newValue);
 				return;
-			case MonitoringPackage.MONITORED_RESOURCE__RESPONSETIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__RESPONSETIME:
 				setResponsetime((ResponseTime)newValue);
 				return;
 		}
@@ -498,19 +423,19 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORED_RESOURCE__NAME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__NAME:
 				setName(NAME_EDEFAULT);
 				return;
-			case MonitoringPackage.MONITORED_RESOURCE__PERIOD:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__PERIOD:
 				setPeriod((Period)null);
 				return;
-			case MonitoringPackage.MONITORED_RESOURCE__EXECUTIONTIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__EXECUTIONTIME:
 				setExecutiontime((ExecutionTime)null);
 				return;
-			case MonitoringPackage.MONITORED_RESOURCE__BLOCKINGTIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__BLOCKINGTIME:
 				setBlockingtime((BlockingTime)null);
 				return;
-			case MonitoringPackage.MONITORED_RESOURCE__RESPONSETIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__RESPONSETIME:
 				setResponsetime((ResponseTime)null);
 				return;
 		}
@@ -525,15 +450,15 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORED_RESOURCE__NAME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__NAME:
 				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case MonitoringPackage.MONITORED_RESOURCE__PERIOD:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__PERIOD:
 				return period != null;
-			case MonitoringPackage.MONITORED_RESOURCE__EXECUTIONTIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__EXECUTIONTIME:
 				return executiontime != null;
-			case MonitoringPackage.MONITORED_RESOURCE__BLOCKINGTIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__BLOCKINGTIME:
 				return blockingtime != null;
-			case MonitoringPackage.MONITORED_RESOURCE__RESPONSETIME:
+			case MonitoringxmlPackage.MONITORED_RESOURCE__RESPONSETIME:
 				return responsetime != null;
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/MonitoringImpl.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MonitoringImpl.java
similarity index 71%
rename from plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/MonitoringImpl.java
rename to plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MonitoringImpl.java
index c57d372..a78132a 100644
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/MonitoringImpl.java
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MonitoringImpl.java
@@ -13,28 +13,23 @@
 -- http://www.eclipse.org/legal/epl-v10.html                         --
 -----------------------------------------------------------------------
   */ 
-package monitoringxml.impl;
+package org.polarsys.chess.monitoring.monitoringxml.impl;
 
 import java.util.Collection;
 
-import monitoringxml.AnalysisContext;
-import monitoringxml.Monitoring;
-import monitoringxml.MonitoringPackage;
-import monitoringxml.Resource;
-
 import org.eclipse.emf.common.notify.Notification;
 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.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
+import org.polarsys.chess.monitoring.monitoringxml.AnalysisContext;
+import org.polarsys.chess.monitoring.monitoringxml.Monitoring;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
+import org.polarsys.chess.monitoring.monitoringxml.Resource;
 
 /**
  * <!-- begin-user-doc -->
@@ -42,12 +37,12 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
- * </p>
  * <ul>
- *   <li>{@link monitoringxml.impl.MonitoringImpl#getThreadNames <em>Thread Names</em>}</li>
- *   <li>{@link monitoringxml.impl.MonitoringImpl#getSharedResources <em>Shared Resources</em>}</li>
- *   <li>{@link monitoringxml.impl.MonitoringImpl#getAnalysisContext <em>Analysis Context</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringImpl#getThreadNames <em>Thread Names</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringImpl#getSharedResources <em>Shared Resources</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.MonitoringImpl#getAnalysisContext <em>Analysis Context</em>}</li>
  * </ul>
+ * </p>
  *
  * @generated
  */
@@ -60,7 +55,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected EList<monitoringxml.Thread> threadNames;
+	protected EList<org.polarsys.chess.monitoring.monitoringxml.Thread> threadNames;
 
 	/**
 	 * The cached value of the '{@link #getSharedResources() <em>Shared Resources</em>}' containment reference list.
@@ -98,7 +93,7 @@
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.MONITORING;
+		return MonitoringxmlPackage.Literals.MONITORING;
 	}
 
 	/**
@@ -106,9 +101,9 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EList<monitoringxml.Thread> getThreadNames() {
+	public EList<org.polarsys.chess.monitoring.monitoringxml.Thread> getThreadNames() {
 		if (threadNames == null) {
-			threadNames = new EObjectContainmentEList<monitoringxml.Thread>(monitoringxml.Thread.class, this, MonitoringPackage.MONITORING__THREAD_NAMES);
+			threadNames = new EObjectContainmentEList<org.polarsys.chess.monitoring.monitoringxml.Thread>(org.polarsys.chess.monitoring.monitoringxml.Thread.class, this, MonitoringxmlPackage.MONITORING__THREAD_NAMES);
 		}
 		return threadNames;
 	}
@@ -120,7 +115,7 @@
 	 */
 	public EList<Resource> getSharedResources() {
 		if (sharedResources == null) {
-			sharedResources = new EObjectContainmentEList<Resource>(Resource.class, this, MonitoringPackage.MONITORING__SHARED_RESOURCES);
+			sharedResources = new EObjectContainmentEList<Resource>(Resource.class, this, MonitoringxmlPackage.MONITORING__SHARED_RESOURCES);
 		}
 		return sharedResources;
 	}
@@ -143,7 +138,7 @@
 		AnalysisContext oldAnalysisContext = analysisContext;
 		analysisContext = newAnalysisContext;
 		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORING__ANALYSIS_CONTEXT, oldAnalysisContext, newAnalysisContext);
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.MONITORING__ANALYSIS_CONTEXT, oldAnalysisContext, newAnalysisContext);
 			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
@@ -158,14 +153,14 @@
 		if (newAnalysisContext != analysisContext) {
 			NotificationChain msgs = null;
 			if (analysisContext != null)
-				msgs = ((InternalEObject)analysisContext).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringPackage.MONITORING__ANALYSIS_CONTEXT, null, msgs);
+				msgs = ((InternalEObject)analysisContext).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.MONITORING__ANALYSIS_CONTEXT, null, msgs);
 			if (newAnalysisContext != null)
-				msgs = ((InternalEObject)newAnalysisContext).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringPackage.MONITORING__ANALYSIS_CONTEXT, null, msgs);
+				msgs = ((InternalEObject)newAnalysisContext).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.MONITORING__ANALYSIS_CONTEXT, null, msgs);
 			msgs = basicSetAnalysisContext(newAnalysisContext, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringPackage.MONITORING__ANALYSIS_CONTEXT, newAnalysisContext, newAnalysisContext));
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.MONITORING__ANALYSIS_CONTEXT, newAnalysisContext, newAnalysisContext));
 	}
 
 	/**
@@ -176,11 +171,11 @@
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORING__THREAD_NAMES:
+			case MonitoringxmlPackage.MONITORING__THREAD_NAMES:
 				return ((InternalEList<?>)getThreadNames()).basicRemove(otherEnd, msgs);
-			case MonitoringPackage.MONITORING__SHARED_RESOURCES:
+			case MonitoringxmlPackage.MONITORING__SHARED_RESOURCES:
 				return ((InternalEList<?>)getSharedResources()).basicRemove(otherEnd, msgs);
-			case MonitoringPackage.MONITORING__ANALYSIS_CONTEXT:
+			case MonitoringxmlPackage.MONITORING__ANALYSIS_CONTEXT:
 				return basicSetAnalysisContext(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -194,11 +189,11 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORING__THREAD_NAMES:
+			case MonitoringxmlPackage.MONITORING__THREAD_NAMES:
 				return getThreadNames();
-			case MonitoringPackage.MONITORING__SHARED_RESOURCES:
+			case MonitoringxmlPackage.MONITORING__SHARED_RESOURCES:
 				return getSharedResources();
-			case MonitoringPackage.MONITORING__ANALYSIS_CONTEXT:
+			case MonitoringxmlPackage.MONITORING__ANALYSIS_CONTEXT:
 				return getAnalysisContext();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -213,15 +208,15 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORING__THREAD_NAMES:
+			case MonitoringxmlPackage.MONITORING__THREAD_NAMES:
 				getThreadNames().clear();
-				getThreadNames().addAll((Collection<? extends monitoringxml.Thread>)newValue);
+				getThreadNames().addAll((Collection<? extends org.polarsys.chess.monitoring.monitoringxml.Thread>)newValue);
 				return;
-			case MonitoringPackage.MONITORING__SHARED_RESOURCES:
+			case MonitoringxmlPackage.MONITORING__SHARED_RESOURCES:
 				getSharedResources().clear();
 				getSharedResources().addAll((Collection<? extends Resource>)newValue);
 				return;
-			case MonitoringPackage.MONITORING__ANALYSIS_CONTEXT:
+			case MonitoringxmlPackage.MONITORING__ANALYSIS_CONTEXT:
 				setAnalysisContext((AnalysisContext)newValue);
 				return;
 		}
@@ -236,13 +231,13 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORING__THREAD_NAMES:
+			case MonitoringxmlPackage.MONITORING__THREAD_NAMES:
 				getThreadNames().clear();
 				return;
-			case MonitoringPackage.MONITORING__SHARED_RESOURCES:
+			case MonitoringxmlPackage.MONITORING__SHARED_RESOURCES:
 				getSharedResources().clear();
 				return;
-			case MonitoringPackage.MONITORING__ANALYSIS_CONTEXT:
+			case MonitoringxmlPackage.MONITORING__ANALYSIS_CONTEXT:
 				setAnalysisContext((AnalysisContext)null);
 				return;
 		}
@@ -257,11 +252,11 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case MonitoringPackage.MONITORING__THREAD_NAMES:
+			case MonitoringxmlPackage.MONITORING__THREAD_NAMES:
 				return threadNames != null && !threadNames.isEmpty();
-			case MonitoringPackage.MONITORING__SHARED_RESOURCES:
+			case MonitoringxmlPackage.MONITORING__SHARED_RESOURCES:
 				return sharedResources != null && !sharedResources.isEmpty();
-			case MonitoringPackage.MONITORING__ANALYSIS_CONTEXT:
+			case MonitoringxmlPackage.MONITORING__ANALYSIS_CONTEXT:
 				return analysisContext != null;
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/MonitoringFactoryImpl.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MonitoringxmlFactoryImpl.java
similarity index 61%
rename from plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/MonitoringFactoryImpl.java
rename to plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MonitoringxmlFactoryImpl.java
index 559eac1..7d24cbf 100644
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/MonitoringFactoryImpl.java
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MonitoringxmlFactoryImpl.java
@@ -13,25 +13,23 @@
 -- http://www.eclipse.org/legal/epl-v10.html                         --
 -----------------------------------------------------------------------
   */ 
-package monitoringxml.impl;
-
-import monitoringxml.AnalysisContext;
-import monitoringxml.BlockingTime;
-import monitoringxml.ExecutionTime;
-import monitoringxml.Monitoring;
-import monitoringxml.MonitoringFactory;
-import monitoringxml.MonitoringPackage;
-import monitoringxml.Period;
-import monitoringxml.Resource;
-import monitoringxml.ResponseTime;
+package org.polarsys.chess.monitoring.monitoringxml.impl;
 
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
-
 import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
 import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.chess.monitoring.monitoringxml.AnalysisContext;
+import org.polarsys.chess.monitoring.monitoringxml.BlockingTime;
+import org.polarsys.chess.monitoring.monitoringxml.ExecutionTime;
+import org.polarsys.chess.monitoring.monitoringxml.MeasuredValue;
+import org.polarsys.chess.monitoring.monitoringxml.Monitoring;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlFactory;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
+import org.polarsys.chess.monitoring.monitoringxml.Period;
+import org.polarsys.chess.monitoring.monitoringxml.Resource;
+import org.polarsys.chess.monitoring.monitoringxml.ResponseTime;
 
 /**
  * <!-- begin-user-doc -->
@@ -39,24 +37,24 @@
  * <!-- end-user-doc -->
  * @generated
  */
-public class MonitoringFactoryImpl extends EFactoryImpl implements MonitoringFactory {
+public class MonitoringxmlFactoryImpl extends EFactoryImpl implements MonitoringxmlFactory {
 	/**
 	 * Creates the default factory implementation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static MonitoringFactory init() {
+	public static MonitoringxmlFactory init() {
 		try {
-			MonitoringFactory theMonitoringFactory = (MonitoringFactory)EPackage.Registry.INSTANCE.getEFactory(MonitoringPackage.eNS_URI);
-			if (theMonitoringFactory != null) {
-				return theMonitoringFactory;
+			MonitoringxmlFactory theMonitoringxmlFactory = (MonitoringxmlFactory)EPackage.Registry.INSTANCE.getEFactory(MonitoringxmlPackage.eNS_URI);
+			if (theMonitoringxmlFactory != null) {
+				return theMonitoringxmlFactory;
 			}
 		}
 		catch (Exception exception) {
 			EcorePlugin.INSTANCE.log(exception);
 		}
-		return new MonitoringFactoryImpl();
+		return new MonitoringxmlFactoryImpl();
 	}
 
 	/**
@@ -65,7 +63,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public MonitoringFactoryImpl() {
+	public MonitoringxmlFactoryImpl() {
 		super();
 	}
 
@@ -77,14 +75,15 @@
 	@Override
 	public EObject create(EClass eClass) {
 		switch (eClass.getClassifierID()) {
-			case MonitoringPackage.MONITORING: return createMonitoring();
-			case MonitoringPackage.THREAD: return createThread();
-			case MonitoringPackage.RESOURCE: return createResource();
-			case MonitoringPackage.PERIOD: return createPeriod();
-			case MonitoringPackage.EXECUTION_TIME: return createExecutionTime();
-			case MonitoringPackage.BLOCKING_TIME: return createBlockingTime();
-			case MonitoringPackage.RESPONSE_TIME: return createResponseTime();
-			case MonitoringPackage.ANALYSIS_CONTEXT: return createAnalysisContext();
+			case MonitoringxmlPackage.MONITORING: return createMonitoring();
+			case MonitoringxmlPackage.THREAD: return createThread();
+			case MonitoringxmlPackage.RESOURCE: return createResource();
+			case MonitoringxmlPackage.PERIOD: return createPeriod();
+			case MonitoringxmlPackage.EXECUTION_TIME: return createExecutionTime();
+			case MonitoringxmlPackage.BLOCKING_TIME: return createBlockingTime();
+			case MonitoringxmlPackage.RESPONSE_TIME: return createResponseTime();
+			case MonitoringxmlPackage.ANALYSIS_CONTEXT: return createAnalysisContext();
+			case MonitoringxmlPackage.MEASURED_VALUE: return createMeasuredValue();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
 		}
@@ -105,7 +104,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public monitoringxml.Thread createThread() {
+	public org.polarsys.chess.monitoring.monitoringxml.Thread createThread() {
 		ThreadImpl thread = new ThreadImpl();
 		return thread;
 	}
@@ -175,8 +174,18 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public MonitoringPackage getMonitoringPackage() {
-		return (MonitoringPackage)getEPackage();
+	public MeasuredValue createMeasuredValue() {
+		MeasuredValueImpl measuredValue = new MeasuredValueImpl();
+		return measuredValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MonitoringxmlPackage getMonitoringxmlPackage() {
+		return (MonitoringxmlPackage)getEPackage();
 	}
 
 	/**
@@ -186,8 +195,8 @@
 	 * @generated
 	 */
 	@Deprecated
-	public static MonitoringPackage getPackage() {
-		return MonitoringPackage.eINSTANCE;
+	public static MonitoringxmlPackage getPackage() {
+		return MonitoringxmlPackage.eINSTANCE;
 	}
 
-} //MonitoringFactoryImpl
+} //MonitoringxmlFactoryImpl
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MonitoringxmlPackageImpl.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MonitoringxmlPackageImpl.java
new file mode 100644
index 0000000..edc5928
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/MonitoringxmlPackageImpl.java
@@ -0,0 +1,674 @@
+/**
+ */
+package org.polarsys.chess.monitoring.monitoringxml.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.polarsys.chess.monitoring.monitoringxml.AnalysisContext;
+import org.polarsys.chess.monitoring.monitoringxml.BlockingTime;
+import org.polarsys.chess.monitoring.monitoringxml.ExecutionTime;
+import org.polarsys.chess.monitoring.monitoringxml.MeasuredValue;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoredResource;
+import org.polarsys.chess.monitoring.monitoringxml.Monitoring;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlFactory;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
+import org.polarsys.chess.monitoring.monitoringxml.Period;
+import org.polarsys.chess.monitoring.monitoringxml.Resource;
+import org.polarsys.chess.monitoring.monitoringxml.ResponseTime;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MonitoringxmlPackageImpl extends EPackageImpl implements MonitoringxmlPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass monitoringEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass threadEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass resourceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass periodEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass monitoredResourceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass executionTimeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass blockingTimeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass responseTimeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass analysisContextEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass measuredValueEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private MonitoringxmlPackageImpl() {
+		super(eNS_URI, MonitoringxmlFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link MonitoringxmlPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static MonitoringxmlPackage init() {
+		if (isInited) return (MonitoringxmlPackage)EPackage.Registry.INSTANCE.getEPackage(MonitoringxmlPackage.eNS_URI);
+
+		// Obtain or create and register package
+		MonitoringxmlPackageImpl theMonitoringxmlPackage = (MonitoringxmlPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof MonitoringxmlPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new MonitoringxmlPackageImpl());
+
+		isInited = true;
+
+		// Create package meta-data objects
+		theMonitoringxmlPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theMonitoringxmlPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theMonitoringxmlPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(MonitoringxmlPackage.eNS_URI, theMonitoringxmlPackage);
+		return theMonitoringxmlPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMonitoring() {
+		return monitoringEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMonitoring_ThreadNames() {
+		return (EReference)monitoringEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMonitoring_SharedResources() {
+		return (EReference)monitoringEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMonitoring_AnalysisContext() {
+		return (EReference)monitoringEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getThread() {
+		return threadEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getResource() {
+		return resourceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPeriod() {
+		return periodEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPeriod_Monitoredresource() {
+		return (EReference)periodEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPeriod_Minimum() {
+		return (EReference)periodEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPeriod_Maximum() {
+		return (EReference)periodEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPeriod_Average() {
+		return (EReference)periodEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPeriod_Jitter() {
+		return (EReference)periodEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMonitoredResource() {
+		return monitoredResourceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoredResource_Name() {
+		return (EAttribute)monitoredResourceEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMonitoredResource_Period() {
+		return (EReference)monitoredResourceEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMonitoredResource_Executiontime() {
+		return (EReference)monitoredResourceEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMonitoredResource_Blockingtime() {
+		return (EReference)monitoredResourceEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMonitoredResource_Responsetime() {
+		return (EReference)monitoredResourceEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getExecutionTime() {
+		return executionTimeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getExecutionTime_Monitoredresource() {
+		return (EReference)executionTimeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getExecutionTime_Minimum() {
+		return (EReference)executionTimeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getExecutionTime_Maximum() {
+		return (EReference)executionTimeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getExecutionTime_Average() {
+		return (EReference)executionTimeEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getBlockingTime() {
+		return blockingTimeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getBlockingTime_Monitoredresource() {
+		return (EReference)blockingTimeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getBlockingTime_Minimum() {
+		return (EReference)blockingTimeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getBlockingTime_Maximum() {
+		return (EReference)blockingTimeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getBlockingTime_Average() {
+		return (EReference)blockingTimeEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getResponseTime() {
+		return responseTimeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getResponseTime_Monitoredresource() {
+		return (EReference)responseTimeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getResponseTime_Minimum() {
+		return (EReference)responseTimeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getResponseTime_Maximum() {
+		return (EReference)responseTimeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getResponseTime_Average() {
+		return (EReference)responseTimeEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getResponseTime_Jitter() {
+		return (EReference)responseTimeEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAnalysisContext() {
+		return analysisContextEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getAnalysisContext_Name() {
+		return (EAttribute)analysisContextEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMeasuredValue() {
+		return measuredValueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMeasuredValue_Unit() {
+		return (EAttribute)measuredValueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMeasuredValue_Value() {
+		return (EAttribute)measuredValueEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MonitoringxmlFactory getMonitoringxmlFactory() {
+		return (MonitoringxmlFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		monitoringEClass = createEClass(MONITORING);
+		createEReference(monitoringEClass, MONITORING__THREAD_NAMES);
+		createEReference(monitoringEClass, MONITORING__SHARED_RESOURCES);
+		createEReference(monitoringEClass, MONITORING__ANALYSIS_CONTEXT);
+
+		threadEClass = createEClass(THREAD);
+
+		resourceEClass = createEClass(RESOURCE);
+
+		periodEClass = createEClass(PERIOD);
+		createEReference(periodEClass, PERIOD__MONITOREDRESOURCE);
+		createEReference(periodEClass, PERIOD__MINIMUM);
+		createEReference(periodEClass, PERIOD__MAXIMUM);
+		createEReference(periodEClass, PERIOD__AVERAGE);
+		createEReference(periodEClass, PERIOD__JITTER);
+
+		monitoredResourceEClass = createEClass(MONITORED_RESOURCE);
+		createEAttribute(monitoredResourceEClass, MONITORED_RESOURCE__NAME);
+		createEReference(monitoredResourceEClass, MONITORED_RESOURCE__PERIOD);
+		createEReference(monitoredResourceEClass, MONITORED_RESOURCE__EXECUTIONTIME);
+		createEReference(monitoredResourceEClass, MONITORED_RESOURCE__BLOCKINGTIME);
+		createEReference(monitoredResourceEClass, MONITORED_RESOURCE__RESPONSETIME);
+
+		executionTimeEClass = createEClass(EXECUTION_TIME);
+		createEReference(executionTimeEClass, EXECUTION_TIME__MONITOREDRESOURCE);
+		createEReference(executionTimeEClass, EXECUTION_TIME__MINIMUM);
+		createEReference(executionTimeEClass, EXECUTION_TIME__MAXIMUM);
+		createEReference(executionTimeEClass, EXECUTION_TIME__AVERAGE);
+
+		blockingTimeEClass = createEClass(BLOCKING_TIME);
+		createEReference(blockingTimeEClass, BLOCKING_TIME__MONITOREDRESOURCE);
+		createEReference(blockingTimeEClass, BLOCKING_TIME__MINIMUM);
+		createEReference(blockingTimeEClass, BLOCKING_TIME__MAXIMUM);
+		createEReference(blockingTimeEClass, BLOCKING_TIME__AVERAGE);
+
+		responseTimeEClass = createEClass(RESPONSE_TIME);
+		createEReference(responseTimeEClass, RESPONSE_TIME__MONITOREDRESOURCE);
+		createEReference(responseTimeEClass, RESPONSE_TIME__MINIMUM);
+		createEReference(responseTimeEClass, RESPONSE_TIME__MAXIMUM);
+		createEReference(responseTimeEClass, RESPONSE_TIME__AVERAGE);
+		createEReference(responseTimeEClass, RESPONSE_TIME__JITTER);
+
+		analysisContextEClass = createEClass(ANALYSIS_CONTEXT);
+		createEAttribute(analysisContextEClass, ANALYSIS_CONTEXT__NAME);
+
+		measuredValueEClass = createEClass(MEASURED_VALUE);
+		createEAttribute(measuredValueEClass, MEASURED_VALUE__UNIT);
+		createEAttribute(measuredValueEClass, MEASURED_VALUE__VALUE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		threadEClass.getESuperTypes().add(this.getMonitoredResource());
+		resourceEClass.getESuperTypes().add(this.getMonitoredResource());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(monitoringEClass, Monitoring.class, "Monitoring", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getMonitoring_ThreadNames(), this.getThread(), null, "ThreadNames", null, 0, -1, Monitoring.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getMonitoring_SharedResources(), this.getResource(), null, "SharedResources", null, 0, -1, Monitoring.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getMonitoring_AnalysisContext(), this.getAnalysisContext(), null, "analysisContext", null, 1, 1, Monitoring.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(threadEClass, org.polarsys.chess.monitoring.monitoringxml.Thread.class, "Thread", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(periodEClass, Period.class, "Period", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getPeriod_Monitoredresource(), this.getMonitoredResource(), this.getMonitoredResource_Period(), "monitoredresource", null, 0, 1, Period.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPeriod_Minimum(), this.getMeasuredValue(), null, "minimum", null, 0, 1, Period.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPeriod_Maximum(), this.getMeasuredValue(), null, "maximum", null, 0, 1, Period.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPeriod_Average(), this.getMeasuredValue(), null, "average", null, 0, 1, Period.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPeriod_Jitter(), this.getMeasuredValue(), null, "jitter", null, 0, 1, Period.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(monitoredResourceEClass, MonitoredResource.class, "MonitoredResource", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMonitoredResource_Name(), ecorePackage.getEString(), "name", null, 0, 1, MonitoredResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getMonitoredResource_Period(), this.getPeriod(), this.getPeriod_Monitoredresource(), "period", null, 0, 1, MonitoredResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getMonitoredResource_Executiontime(), this.getExecutionTime(), this.getExecutionTime_Monitoredresource(), "executiontime", null, 0, 1, MonitoredResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getMonitoredResource_Blockingtime(), this.getBlockingTime(), this.getBlockingTime_Monitoredresource(), "blockingtime", null, 0, 1, MonitoredResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getMonitoredResource_Responsetime(), this.getResponseTime(), this.getResponseTime_Monitoredresource(), "responsetime", null, 0, 1, MonitoredResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(executionTimeEClass, ExecutionTime.class, "ExecutionTime", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getExecutionTime_Monitoredresource(), this.getMonitoredResource(), this.getMonitoredResource_Executiontime(), "monitoredresource", null, 0, 1, ExecutionTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getExecutionTime_Minimum(), this.getMeasuredValue(), null, "minimum", null, 0, 1, ExecutionTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getExecutionTime_Maximum(), this.getMeasuredValue(), null, "maximum", null, 0, 1, ExecutionTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getExecutionTime_Average(), this.getMeasuredValue(), null, "average", null, 0, 1, ExecutionTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(blockingTimeEClass, BlockingTime.class, "BlockingTime", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getBlockingTime_Monitoredresource(), this.getMonitoredResource(), this.getMonitoredResource_Blockingtime(), "monitoredresource", null, 0, 1, BlockingTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getBlockingTime_Minimum(), this.getMeasuredValue(), null, "minimum", null, 0, 1, BlockingTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getBlockingTime_Maximum(), this.getMeasuredValue(), null, "maximum", null, 0, 1, BlockingTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getBlockingTime_Average(), this.getMeasuredValue(), null, "average", null, 0, 1, BlockingTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(responseTimeEClass, ResponseTime.class, "ResponseTime", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getResponseTime_Monitoredresource(), this.getMonitoredResource(), this.getMonitoredResource_Responsetime(), "monitoredresource", null, 0, 1, ResponseTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getResponseTime_Minimum(), this.getMeasuredValue(), null, "minimum", null, 0, 1, ResponseTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getResponseTime_Maximum(), this.getMeasuredValue(), null, "maximum", null, 0, 1, ResponseTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getResponseTime_Average(), this.getMeasuredValue(), null, "average", null, 0, 1, ResponseTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getResponseTime_Jitter(), this.getMeasuredValue(), null, "jitter", null, 0, 1, ResponseTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(analysisContextEClass, AnalysisContext.class, "AnalysisContext", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getAnalysisContext_Name(), ecorePackage.getEString(), "name", null, 0, 1, AnalysisContext.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(measuredValueEClass, MeasuredValue.class, "MeasuredValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMeasuredValue_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, MeasuredValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMeasuredValue_Value(), ecorePackage.getEFloatObject(), "value", null, 0, 1, MeasuredValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		// Create resource
+		createResource(eNS_URI);
+	}
+
+} //MonitoringxmlPackageImpl
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/PeriodImpl.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/PeriodImpl.java
new file mode 100644
index 0000000..2cfa75a
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/PeriodImpl.java
@@ -0,0 +1,470 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi azovi@math.unipd.it                       --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */ 
+package org.polarsys.chess.monitoring.monitoringxml.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.polarsys.chess.monitoring.monitoringxml.MeasuredValue;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoredResource;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
+import org.polarsys.chess.monitoring.monitoringxml.Period;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Period</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.PeriodImpl#getMonitoredresource <em>Monitoredresource</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.PeriodImpl#getMinimum <em>Minimum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.PeriodImpl#getMaximum <em>Maximum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.PeriodImpl#getAverage <em>Average</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.PeriodImpl#getJitter <em>Jitter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PeriodImpl extends MinimalEObjectImpl.Container implements Period {
+	/**
+	 * The cached value of the '{@link #getMinimum() <em>Minimum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinimum()
+	 * @generated
+	 * @ordered
+	 */
+	protected MeasuredValue minimum;
+
+	/**
+	 * The cached value of the '{@link #getMaximum() <em>Maximum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaximum()
+	 * @generated
+	 * @ordered
+	 */
+	protected MeasuredValue maximum;
+
+	/**
+	 * The cached value of the '{@link #getAverage() <em>Average</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAverage()
+	 * @generated
+	 * @ordered
+	 */
+	protected MeasuredValue average;
+
+	/**
+	 * The cached value of the '{@link #getJitter() <em>Jitter</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getJitter()
+	 * @generated
+	 * @ordered
+	 */
+	protected MeasuredValue jitter;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PeriodImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return MonitoringxmlPackage.Literals.PERIOD;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MonitoredResource getMonitoredresource() {
+		if (eContainerFeatureID() != MonitoringxmlPackage.PERIOD__MONITOREDRESOURCE) return null;
+		return (MonitoredResource)eInternalContainer();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetMonitoredresource(MonitoredResource newMonitoredresource, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newMonitoredresource, MonitoringxmlPackage.PERIOD__MONITOREDRESOURCE, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMonitoredresource(MonitoredResource newMonitoredresource) {
+		if (newMonitoredresource != eInternalContainer() || (eContainerFeatureID() != MonitoringxmlPackage.PERIOD__MONITOREDRESOURCE && newMonitoredresource != null)) {
+			if (EcoreUtil.isAncestor(this, newMonitoredresource))
+				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+			NotificationChain msgs = null;
+			if (eInternalContainer() != null)
+				msgs = eBasicRemoveFromContainer(msgs);
+			if (newMonitoredresource != null)
+				msgs = ((InternalEObject)newMonitoredresource).eInverseAdd(this, MonitoringxmlPackage.MONITORED_RESOURCE__PERIOD, MonitoredResource.class, msgs);
+			msgs = basicSetMonitoredresource(newMonitoredresource, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.PERIOD__MONITOREDRESOURCE, newMonitoredresource, newMonitoredresource));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MeasuredValue getMinimum() {
+		return minimum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetMinimum(MeasuredValue newMinimum, NotificationChain msgs) {
+		MeasuredValue oldMinimum = minimum;
+		minimum = newMinimum;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.PERIOD__MINIMUM, oldMinimum, newMinimum);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMinimum(MeasuredValue newMinimum) {
+		if (newMinimum != minimum) {
+			NotificationChain msgs = null;
+			if (minimum != null)
+				msgs = ((InternalEObject)minimum).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.PERIOD__MINIMUM, null, msgs);
+			if (newMinimum != null)
+				msgs = ((InternalEObject)newMinimum).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.PERIOD__MINIMUM, null, msgs);
+			msgs = basicSetMinimum(newMinimum, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.PERIOD__MINIMUM, newMinimum, newMinimum));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MeasuredValue getMaximum() {
+		return maximum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetMaximum(MeasuredValue newMaximum, NotificationChain msgs) {
+		MeasuredValue oldMaximum = maximum;
+		maximum = newMaximum;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.PERIOD__MAXIMUM, oldMaximum, newMaximum);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMaximum(MeasuredValue newMaximum) {
+		if (newMaximum != maximum) {
+			NotificationChain msgs = null;
+			if (maximum != null)
+				msgs = ((InternalEObject)maximum).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.PERIOD__MAXIMUM, null, msgs);
+			if (newMaximum != null)
+				msgs = ((InternalEObject)newMaximum).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.PERIOD__MAXIMUM, null, msgs);
+			msgs = basicSetMaximum(newMaximum, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.PERIOD__MAXIMUM, newMaximum, newMaximum));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MeasuredValue getAverage() {
+		return average;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetAverage(MeasuredValue newAverage, NotificationChain msgs) {
+		MeasuredValue oldAverage = average;
+		average = newAverage;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.PERIOD__AVERAGE, oldAverage, newAverage);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAverage(MeasuredValue newAverage) {
+		if (newAverage != average) {
+			NotificationChain msgs = null;
+			if (average != null)
+				msgs = ((InternalEObject)average).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.PERIOD__AVERAGE, null, msgs);
+			if (newAverage != null)
+				msgs = ((InternalEObject)newAverage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.PERIOD__AVERAGE, null, msgs);
+			msgs = basicSetAverage(newAverage, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.PERIOD__AVERAGE, newAverage, newAverage));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MeasuredValue getJitter() {
+		return jitter;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetJitter(MeasuredValue newJitter, NotificationChain msgs) {
+		MeasuredValue oldJitter = jitter;
+		jitter = newJitter;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.PERIOD__JITTER, oldJitter, newJitter);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setJitter(MeasuredValue newJitter) {
+		if (newJitter != jitter) {
+			NotificationChain msgs = null;
+			if (jitter != null)
+				msgs = ((InternalEObject)jitter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.PERIOD__JITTER, null, msgs);
+			if (newJitter != null)
+				msgs = ((InternalEObject)newJitter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.PERIOD__JITTER, null, msgs);
+			msgs = basicSetJitter(newJitter, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.PERIOD__JITTER, newJitter, newJitter));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case MonitoringxmlPackage.PERIOD__MONITOREDRESOURCE:
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetMonitoredresource((MonitoredResource)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case MonitoringxmlPackage.PERIOD__MONITOREDRESOURCE:
+				return basicSetMonitoredresource(null, msgs);
+			case MonitoringxmlPackage.PERIOD__MINIMUM:
+				return basicSetMinimum(null, msgs);
+			case MonitoringxmlPackage.PERIOD__MAXIMUM:
+				return basicSetMaximum(null, msgs);
+			case MonitoringxmlPackage.PERIOD__AVERAGE:
+				return basicSetAverage(null, msgs);
+			case MonitoringxmlPackage.PERIOD__JITTER:
+				return basicSetJitter(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+			case MonitoringxmlPackage.PERIOD__MONITOREDRESOURCE:
+				return eInternalContainer().eInverseRemove(this, MonitoringxmlPackage.MONITORED_RESOURCE__PERIOD, MonitoredResource.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MonitoringxmlPackage.PERIOD__MONITOREDRESOURCE:
+				return getMonitoredresource();
+			case MonitoringxmlPackage.PERIOD__MINIMUM:
+				return getMinimum();
+			case MonitoringxmlPackage.PERIOD__MAXIMUM:
+				return getMaximum();
+			case MonitoringxmlPackage.PERIOD__AVERAGE:
+				return getAverage();
+			case MonitoringxmlPackage.PERIOD__JITTER:
+				return getJitter();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case MonitoringxmlPackage.PERIOD__MONITOREDRESOURCE:
+				setMonitoredresource((MonitoredResource)newValue);
+				return;
+			case MonitoringxmlPackage.PERIOD__MINIMUM:
+				setMinimum((MeasuredValue)newValue);
+				return;
+			case MonitoringxmlPackage.PERIOD__MAXIMUM:
+				setMaximum((MeasuredValue)newValue);
+				return;
+			case MonitoringxmlPackage.PERIOD__AVERAGE:
+				setAverage((MeasuredValue)newValue);
+				return;
+			case MonitoringxmlPackage.PERIOD__JITTER:
+				setJitter((MeasuredValue)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MonitoringxmlPackage.PERIOD__MONITOREDRESOURCE:
+				setMonitoredresource((MonitoredResource)null);
+				return;
+			case MonitoringxmlPackage.PERIOD__MINIMUM:
+				setMinimum((MeasuredValue)null);
+				return;
+			case MonitoringxmlPackage.PERIOD__MAXIMUM:
+				setMaximum((MeasuredValue)null);
+				return;
+			case MonitoringxmlPackage.PERIOD__AVERAGE:
+				setAverage((MeasuredValue)null);
+				return;
+			case MonitoringxmlPackage.PERIOD__JITTER:
+				setJitter((MeasuredValue)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MonitoringxmlPackage.PERIOD__MONITOREDRESOURCE:
+				return getMonitoredresource() != null;
+			case MonitoringxmlPackage.PERIOD__MINIMUM:
+				return minimum != null;
+			case MonitoringxmlPackage.PERIOD__MAXIMUM:
+				return maximum != null;
+			case MonitoringxmlPackage.PERIOD__AVERAGE:
+				return average != null;
+			case MonitoringxmlPackage.PERIOD__JITTER:
+				return jitter != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //PeriodImpl
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/ResourceImpl.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/ResourceImpl.java
similarity index 85%
rename from plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/ResourceImpl.java
rename to plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/ResourceImpl.java
index 204086e..e0ceb54 100644
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/ResourceImpl.java
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/ResourceImpl.java
@@ -13,17 +13,18 @@
 -- http://www.eclipse.org/legal/epl-v10.html                         --
 -----------------------------------------------------------------------
   */ 
-package monitoringxml.impl;
-
-import monitoringxml.MonitoringPackage;
-import monitoringxml.Resource;
+package org.polarsys.chess.monitoring.monitoringxml.impl;
 
 import org.eclipse.emf.ecore.EClass;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
+import org.polarsys.chess.monitoring.monitoringxml.Resource;
 
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Resource</b></em>'.
  * <!-- end-user-doc -->
+ * <p>
+ * </p>
  *
  * @generated
  */
@@ -44,7 +45,7 @@
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.RESOURCE;
+		return MonitoringxmlPackage.Literals.RESOURCE;
 	}
 
 } //ResourceImpl
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/ResponseTimeImpl.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/ResponseTimeImpl.java
new file mode 100644
index 0000000..3d2f0f1
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/ResponseTimeImpl.java
@@ -0,0 +1,470 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 University of Padova, ITALY                       --
+--                                                                   --
+-- Author: Alessandro Zovi azovi@math.unipd.it                       --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */ 
+package org.polarsys.chess.monitoring.monitoringxml.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.polarsys.chess.monitoring.monitoringxml.MeasuredValue;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoredResource;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
+import org.polarsys.chess.monitoring.monitoringxml.ResponseTime;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Response Time</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.ResponseTimeImpl#getMonitoredresource <em>Monitoredresource</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.ResponseTimeImpl#getMinimum <em>Minimum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.ResponseTimeImpl#getMaximum <em>Maximum</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.ResponseTimeImpl#getAverage <em>Average</em>}</li>
+ *   <li>{@link org.polarsys.chess.monitoring.monitoringxml.impl.ResponseTimeImpl#getJitter <em>Jitter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ResponseTimeImpl extends MinimalEObjectImpl.Container implements ResponseTime {
+	/**
+	 * The cached value of the '{@link #getMinimum() <em>Minimum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinimum()
+	 * @generated
+	 * @ordered
+	 */
+	protected MeasuredValue minimum;
+
+	/**
+	 * The cached value of the '{@link #getMaximum() <em>Maximum</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaximum()
+	 * @generated
+	 * @ordered
+	 */
+	protected MeasuredValue maximum;
+
+	/**
+	 * The cached value of the '{@link #getAverage() <em>Average</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAverage()
+	 * @generated
+	 * @ordered
+	 */
+	protected MeasuredValue average;
+
+	/**
+	 * The cached value of the '{@link #getJitter() <em>Jitter</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getJitter()
+	 * @generated
+	 * @ordered
+	 */
+	protected MeasuredValue jitter;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ResponseTimeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return MonitoringxmlPackage.Literals.RESPONSE_TIME;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MonitoredResource getMonitoredresource() {
+		if (eContainerFeatureID() != MonitoringxmlPackage.RESPONSE_TIME__MONITOREDRESOURCE) return null;
+		return (MonitoredResource)eInternalContainer();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetMonitoredresource(MonitoredResource newMonitoredresource, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newMonitoredresource, MonitoringxmlPackage.RESPONSE_TIME__MONITOREDRESOURCE, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMonitoredresource(MonitoredResource newMonitoredresource) {
+		if (newMonitoredresource != eInternalContainer() || (eContainerFeatureID() != MonitoringxmlPackage.RESPONSE_TIME__MONITOREDRESOURCE && newMonitoredresource != null)) {
+			if (EcoreUtil.isAncestor(this, newMonitoredresource))
+				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+			NotificationChain msgs = null;
+			if (eInternalContainer() != null)
+				msgs = eBasicRemoveFromContainer(msgs);
+			if (newMonitoredresource != null)
+				msgs = ((InternalEObject)newMonitoredresource).eInverseAdd(this, MonitoringxmlPackage.MONITORED_RESOURCE__RESPONSETIME, MonitoredResource.class, msgs);
+			msgs = basicSetMonitoredresource(newMonitoredresource, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.RESPONSE_TIME__MONITOREDRESOURCE, newMonitoredresource, newMonitoredresource));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MeasuredValue getMinimum() {
+		return minimum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetMinimum(MeasuredValue newMinimum, NotificationChain msgs) {
+		MeasuredValue oldMinimum = minimum;
+		minimum = newMinimum;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.RESPONSE_TIME__MINIMUM, oldMinimum, newMinimum);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMinimum(MeasuredValue newMinimum) {
+		if (newMinimum != minimum) {
+			NotificationChain msgs = null;
+			if (minimum != null)
+				msgs = ((InternalEObject)minimum).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.RESPONSE_TIME__MINIMUM, null, msgs);
+			if (newMinimum != null)
+				msgs = ((InternalEObject)newMinimum).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.RESPONSE_TIME__MINIMUM, null, msgs);
+			msgs = basicSetMinimum(newMinimum, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.RESPONSE_TIME__MINIMUM, newMinimum, newMinimum));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MeasuredValue getMaximum() {
+		return maximum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetMaximum(MeasuredValue newMaximum, NotificationChain msgs) {
+		MeasuredValue oldMaximum = maximum;
+		maximum = newMaximum;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.RESPONSE_TIME__MAXIMUM, oldMaximum, newMaximum);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMaximum(MeasuredValue newMaximum) {
+		if (newMaximum != maximum) {
+			NotificationChain msgs = null;
+			if (maximum != null)
+				msgs = ((InternalEObject)maximum).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.RESPONSE_TIME__MAXIMUM, null, msgs);
+			if (newMaximum != null)
+				msgs = ((InternalEObject)newMaximum).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.RESPONSE_TIME__MAXIMUM, null, msgs);
+			msgs = basicSetMaximum(newMaximum, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.RESPONSE_TIME__MAXIMUM, newMaximum, newMaximum));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MeasuredValue getAverage() {
+		return average;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetAverage(MeasuredValue newAverage, NotificationChain msgs) {
+		MeasuredValue oldAverage = average;
+		average = newAverage;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.RESPONSE_TIME__AVERAGE, oldAverage, newAverage);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAverage(MeasuredValue newAverage) {
+		if (newAverage != average) {
+			NotificationChain msgs = null;
+			if (average != null)
+				msgs = ((InternalEObject)average).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.RESPONSE_TIME__AVERAGE, null, msgs);
+			if (newAverage != null)
+				msgs = ((InternalEObject)newAverage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.RESPONSE_TIME__AVERAGE, null, msgs);
+			msgs = basicSetAverage(newAverage, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.RESPONSE_TIME__AVERAGE, newAverage, newAverage));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MeasuredValue getJitter() {
+		return jitter;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetJitter(MeasuredValue newJitter, NotificationChain msgs) {
+		MeasuredValue oldJitter = jitter;
+		jitter = newJitter;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.RESPONSE_TIME__JITTER, oldJitter, newJitter);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setJitter(MeasuredValue newJitter) {
+		if (newJitter != jitter) {
+			NotificationChain msgs = null;
+			if (jitter != null)
+				msgs = ((InternalEObject)jitter).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.RESPONSE_TIME__JITTER, null, msgs);
+			if (newJitter != null)
+				msgs = ((InternalEObject)newJitter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MonitoringxmlPackage.RESPONSE_TIME__JITTER, null, msgs);
+			msgs = basicSetJitter(newJitter, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, MonitoringxmlPackage.RESPONSE_TIME__JITTER, newJitter, newJitter));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case MonitoringxmlPackage.RESPONSE_TIME__MONITOREDRESOURCE:
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetMonitoredresource((MonitoredResource)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case MonitoringxmlPackage.RESPONSE_TIME__MONITOREDRESOURCE:
+				return basicSetMonitoredresource(null, msgs);
+			case MonitoringxmlPackage.RESPONSE_TIME__MINIMUM:
+				return basicSetMinimum(null, msgs);
+			case MonitoringxmlPackage.RESPONSE_TIME__MAXIMUM:
+				return basicSetMaximum(null, msgs);
+			case MonitoringxmlPackage.RESPONSE_TIME__AVERAGE:
+				return basicSetAverage(null, msgs);
+			case MonitoringxmlPackage.RESPONSE_TIME__JITTER:
+				return basicSetJitter(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+			case MonitoringxmlPackage.RESPONSE_TIME__MONITOREDRESOURCE:
+				return eInternalContainer().eInverseRemove(this, MonitoringxmlPackage.MONITORED_RESOURCE__RESPONSETIME, MonitoredResource.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case MonitoringxmlPackage.RESPONSE_TIME__MONITOREDRESOURCE:
+				return getMonitoredresource();
+			case MonitoringxmlPackage.RESPONSE_TIME__MINIMUM:
+				return getMinimum();
+			case MonitoringxmlPackage.RESPONSE_TIME__MAXIMUM:
+				return getMaximum();
+			case MonitoringxmlPackage.RESPONSE_TIME__AVERAGE:
+				return getAverage();
+			case MonitoringxmlPackage.RESPONSE_TIME__JITTER:
+				return getJitter();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case MonitoringxmlPackage.RESPONSE_TIME__MONITOREDRESOURCE:
+				setMonitoredresource((MonitoredResource)newValue);
+				return;
+			case MonitoringxmlPackage.RESPONSE_TIME__MINIMUM:
+				setMinimum((MeasuredValue)newValue);
+				return;
+			case MonitoringxmlPackage.RESPONSE_TIME__MAXIMUM:
+				setMaximum((MeasuredValue)newValue);
+				return;
+			case MonitoringxmlPackage.RESPONSE_TIME__AVERAGE:
+				setAverage((MeasuredValue)newValue);
+				return;
+			case MonitoringxmlPackage.RESPONSE_TIME__JITTER:
+				setJitter((MeasuredValue)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case MonitoringxmlPackage.RESPONSE_TIME__MONITOREDRESOURCE:
+				setMonitoredresource((MonitoredResource)null);
+				return;
+			case MonitoringxmlPackage.RESPONSE_TIME__MINIMUM:
+				setMinimum((MeasuredValue)null);
+				return;
+			case MonitoringxmlPackage.RESPONSE_TIME__MAXIMUM:
+				setMaximum((MeasuredValue)null);
+				return;
+			case MonitoringxmlPackage.RESPONSE_TIME__AVERAGE:
+				setAverage((MeasuredValue)null);
+				return;
+			case MonitoringxmlPackage.RESPONSE_TIME__JITTER:
+				setJitter((MeasuredValue)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case MonitoringxmlPackage.RESPONSE_TIME__MONITOREDRESOURCE:
+				return getMonitoredresource() != null;
+			case MonitoringxmlPackage.RESPONSE_TIME__MINIMUM:
+				return minimum != null;
+			case MonitoringxmlPackage.RESPONSE_TIME__MAXIMUM:
+				return maximum != null;
+			case MonitoringxmlPackage.RESPONSE_TIME__AVERAGE:
+				return average != null;
+			case MonitoringxmlPackage.RESPONSE_TIME__JITTER:
+				return jitter != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ResponseTimeImpl
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/ThreadImpl.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/ThreadImpl.java
similarity index 85%
rename from plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/ThreadImpl.java
rename to plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/ThreadImpl.java
index 9ab67c4..08c5e07 100644
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/impl/ThreadImpl.java
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/impl/ThreadImpl.java
@@ -13,20 +13,21 @@
 -- http://www.eclipse.org/legal/epl-v10.html                         --
 -----------------------------------------------------------------------
   */ 
-package monitoringxml.impl;
-
-import monitoringxml.MonitoringPackage;
+package org.polarsys.chess.monitoring.monitoringxml.impl;
 
 import org.eclipse.emf.ecore.EClass;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
 
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Thread</b></em>'.
  * <!-- end-user-doc -->
+ * <p>
+ * </p>
  *
  * @generated
  */
-public class ThreadImpl extends MonitoredResourceImpl implements monitoringxml.Thread {
+public class ThreadImpl extends MonitoredResourceImpl implements org.polarsys.chess.monitoring.monitoringxml.Thread {
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -43,7 +44,7 @@
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return MonitoringPackage.Literals.THREAD;
+		return MonitoringxmlPackage.Literals.THREAD;
 	}
 
 } //ThreadImpl
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/popup/actions/LaunchBackpropagation.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/popup/actions/LaunchBackpropagation.java
new file mode 100644
index 0000000..0af9775
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/popup/actions/LaunchBackpropagation.java
@@ -0,0 +1,363 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 Malardalen University, Sweden                       --
+--                                                                   --                      --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */ 
+
+package org.polarsys.chess.monitoring.monitoringxml.popup.actions;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+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.resource.impl.ResourceSetImpl;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerFilter;
+import org.eclipse.m2m.qvt.oml.BasicModelExtent;
+import org.eclipse.m2m.qvt.oml.ExecutionContextImpl;
+import org.eclipse.m2m.qvt.oml.ExecutionDiagnostic;
+import org.eclipse.m2m.qvt.oml.ModelExtent;
+import org.eclipse.m2m.qvt.oml.TransformationExecutor;
+import org.eclipse.m2m.qvt.oml.util.StringBufferLog;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.ISelectionService;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
+import org.eclipse.ui.model.BaseWorkbenchContentProvider;
+import org.eclipse.ui.model.WorkbenchLabelProvider;
+import org.eclipse.xtext.resource.XtextResource;
+import org.osgi.framework.Bundle;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
+import org.polarsys.chess.monitoring.monitoringxml.popup.actions.LaunchBackpropagation;
+import org.polarsys.chess.monitoring.monitoringxml.util.MonitoringxmlResourceFactoryImpl;
+
+public class LaunchBackpropagation implements IObjectActionDelegate {
+
+	private Shell shell;
+	private IFile xmlFile;
+	private IFile chessFile;
+	private IWorkspaceRoot root;
+//	private IWorkbenchPart part;
+//	private ISelection selection;
+
+	private static String XML_MODEL_PATH;
+	private static Resource XML_MODEL_RESOURCE;
+	private static String UML_MODEL_PATH;
+	private static Resource UML_MODEL_RESOURCE;
+
+	/**
+	 * Constructor for Action1.
+	 */
+	public LaunchBackpropagation() {
+		super();
+	}
+
+	public LaunchBackpropagation(final Shell inShell, final IFile inXMLFile, final IFile inCHESSFile, final IWorkspaceRoot inRoot) {
+		this.shell = inShell;
+		this.xmlFile = inXMLFile;
+		this.chessFile = inCHESSFile;
+		this.root = inRoot;
+	}
+
+	/**
+	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
+	 */
+	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+//		this.part = targetPart;
+		this.shell = targetPart.getSite().getShell();
+		ISelectionService service = targetPart.getSite().getWorkbenchWindow().getSelectionService();
+		this.xmlFile = (IFile)((IStructuredSelection)service.getSelection()).getFirstElement();
+		this.root = ResourcesPlugin.getWorkspace().getRoot();	
+	}
+
+	/**
+	 * @see IActionDelegate#run(IAction)
+	 */
+	public void run(IAction action) {
+
+		if (!xmlFile.getLocation().getFileExtension().equals("xml")) {
+			MessageDialog.openError(shell, "The selected file is not XML file. To perform monitoring Analysis and Backpropagation please select the XML file created during the code generation phase. " ,"Monitoring Analysis and Backpropagation has failed");
+		}
+		
+		try {
+			chessFile = handleBrowseFile("Monitoring backpropagation from XML", "Please choose the target model");
+			this.backpropagateMonitoringMeasures(xmlFile, chessFile);
+			MessageDialog.openInformation(shell,"Monitoring backpropagation","The backpropagation has been successfully executed.");
+		} catch(Exception exMB){
+			if(!exMB.getMessage().isEmpty())
+				MessageDialog.openError(shell,"Monitoring backpropagation", exMB.getMessage());	
+			else MessageDialog.openError(shell,"Monitoring backpropagation", "The backpropagation has not been successfully executed.");
+		};
+	}
+
+	/**
+	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
+	 */
+	public void selectionChanged(IAction action, ISelection selection) {
+	}
+
+	public void backpropagateMonitoringMeasures(final IFile xmlMonFile, final IFile chessModFile) {
+		
+		try{
+			ProgressMonitorDialog progDialog = new ProgressMonitorDialog(shell);
+			progDialog.run(true, true, new IRunnableWithProgress(){ 
+		    public void run(IProgressMonitor monitor) {
+		 
+		        monitor.beginTask("Backpropagating monitored values to the CHESS model ...", 100); 
+		        // execute the task ... 
+		        if (monitor.isCanceled())
+					throw new OperationCanceledException();
+		        
+		    
+		        IPath chessModelPath = chessModFile.getLocation();
+		
+				//QVTo from MXML to CHESS
+				URI transformationURI0 = URI.createURI("platform:/plugin/org.polarsys.chess.monitoring/transforms/MonitoringXML2Chess.qvto");
+				// create executor for the given transformation
+				TransformationExecutor executor0 = new TransformationExecutor(transformationURI0);
+				// define the transformation input (XML model)
+				XML_MODEL_PATH = xmlMonFile.getLocation().toString();
+				URI xmlURI = URI.createFileURI(XML_MODEL_PATH);
+				ExecutionContextImpl context0 = new ExecutionContextImpl();
+			    Resource inXMLResource = readMonitoringXML(xmlURI);
+				EList<EObject> xmlObj = inXMLResource.getContents();
+				XML_MODEL_RESOURCE = inXMLResource;
+
+				// create the input extent with its initial contents for the XML
+				ResourceSet resourceSet = new ResourceSetImpl();
+				ModelExtent xmlMM = new BasicModelExtent(xmlObj);		
+
+				// define the transformation input/output (Chess model)
+				UML_MODEL_PATH = chessModelPath.toString();
+				URI chessURI = URI.createFileURI(UML_MODEL_PATH);
+				//ExecutionContextImpl context0 = new ExecutionContextImpl();
+				Resource inChessResource = resourceSet.getResource(chessURI, true);		
+				EList<EObject> chessObj = inChessResource.getContents();
+				
+				UML_MODEL_RESOURCE = inChessResource;
+
+				// create the input extent with its initial contents for the Chess model
+				ModelExtent chessMM = new BasicModelExtent(chessObj);		
+
+				// setup the execution environment details -> 
+				// configuration properties, logger, monitor object etc.
+				StringBufferLog log = new StringBufferLog(); 
+				context0.setLog(log);
+				//context0.setConfigProperty("propertyName", true);
+				
+				// run the transformation assigned to the executor with the given 
+				// input and output and execution context -> ChangeTheWorld(in, out)
+				// Remark: variable arguments count is supported
+				ExecutionDiagnostic result0 = executor0.execute(context0, xmlMM, chessMM);
+
+				// check the result for success
+				System.out.println(result0.getSeverity()+" "+result0.getCode()+" "+result0.getMessage());
+				if(result0.getSeverity() == Diagnostic.OK) {
+					System.out.println("OK!!");
+					System.out.println(log.getContents());
+					try{
+						inXMLResource.save(Collections.emptyMap());
+					}catch(Exception ex){ 
+						System.out.println(ex.getMessage());
+					}
+					try{
+						inChessResource.save(Collections.emptyMap());
+					}catch(Exception ex){ 
+						System.out.println(ex.getMessage());
+					}
+				}else{
+					System.out.print("ERROR!!");
+					throw new OperationCanceledException(result0.getMessage());
+				}
+	
+				if(monitor.isCanceled())
+					throw new OperationCanceledException();
+				
+        monitor.worked(100);
+        monitor.done(); 
+        
+        }});
+			chessFile.getProject().refreshLocal(IResource.DEPTH_INFINITE, null);
+	}catch(Exception ex){//throw new OperationCanceledException("Operation aborted by the user.");};}
+		throw new OperationCanceledException(ex.getMessage());
+	}
+//
+	}
+
+	protected Resource readMonitoringXML(URI uri) {
+		// Initialize the model
+	    MonitoringxmlPackage.eINSTANCE.eClass();
+	    
+	    // Register the resource factory for the .xml extension
+	    Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE;
+	    Map<String, Object> m = reg.getExtensionToFactoryMap();
+	    m.put("xml", new MonitoringxmlResourceFactoryImpl());
+
+	    // Obtain a new resource set
+	    ResourceSet resSet = new ResourceSetImpl();
+
+	    // Get the resource
+	    Resource resource = resSet.getResource(uri, true);
+	    return resource;
+	}
+	
+	public IPath getAbsoluteWorkflowPath(String relPath, String bundlename) {
+		Bundle bundle = Platform.getBundle(bundlename);
+		URL fileLocation = null;
+		try {
+			fileLocation = FileLocator.toFileURL(bundle.getEntry(relPath));
+
+		} catch (IOException e) {
+			throw new RuntimeException(e);
+		}
+		IPath p = new Path(new File(fileLocation.getFile()).getAbsolutePath());
+		return p;
+
+	}
+	
+	/**
+	 * Sets the specified resource as modified and saves it.
+	 * @param resource Resource to be marked as dirty and saved.
+	 */
+	public void saveResource(XtextResource resource, URI uri)
+	{	
+		// Set the modified flag.
+		resource.setModified(true);
+		try {
+			// Save the resource.
+			Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+			saveOptions.put(XtextResource.OPTION_RESOLVE_ALL , Boolean.TRUE);
+			resource.setURI(uri);
+			resource.save(null);//saveOptions);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	private IFile handleBrowseFile(String title, String message) {
+
+		ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(new Shell(), new WorkbenchLabelProvider(), new BaseWorkbenchContentProvider());
+
+		dialog.setTitle(title);
+		dialog.setMessage(message);
+		dialog.setAllowMultiple(false);
+		dialog.addFilter(new ViewerFilter() {
+			@Override
+			public boolean select(Viewer viewer, Object parentElement,
+					Object element) {
+				boolean ret = false;
+				String[] extensions = null;
+				extensions = new String[] { "uml" };
+				try {
+					ret = isUMLResource((IResource) element, extensions);
+				} catch (CoreException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+				return ret;
+			}
+		});
+		dialog.setInput(root);
+		dialog.open();
+
+		if(dialog.getReturnCode() == ElementTreeSelectionDialog.CANCEL){
+			return null;
+		}
+
+		Object results = dialog.getFirstResult();
+
+		if ((results != null) && (results instanceof IFile)) {
+			IFile currentFile = (IFile)results;	
+			return currentFile;
+		}
+		else if ((results != null) && ((results instanceof IFolder) || (results instanceof IProject))) {
+			MessageDialog.openError(shell,"Monitoring backpropagation", "The analysis has not been successfully executed. Please select a valid target model.");
+			return null;
+		}
+
+		return null;
+	}
+	
+	private static boolean isUMLResource(IResource resource, String[] extensions)
+			throws CoreException {
+		if (resource instanceof IContainer) {
+			if (((IContainer) resource).isAccessible()) {
+				IResource[] members = ((IContainer) resource).members();
+				for (IResource member : members) {
+					if (isUMLResource(member, extensions)) {
+						return true;
+					}
+				}
+			}
+		} else if (resource instanceof IFile) {
+			IFile currentFile = (IFile) resource;
+			if (extensions == null) {
+				return true;
+			} else if (currentFile.getFileExtension() != null) {
+				for (int i = 0; i < extensions.length; i++) {
+					String extension = extensions[i];
+					if (currentFile.getFileExtension().toUpperCase().equals(
+							extension.toUpperCase())) {
+						return true;
+					}
+				}
+			}
+		}
+		return false;
+	}
+	
+	public static String getXMLPath(){
+		return XML_MODEL_PATH;
+	}
+	
+	public static Resource getXMLResource(){
+		return XML_MODEL_RESOURCE;
+	}
+
+	public static String getModelPath(){
+		return UML_MODEL_PATH;
+	}
+	
+	public static Resource getModelResource(){
+		return UML_MODEL_RESOURCE;
+	}
+}
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/popup/actions/LaunchTraceAnalysis.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/popup/actions/LaunchTraceAnalysis.java
new file mode 100644
index 0000000..2e82ada
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/popup/actions/LaunchTraceAnalysis.java
@@ -0,0 +1,228 @@
+/*
+-----------------------------------------------------------------------
+--                    CHESS monitoring plugin                        --
+--                                                                   --
+--                    Copyright (C) 2015-2016                        --
+--                 Malardalen University, Sweden                       --
+--                                                                   --                      --
+--                                                                   --
+-- 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                         --
+-----------------------------------------------------------------------
+  */ 
+
+package org.polarsys.chess.monitoring.monitoringxml.popup.actions;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerFilter;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.ISelectionService;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
+import org.eclipse.ui.model.BaseWorkbenchContentProvider;
+import org.eclipse.ui.model.WorkbenchLabelProvider;
+import org.eclipse.xtext.resource.XtextResource;
+import org.polarsys.chess.monitoring.traceanalyser.TraceAnalyser;
+
+public class LaunchTraceAnalysis implements IObjectActionDelegate {
+
+	private Shell shell;
+	private IFile traceFile;
+	private IFile inXMLFile;
+	private String outXMLFileName;
+	private IWorkspaceRoot root;
+//	private IWorkbenchPart part;
+//	private ISelection selection;
+
+	private static String XML_MODEL_PATH;
+	private static Resource XML_MODEL_RESOURCE;
+	private static String UML_MODEL_PATH;
+	private static Resource UML_MODEL_RESOURCE;
+
+	/**
+	 * Constructor for Action1.
+	 */
+	public LaunchTraceAnalysis() {
+		super();
+	}
+
+	public LaunchTraceAnalysis(final Shell inShell, final IFile inTraceFile, final IWorkspaceRoot inRoot) {
+		this.shell = inShell;
+		this.traceFile = inTraceFile;
+		this.root = inRoot;
+	}
+
+	/**
+	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
+	 */
+	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+//		this.part = targetPart;
+		this.shell = targetPart.getSite().getShell();
+		ISelectionService service = targetPart.getSite().getWorkbenchWindow().getSelectionService();
+		this.traceFile = (IFile)((IStructuredSelection)service.getSelection()).getFirstElement();
+		this.root = ResourcesPlugin.getWorkspace().getRoot();	
+	}
+
+	/**
+	 * @see IActionDelegate#run(IAction)
+	 */
+	public void run(IAction action) {
+//		IPath path = xmlFile.getLocation();
+
+//		ResourceSet resourceSet = new ResourceSetImpl();
+//		URI xmlURI = URI.createFileURI(path.toString());
+//		Resource inXMLResource = resourceSet.getResource(xmlURI, true);		
+
+		if (!traceFile.getLocation().getFileExtension().equals("txt")) {
+			MessageDialog.openError(shell, "The selected file is not a TXT file. To perform monitoring Analysis please select the TXT file containing execution traces. " ,"Monitoring Analysis has failed");
+		}
+		
+		//final LaunchTraceAnalysis mab = new LaunchTraceAnalysis(shell, traceFile, root);
+		try {
+			this.inXMLFile = handleBrowseFile("Monitoring trace analysis", "Please choose the input XML list of threads");
+			this.outXMLFileName = inXMLFile.getName();
+			TraceAnalyser ta = new TraceAnalyser(shell, inXMLFile, outXMLFileName, traceFile);
+			ta.doTraceAnalysis();
+			MessageDialog.openInformation(shell,"Monitoring trace analysis","The analysis has been successfully executed.");
+		} catch(Exception exMA){
+			System.out.println(exMA.getMessage());
+			if(!exMA.getMessage().isEmpty())
+				MessageDialog.openError(shell,"Monitoring analysis", exMA.getMessage());	
+			else MessageDialog.openError(shell,"Monitoring analysis", "The analysis has not been successfully executed.");
+		};
+	}
+
+	/**
+	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
+	 */
+	public void selectionChanged(IAction action, ISelection selection) {
+	}
+
+	/**
+	 * Sets the specified resource as modified and saves it.
+	 * @param resource Resource to be marked as dirty and saved.
+	 */
+	public void saveResource(XtextResource resource, URI uri)
+	{	
+		// Set the modified flag.
+		resource.setModified(true);
+		try {
+			// Save the resource.
+			Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+			saveOptions.put(XtextResource.OPTION_RESOLVE_ALL , Boolean.TRUE);
+			resource.setURI(uri);
+			resource.save(null);//saveOptions);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	private IFile handleBrowseFile(String title, String message) {
+
+		ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(new Shell(), new WorkbenchLabelProvider(), new BaseWorkbenchContentProvider());
+
+		dialog.setTitle(title);
+		dialog.setMessage(message);
+		dialog.setAllowMultiple(false);
+		dialog.addFilter(new ViewerFilter() {
+			@Override
+			public boolean select(Viewer viewer, Object parentElement,
+					Object element) {
+				boolean ret = false;
+				String[] extensions = null;
+				extensions = new String[] { "xml" };
+				try {
+					ret = isXMLResource((IResource) element, extensions);
+				} catch (CoreException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+				return ret;
+			}
+		});
+		dialog.setInput(root);
+		dialog.open();
+
+		if(dialog.getReturnCode() == ElementTreeSelectionDialog.CANCEL){
+			return null;
+		}
+
+		Object results = dialog.getFirstResult();
+
+		if ((results != null) && (results instanceof IFile)) {
+			IFile currentFile = (IFile)results;	
+			return currentFile;
+		}
+		else if ((results != null) && ((results instanceof IFolder) || (results instanceof IProject))) {
+			MessageDialog.openError(shell,"Monitoring backpropagation", "The analysis has not been successfully executed. Please select a valid source XML.");
+			return null;
+		}
+
+		return null;
+	}
+	
+	private static boolean isXMLResource(IResource resource, String[] extensions)
+			throws CoreException {
+		if (resource instanceof IContainer) {
+			if (((IContainer) resource).isAccessible()) {
+				IResource[] members = ((IContainer) resource).members();
+				for (IResource member : members) {
+					if (isXMLResource(member, extensions)) {
+						return true;
+					}
+				}
+			}
+		} else if (resource instanceof IFile) {
+			IFile currentFile = (IFile) resource;
+			if (extensions == null) {
+				return true;
+			} else if (currentFile.getFileExtension() != null) {
+				for (int i = 0; i < extensions.length; i++) {
+					String extension = extensions[i];
+					if (currentFile.getFileExtension().toUpperCase().equals(
+							extension.toUpperCase())) {
+						return true;
+					}
+				}
+			}
+		}
+		return false;
+	}
+	
+	public static String getXMLPath(){
+		return XML_MODEL_PATH;
+	}
+	
+	public static Resource getXMLResource(){
+		return XML_MODEL_RESOURCE;
+	}
+
+	public static String getModelPath(){
+		return UML_MODEL_PATH;
+	}
+	
+	public static Resource getModelResource(){
+		return UML_MODEL_RESOURCE;
+	}
+}
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/util/MonitoringAdapterFactory.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/util/MonitoringxmlAdapterFactory.java
similarity index 64%
rename from plugins/org.polarsys.chess.monitoring/src/monitoringxml/util/MonitoringAdapterFactory.java
rename to plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/util/MonitoringxmlAdapterFactory.java
index d7b3312..0d715b4 100644
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/util/MonitoringAdapterFactory.java
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/util/MonitoringxmlAdapterFactory.java
@@ -3,9 +3,8 @@
 --                    CHESS monitoring plugin                        --
 --                                                                   --
 --                    Copyright (C) 2015-2016                        --
---                 University of Padova, ITALY                       --
---                                                                   --
--- Author: Alessandro Zovi azovi@math.unipd.it                       --
+--                 Malardalen University, Sweden                       --
+--                                                                   --                      --
 --                                                                   --
 -- All rights reserved. This program and the accompanying materials  --
 -- are made available under the terms of the Eclipse Public License  --
@@ -13,41 +12,39 @@
 -- http://www.eclipse.org/legal/epl-v10.html                         --
 -----------------------------------------------------------------------
   */ 
-package monitoringxml.util;
-
-import monitoringxml.AnalysisContext;
-import monitoringxml.BlockingTime;
-import monitoringxml.ExecutionTime;
-import monitoringxml.MonitoredResource;
-import monitoringxml.Monitoring;
-import monitoringxml.MonitoringPackage;
-import monitoringxml.Period;
-import monitoringxml.Resource;
-import monitoringxml.ResponseTime;
+package org.polarsys.chess.monitoring.monitoringxml.util;
 
 import org.eclipse.emf.common.notify.Adapter;
 import org.eclipse.emf.common.notify.Notifier;
-
 import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
 import org.eclipse.emf.ecore.EObject;
+import org.polarsys.chess.monitoring.monitoringxml.AnalysisContext;
+import org.polarsys.chess.monitoring.monitoringxml.BlockingTime;
+import org.polarsys.chess.monitoring.monitoringxml.ExecutionTime;
+import org.polarsys.chess.monitoring.monitoringxml.MeasuredValue;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoredResource;
+import org.polarsys.chess.monitoring.monitoringxml.Monitoring;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
+import org.polarsys.chess.monitoring.monitoringxml.Period;
+import org.polarsys.chess.monitoring.monitoringxml.Resource;
+import org.polarsys.chess.monitoring.monitoringxml.ResponseTime;
 
 /**
  * <!-- begin-user-doc -->
  * The <b>Adapter Factory</b> for the model.
  * It provides an adapter <code>createXXX</code> method for each class of the model.
  * <!-- end-user-doc -->
- * @see monitoringxml.MonitoringPackage
+ * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage
  * @generated
  */
-public class MonitoringAdapterFactory extends AdapterFactoryImpl {
+public class MonitoringxmlAdapterFactory extends AdapterFactoryImpl {
 	/**
 	 * The cached model package.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected static MonitoringPackage modelPackage;
+	protected static MonitoringxmlPackage modelPackage;
 
 	/**
 	 * Creates an instance of the adapter factory.
@@ -55,9 +52,9 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public MonitoringAdapterFactory() {
+	public MonitoringxmlAdapterFactory() {
 		if (modelPackage == null) {
-			modelPackage = MonitoringPackage.eINSTANCE;
+			modelPackage = MonitoringxmlPackage.eINSTANCE;
 		}
 	}
 
@@ -86,14 +83,14 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected MonitoringSwitch<Adapter> modelSwitch =
-		new MonitoringSwitch<Adapter>() {
+	protected MonitoringxmlSwitch<Adapter> modelSwitch =
+		new MonitoringxmlSwitch<Adapter>() {
 			@Override
 			public Adapter caseMonitoring(Monitoring object) {
 				return createMonitoringAdapter();
 			}
 			@Override
-			public Adapter caseThread(monitoringxml.Thread object) {
+			public Adapter caseThread(org.polarsys.chess.monitoring.monitoringxml.Thread object) {
 				return createThreadAdapter();
 			}
 			@Override
@@ -125,6 +122,10 @@
 				return createAnalysisContextAdapter();
 			}
 			@Override
+			public Adapter caseMeasuredValue(MeasuredValue object) {
+				return createMeasuredValueAdapter();
+			}
+			@Override
 			public Adapter defaultCase(EObject object) {
 				return createEObjectAdapter();
 			}
@@ -145,13 +146,13 @@
 
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoringxml.Monitoring <em>Monitoring</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.monitoring.monitoringxml.Monitoring <em>Monitoring</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 monitoringxml.Monitoring
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Monitoring
 	 * @generated
 	 */
 	public Adapter createMonitoringAdapter() {
@@ -159,13 +160,13 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoringxml.Thread <em>Thread</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.monitoring.monitoringxml.Thread <em>Thread</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 monitoringxml.Thread
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Thread
 	 * @generated
 	 */
 	public Adapter createThreadAdapter() {
@@ -173,13 +174,13 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoringxml.Resource <em>Resource</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.monitoring.monitoringxml.Resource <em>Resource</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 monitoringxml.Resource
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Resource
 	 * @generated
 	 */
 	public Adapter createResourceAdapter() {
@@ -187,13 +188,13 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoringxml.Period <em>Period</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.monitoring.monitoringxml.Period <em>Period</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 monitoringxml.Period
+	 * @see org.polarsys.chess.monitoring.monitoringxml.Period
 	 * @generated
 	 */
 	public Adapter createPeriodAdapter() {
@@ -201,13 +202,13 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoringxml.MonitoredResource <em>Monitored Resource</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.monitoring.monitoringxml.MonitoredResource <em>Monitored Resource</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 monitoringxml.MonitoredResource
+	 * @see org.polarsys.chess.monitoring.monitoringxml.MonitoredResource
 	 * @generated
 	 */
 	public Adapter createMonitoredResourceAdapter() {
@@ -215,13 +216,13 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoringxml.ExecutionTime <em>Execution Time</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.monitoring.monitoringxml.ExecutionTime <em>Execution Time</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 monitoringxml.ExecutionTime
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ExecutionTime
 	 * @generated
 	 */
 	public Adapter createExecutionTimeAdapter() {
@@ -229,13 +230,13 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoringxml.BlockingTime <em>Blocking Time</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.monitoring.monitoringxml.BlockingTime <em>Blocking Time</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 monitoringxml.BlockingTime
+	 * @see org.polarsys.chess.monitoring.monitoringxml.BlockingTime
 	 * @generated
 	 */
 	public Adapter createBlockingTimeAdapter() {
@@ -243,13 +244,13 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoringxml.ResponseTime <em>Response Time</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.monitoring.monitoringxml.ResponseTime <em>Response Time</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 monitoringxml.ResponseTime
+	 * @see org.polarsys.chess.monitoring.monitoringxml.ResponseTime
 	 * @generated
 	 */
 	public Adapter createResponseTimeAdapter() {
@@ -257,13 +258,13 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link monitoringxml.AnalysisContext <em>Analysis Context</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.monitoring.monitoringxml.AnalysisContext <em>Analysis Context</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 monitoringxml.AnalysisContext
+	 * @see org.polarsys.chess.monitoring.monitoringxml.AnalysisContext
 	 * @generated
 	 */
 	public Adapter createAnalysisContextAdapter() {
@@ -271,6 +272,20 @@
 	}
 
 	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.chess.monitoring.monitoringxml.MeasuredValue <em>Measured Value</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.polarsys.chess.monitoring.monitoringxml.MeasuredValue
+	 * @generated
+	 */
+	public Adapter createMeasuredValueAdapter() {
+		return null;
+	}
+
+	/**
 	 * Creates a new adapter for the default case.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null.
@@ -282,4 +297,4 @@
 		return null;
 	}
 
-} //MonitoringAdapterFactory
+} //MonitoringxmlAdapterFactory
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/util/MonitoringxmlResourceFactoryImpl.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/util/MonitoringxmlResourceFactoryImpl.java
new file mode 100644
index 0000000..b8256ca
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/util/MonitoringxmlResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ *                  CHESS monitoring plugin
+ *
+ *               Copyright (C) 2015-2016
+ *            Malardalen University, Sweden
+ *
+ *
+ *  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
+ *******************************************************************************/
+/**
+ */
+package org.polarsys.chess.monitoring.monitoringxml.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMIResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.monitoring.monitoringxml.util.MonitoringxmlResourceImpl
+ * @generated
+ */
+public class MonitoringxmlResourceFactoryImpl extends ResourceFactoryImpl {
+	
+		/**
+		 * Creates an instance of the resource factory.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public MonitoringxmlResourceFactoryImpl() {
+			super();
+		}
+
+		/**
+		 * Creates an instance of the resource.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Resource createResource(URI uri) {
+			XMIResource result = new MonitoringxmlResourceImpl(uri);
+			result.getDefaultSaveOptions().put(XMIResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+			result.getDefaultLoadOptions().put(XMIResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+			result.getDefaultSaveOptions().put(XMIResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+			result.getDefaultLoadOptions().put(XMIResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+			result.getDefaultSaveOptions().put(XMIResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+			result.getDefaultLoadOptions().put(XMIResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+			return result;
+		}
+
+}
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/util/MonitoringxmlResourceImpl.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/util/MonitoringxmlResourceImpl.java
new file mode 100644
index 0000000..5602b47
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/util/MonitoringxmlResourceImpl.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ *                  CHESS monitoring plugin
+ *
+ *               Copyright (C) 2015-2016
+ *            Mälardalen University, Sweden
+ *
+ *
+ *  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
+ *******************************************************************************/
+
+package org.polarsys.chess.monitoring.monitoringxml.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.chess.monitoring.monitoringxml.util.MonitoringxmlResourceFactoryImpl
+ * @generated
+ */
+public class MonitoringxmlResourceImpl extends XMIResourceImpl {
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public MonitoringxmlResourceImpl(URI uri) {
+		super(uri);
+	}
+
+}
diff --git a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/util/MonitoringSwitch.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/util/MonitoringxmlSwitch.java
similarity index 73%
rename from plugins/org.polarsys.chess.monitoring/src/monitoringxml/util/MonitoringSwitch.java
rename to plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/util/MonitoringxmlSwitch.java
index 4ddd963..f825c0c 100644
--- a/plugins/org.polarsys.chess.monitoring/src/monitoringxml/util/MonitoringSwitch.java
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/monitoringxml/util/MonitoringxmlSwitch.java
@@ -1,34 +1,30 @@
-/*
------------------------------------------------------------------------
---                    CHESS monitoring plugin                        --
---                                                                   --
---                    Copyright (C) 2015-2016                        --
---                 University of Padova, ITALY                       --
---                                                                   --
--- Author: Alessandro Zovi azovi@math.unipd.it                       --
---                                                                   --
--- 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                         --
------------------------------------------------------------------------
-  */ 
-package monitoringxml.util;
-
-import monitoringxml.AnalysisContext;
-import monitoringxml.BlockingTime;
-import monitoringxml.ExecutionTime;
-import monitoringxml.MonitoredResource;
-import monitoringxml.Monitoring;
-import monitoringxml.MonitoringPackage;
-import monitoringxml.Period;
-import monitoringxml.Resource;
-import monitoringxml.ResponseTime;
+/*******************************************************************************
+ *                  CHESS monitoring plugin
+ *
+ *               Copyright (C) 2015-2016
+ *            Mälardalen University, Sweden
+ *
+ *
+ *  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
+ *******************************************************************************/
+package org.polarsys.chess.monitoring.monitoringxml.util;
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
-
 import org.eclipse.emf.ecore.util.Switch;
+import org.polarsys.chess.monitoring.monitoringxml.AnalysisContext;
+import org.polarsys.chess.monitoring.monitoringxml.BlockingTime;
+import org.polarsys.chess.monitoring.monitoringxml.ExecutionTime;
+import org.polarsys.chess.monitoring.monitoringxml.MeasuredValue;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoredResource;
+import org.polarsys.chess.monitoring.monitoringxml.Monitoring;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage;
+import org.polarsys.chess.monitoring.monitoringxml.Period;
+import org.polarsys.chess.monitoring.monitoringxml.Resource;
+import org.polarsys.chess.monitoring.monitoringxml.ResponseTime;
 
 /**
  * <!-- begin-user-doc -->
@@ -40,17 +36,17 @@
  * until a non-null result is returned,
  * which is the result of the switch.
  * <!-- end-user-doc -->
- * @see monitoringxml.MonitoringPackage
+ * @see org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlPackage
  * @generated
  */
-public class MonitoringSwitch<T> extends Switch<T> {
+public class MonitoringxmlSwitch<T> extends Switch<T> {
 	/**
 	 * The cached model package
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected static MonitoringPackage modelPackage;
+	protected static MonitoringxmlPackage modelPackage;
 
 	/**
 	 * Creates an instance of the switch.
@@ -58,9 +54,9 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public MonitoringSwitch() {
+	public MonitoringxmlSwitch() {
 		if (modelPackage == null) {
-			modelPackage = MonitoringPackage.eINSTANCE;
+			modelPackage = MonitoringxmlPackage.eINSTANCE;
 		}
 	}
 
@@ -68,7 +64,7 @@
 	 * Checks whether this is a switch for the given package.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @param ePackage the package in question.
+	 * @parameter ePackage the package in question.
 	 * @return whether this is a switch for the given package.
 	 * @generated
 	 */
@@ -87,62 +83,68 @@
 	@Override
 	protected T doSwitch(int classifierID, EObject theEObject) {
 		switch (classifierID) {
-			case MonitoringPackage.MONITORING: {
+			case MonitoringxmlPackage.MONITORING: {
 				Monitoring monitoring = (Monitoring)theEObject;
 				T result = caseMonitoring(monitoring);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case MonitoringPackage.THREAD: {
-				monitoringxml.Thread thread = (monitoringxml.Thread)theEObject;
+			case MonitoringxmlPackage.THREAD: {
+				org.polarsys.chess.monitoring.monitoringxml.Thread thread = (org.polarsys.chess.monitoring.monitoringxml.Thread)theEObject;
 				T result = caseThread(thread);
 				if (result == null) result = caseMonitoredResource(thread);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case MonitoringPackage.RESOURCE: {
+			case MonitoringxmlPackage.RESOURCE: {
 				Resource resource = (Resource)theEObject;
 				T result = caseResource(resource);
 				if (result == null) result = caseMonitoredResource(resource);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case MonitoringPackage.PERIOD: {
+			case MonitoringxmlPackage.PERIOD: {
 				Period period = (Period)theEObject;
 				T result = casePeriod(period);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case MonitoringPackage.MONITORED_RESOURCE: {
+			case MonitoringxmlPackage.MONITORED_RESOURCE: {
 				MonitoredResource monitoredResource = (MonitoredResource)theEObject;
 				T result = caseMonitoredResource(monitoredResource);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case MonitoringPackage.EXECUTION_TIME: {
+			case MonitoringxmlPackage.EXECUTION_TIME: {
 				ExecutionTime executionTime = (ExecutionTime)theEObject;
 				T result = caseExecutionTime(executionTime);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case MonitoringPackage.BLOCKING_TIME: {
+			case MonitoringxmlPackage.BLOCKING_TIME: {
 				BlockingTime blockingTime = (BlockingTime)theEObject;
 				T result = caseBlockingTime(blockingTime);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case MonitoringPackage.RESPONSE_TIME: {
+			case MonitoringxmlPackage.RESPONSE_TIME: {
 				ResponseTime responseTime = (ResponseTime)theEObject;
 				T result = caseResponseTime(responseTime);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case MonitoringPackage.ANALYSIS_CONTEXT: {
+			case MonitoringxmlPackage.ANALYSIS_CONTEXT: {
 				AnalysisContext analysisContext = (AnalysisContext)theEObject;
 				T result = caseAnalysisContext(analysisContext);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
+			case MonitoringxmlPackage.MEASURED_VALUE: {
+				MeasuredValue measuredValue = (MeasuredValue)theEObject;
+				T result = caseMeasuredValue(measuredValue);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
 			default: return defaultCase(theEObject);
 		}
 	}
@@ -173,7 +175,7 @@
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseThread(monitoringxml.Thread object) {
+	public T caseThread(org.polarsys.chess.monitoring.monitoringxml.Thread object) {
 		return null;
 	}
 
@@ -283,6 +285,21 @@
 	}
 
 	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Measured Value</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>Measured Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseMeasuredValue(MeasuredValue object) {
+		return null;
+	}
+
+	/**
 	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
@@ -298,4 +315,4 @@
 		return null;
 	}
 
-} //MonitoringSwitch
+} //MonitoringxmlSwitch
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/Event.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/Event.java
new file mode 100644
index 0000000..ed5a8c4
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/Event.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ *                  CHESS monitoring plugin
+ *
+ *               Copyright (C) 2015-2016
+ *            Mälardalen University, Sweden
+ *
+ *
+ *  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
+ *******************************************************************************/
+
+package org.polarsys.chess.monitoring.traceanalyser;
+
+public class Event
+{
+	private long timeStamp; 
+	private int eventID;
+	private String threadID; 
+
+	public Event(long inTimeStamp, int inEventId, String inThreadID ) 
+	{
+		this.timeStamp = inTimeStamp; 
+		this.eventID = inEventId; 
+		this.threadID = inThreadID; 
+	}
+	
+	public long GetTimeStamp()
+	{
+		return timeStamp; 
+	}
+	
+	public int GetEventID()
+	{
+		return eventID; 
+	}
+	
+	public String GetThreadID()
+	{
+		return threadID; 
+	}	
+	
+	public void PrintEvent()
+	{
+		System.out.println("TimeStamp:"+timeStamp+"\tEventID:"+eventID+"\t ThreadID:"+threadID);
+	}
+	
+}
+
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/EventType.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/EventType.java
new file mode 100644
index 0000000..6e8df22
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/EventType.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ *                  CHESS monitoring plugin
+ *
+ *               Copyright (C) 2015-2016
+ *            Mälardalen University, Sweden
+ *
+ *
+ *  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
+ *******************************************************************************/
+
+package org.polarsys.chess.monitoring.traceanalyser;
+
+public final class EventType {
+	public static final int runningEventID = 0; 
+	public static final int readyEventID   = 1; 
+	public static final int blockedEventID = 2; 
+	public static final int sleepEventID   = 3; 
+	public static final int wakeupEventID  = 4; 
+}
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/Parameters.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/Parameters.java
new file mode 100644
index 0000000..61e3eaa
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/Parameters.java
@@ -0,0 +1,470 @@
+/*******************************************************************************
+ *                  CHESS monitoring plugin
+ *
+ *               Copyright (C) 2015-2016
+ *            Mälardalen University, Sweden
+ *
+ *
+ *  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
+ *******************************************************************************/
+
+package org.polarsys.chess.monitoring.traceanalyser;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.polarsys.chess.monitoring.traceanalyser.Event;
+import org.polarsys.chess.monitoring.traceanalyser.EventType;
+import org.polarsys.chess.monitoring.traceanalyser.ThreadEvents;
+import org.polarsys.chess.monitoring.traceanalyser.TraceReader;
+
+public class Parameters
+{ 
+	private TraceReader trace; 
+	private ArrayList<String> threadIDs; 
+	private ArrayList<ArrayList<Event>> threadSpecificEvents ; 
+
+	private ArrayList<Long> wcetOfAllThreads; 
+	private ArrayList<Long> bcetOfAllThreads; 
+	private ArrayList<Double> acetOfAllThreads; 
+
+	private ArrayList<Long> minimumInterArrivalTimeOfAllThreads; 
+	private ArrayList<Long> maximumInterArrivalTimeOfAllThreads; 
+	private ArrayList<Double> averageInterArrivalTimeOfAllThreads; 
+	private ArrayList<Long> releaseJitterOfAllThreads; 
+
+	private ArrayList<Long> minimumBlockingOfAllThreads; 
+	private ArrayList<Long> maximumBlockingOfAllThreads; 
+	private ArrayList<Double> averageBlockingOfAllThreads; 
+
+	private ArrayList<Long> worstCaseResponseTimetOfAllThreads; 
+	private ArrayList<Long> bestCaseResponseTimetOfAllThreads; 
+	private ArrayList<Long> jitterInResponseTimetOfAllThreads; 
+	private ArrayList<Double> averageCaseResponseTimetOfAllThreads; 
+
+	private ArrayList<Double> varianceInExecutionTimeOfAllThreads;
+	private ArrayList<Double> varianceInArrivalTimeOfAllThreads;
+	private ArrayList<Double> varianceInBlockingOfAllThreads;
+	private ArrayList<Double> varianceInResponseTimeOfAllThreads;
+	
+	private double clockRate; 	
+	private IFolder traceExtractionPath; // This path is used to output files that contains all the values of execution time, inter-arrival time and response time
+	private int noOfThreads; 
+
+	public Parameters(TraceReader inTrace, IFolder inTraceExtractionPath) 
+	{
+		this.trace = inTrace; 
+		threadSpecificEvents = trace.GetThreadSpecificEvents();
+		threadIDs = trace.GetThreadIDs(); 
+		noOfThreads = threadIDs.size();
+		clockRate = trace.GetClockRate(); 
+
+		this.traceExtractionPath = inTraceExtractionPath; 
+
+		/* Execution related parameters */
+		wcetOfAllThreads = new ArrayList<Long>(noOfThreads);
+		bcetOfAllThreads = new ArrayList<Long>(noOfThreads);
+		acetOfAllThreads = new ArrayList<Double>(noOfThreads);
+
+		/* Arrival time related parameters */
+		minimumInterArrivalTimeOfAllThreads = new ArrayList<Long>(noOfThreads);
+		maximumInterArrivalTimeOfAllThreads = new ArrayList<Long>(noOfThreads);
+		averageInterArrivalTimeOfAllThreads = new ArrayList<Double>(noOfThreads); 
+		releaseJitterOfAllThreads = new ArrayList<Long>(noOfThreads);
+
+		/* Block related parameters */
+		minimumBlockingOfAllThreads  = new ArrayList<Long>(noOfThreads); 
+		maximumBlockingOfAllThreads  = new ArrayList<Long>(noOfThreads); 
+		averageBlockingOfAllThreads  = new ArrayList<Double>(noOfThreads); 
+
+		/* Response time related parameters */
+		worstCaseResponseTimetOfAllThreads = new ArrayList<Long>(noOfThreads); 
+		bestCaseResponseTimetOfAllThreads = new ArrayList<Long>(noOfThreads);
+		jitterInResponseTimetOfAllThreads = new ArrayList<Long>(noOfThreads);
+		averageCaseResponseTimetOfAllThreads = new ArrayList<Double>(noOfThreads);
+
+		/* Variance related parameters */
+		varianceInExecutionTimeOfAllThreads = new ArrayList<Double>(noOfThreads); 
+		varianceInArrivalTimeOfAllThreads = new ArrayList<Double>(noOfThreads); 
+		varianceInBlockingOfAllThreads = new ArrayList<Double>(noOfThreads); 
+		varianceInResponseTimeOfAllThreads = new ArrayList<Double>(noOfThreads); 
+	}
+
+	public void ComputeParameters()
+	{
+		ComputeArrivalTimeRelatedParameters();
+		ComputeExecutionTimeRelatedParameters();
+	}
+	
+	private void ComputeArrivalTimeRelatedParameters() 
+	{
+		ArrayList<Long> arrivalTimeOfThread = new ArrayList<Long>(); 
+		ArrayList<Long> responseTimeOfThread = new ArrayList<Long>(); 
+
+		long previousWakeupTime = -1, currentWakeupTime = -1, lastSleepTime = -1 ;
+		String threadID = null; 
+
+		for(ArrayList<Event> threadEvents : threadSpecificEvents) // check each task 
+		{
+			threadID = threadIDs.get(threadSpecificEvents.indexOf(threadEvents));  
+			ThreadEvents events = new ThreadEvents(threadID,threadEvents);
+
+			for(Event event : events.GetWakeupEvents()) // check blocked events of a task 
+			{
+				currentWakeupTime = event.GetTimeStamp();  
+
+				if(previousWakeupTime != (long)-1)
+				{
+					arrivalTimeOfThread.add(currentWakeupTime - previousWakeupTime); 
+
+					lastSleepTime = events.GetLastSleepEventInGivenInterval(previousWakeupTime, currentWakeupTime);
+
+					if(lastSleepTime !=-1)
+					{
+						responseTimeOfThread.add(lastSleepTime - previousWakeupTime);
+
+						if(events.GetWakeupEvents().indexOf(event) == events.GetWakeupEvents().size()-1) // if there exists any sleep event after the last wakeup event 
+						{
+							lastSleepTime = events.FindLastSleepIfAnyAvailable(currentWakeupTime); 
+							if(lastSleepTime != -1)
+							{
+								responseTimeOfThread.add(lastSleepTime - currentWakeupTime);
+							}
+						}
+					}
+					else 
+						System.out.println("Warning: No Ready event and/or sleep event exists between two wakeup events \t "+ previousWakeupTime + "\t"+ currentWakeupTime);
+				}
+				previousWakeupTime = currentWakeupTime; 
+			}
+
+			// Writing all values in the file
+			try 
+			{
+				WriteAllValuesInFile(arrivalTimeOfThread, traceExtractionPath, "InterArrivalTime_"+ threadID +".txt");
+				WriteAllValuesInFile(responseTimeOfThread, traceExtractionPath, "ResponseTime_"+ threadID +".txt");
+			} 
+			catch (IOException e) 
+			{
+				e.printStackTrace();
+			}
+
+			if(arrivalTimeOfThread.isEmpty())
+			{
+				minimumInterArrivalTimeOfAllThreads.add((long) 0.0);
+				maximumInterArrivalTimeOfAllThreads.add((long) 0.0);
+				averageInterArrivalTimeOfAllThreads.add(0.0);
+				releaseJitterOfAllThreads.add((long) 0.0); 
+				varianceInArrivalTimeOfAllThreads.add(0.0); 
+			}
+			else
+			{
+				minimumInterArrivalTimeOfAllThreads.add(Collections.min(arrivalTimeOfThread));
+				maximumInterArrivalTimeOfAllThreads.add(Collections.max(arrivalTimeOfThread));
+				averageInterArrivalTimeOfAllThreads.add( (double)Sum(arrivalTimeOfThread)/(double)arrivalTimeOfThread.size() );
+				releaseJitterOfAllThreads.add(Collections.max(arrivalTimeOfThread)-Collections.min(arrivalTimeOfThread)); 
+				varianceInArrivalTimeOfAllThreads.add(ComputeVariance(arrivalTimeOfThread)); 
+			}
+
+			if(responseTimeOfThread.isEmpty())
+			{
+				worstCaseResponseTimetOfAllThreads.add((long) 0.0); 
+				bestCaseResponseTimetOfAllThreads.add((long) 0.0); 
+				averageCaseResponseTimetOfAllThreads.add(0.0); 
+				jitterInResponseTimetOfAllThreads.add((long)0.0);
+				varianceInResponseTimeOfAllThreads.add(0.0); 
+			}
+			else 
+			{
+				worstCaseResponseTimetOfAllThreads.add(Collections.max(responseTimeOfThread)); 
+				bestCaseResponseTimetOfAllThreads.add(Collections.min(responseTimeOfThread)); 
+				averageCaseResponseTimetOfAllThreads.add(((double)Sum(responseTimeOfThread)/(double)responseTimeOfThread.size())); 
+				jitterInResponseTimetOfAllThreads.add(Collections.max(responseTimeOfThread)-Collections.min(responseTimeOfThread)); 
+				varianceInResponseTimeOfAllThreads.add(ComputeVariance(responseTimeOfThread)); 
+			}
+			previousWakeupTime = -1;
+			currentWakeupTime = -1; 
+			arrivalTimeOfThread.clear();
+			responseTimeOfThread.clear();
+		}
+	}
+
+	private void ComputeExecutionTimeRelatedParameters()
+	{
+		boolean flag = false; 
+		long blockedTime = 0, executionTime = 0; 
+
+		Event currentEvent = null, previousEvent = null; 
+
+		ArrayList<Long> executionTimeOfThread = new ArrayList<Long>();
+		ArrayList<Long> blockingTimeOfThread = new ArrayList<Long>();
+
+		for(ArrayList<Event> threadEvents : threadSpecificEvents) // check each task 
+		{
+			for(Event event: threadEvents)
+			{ 
+				currentEvent = event; 
+
+				if(currentEvent.GetEventID() == EventType.wakeupEventID || (currentEvent.GetEventID() == EventType.readyEventID && flag == false))
+				{
+					flag = true;
+					blockedTime = 0; 
+					executionTime = 0; 
+				}
+				else if(currentEvent.GetEventID() == EventType.runningEventID && flag == true)
+				{
+					if(previousEvent.GetEventID() == EventType.readyEventID || previousEvent.GetEventID() == EventType.blockedEventID || previousEvent.GetEventID() == EventType.wakeupEventID)
+					{
+						blockedTime+= (currentEvent.GetTimeStamp() - previousEvent.GetTimeStamp()); 
+					}
+					else if(previousEvent.GetEventID() == EventType.runningEventID)
+					{
+						executionTime += (currentEvent.GetTimeStamp() -previousEvent.GetTimeStamp()); 
+					}
+					else if(blockedTime!=0 )
+					{
+						System.out.print("Warning: Strange previous event: \t");
+						previousEvent.PrintEvent();
+						System.out.print("before current event: \t");
+						currentEvent.PrintEvent();
+					}
+				}
+				else if((currentEvent.GetEventID() == EventType.readyEventID || currentEvent.GetEventID() == EventType.blockedEventID) && flag == true)
+				{
+					if(previousEvent.GetEventID() == EventType.runningEventID)
+					{
+						executionTime+= (currentEvent.GetTimeStamp() -previousEvent.GetTimeStamp()); 
+					}
+					else if( (previousEvent.GetEventID() == EventType.readyEventID || previousEvent.GetEventID() == EventType.blockedEventID || previousEvent.GetEventID() == EventType.wakeupEventID))
+					{
+						blockedTime+= (currentEvent.GetTimeStamp() -previousEvent.GetTimeStamp()); 
+					}
+					else
+					{
+						System.out.print("Warning: Strange previous event:");
+						previousEvent.PrintEvent();
+						System.out.print("before current event:");
+						currentEvent.PrintEvent();
+					}
+				}
+				else if(currentEvent.GetEventID() == EventType.sleepEventID && flag == true)
+				{
+					if(previousEvent.GetEventID() == EventType.runningEventID)
+					{
+						executionTime += (currentEvent.GetTimeStamp() -previousEvent.GetTimeStamp()); 
+					}
+					else if((executionTime!=0) && (previousEvent.GetEventID() == EventType.readyEventID || previousEvent.GetEventID() == EventType.blockedEventID))
+					{
+						//blockedTime+= (currentEvent.GetTimeStamp() -previousEvent.GetTimeStamp()); // rescheduling followed by completion of job is not included in blocking
+					}
+					else
+					{
+						System.out.print("Warning: Strange previous event:");
+						previousEvent.PrintEvent();
+						System.out.print("before current event:");
+						currentEvent.PrintEvent();
+					} 
+					executionTimeOfThread.add(executionTime); 
+					blockingTimeOfThread.add(blockedTime); 
+
+					blockedTime = 0; 
+					executionTime = 0; 
+					flag = false; 
+				}
+				previousEvent = currentEvent; 
+			}
+
+			// Writing all values in the file
+			try 
+			{
+				WriteAllValuesInFile(blockingTimeOfThread,  traceExtractionPath, "BlockingTime_"+threadIDs.get(threadSpecificEvents.indexOf(threadEvents))+".txt");
+				WriteAllValuesInFile(executionTimeOfThread, traceExtractionPath, "Executiontime_"+threadIDs.get(threadSpecificEvents.indexOf(threadEvents))+".txt");
+			} 
+			catch (IOException e) 
+			{
+				e.printStackTrace();
+			}
+
+			if(executionTimeOfThread.isEmpty())
+			{
+				wcetOfAllThreads.add((long) 0.0);
+				bcetOfAllThreads.add((long) 0.0);
+				acetOfAllThreads.add(0.0);
+				varianceInExecutionTimeOfAllThreads.add(0.0); 
+			}
+			else 
+			{
+				wcetOfAllThreads.add(Collections.max(executionTimeOfThread));
+				bcetOfAllThreads.add(Collections.min(executionTimeOfThread));
+				acetOfAllThreads.add(((double)Sum(executionTimeOfThread)/(double)executionTimeOfThread.size()));
+				varianceInExecutionTimeOfAllThreads.add(ComputeVariance(executionTimeOfThread)); 
+			}
+
+			if(blockingTimeOfThread.isEmpty())
+			{
+				maximumBlockingOfAllThreads.add((long) 0.0); 
+				minimumBlockingOfAllThreads.add((long) 0.0); 
+				averageBlockingOfAllThreads.add(0.0);
+				varianceInBlockingOfAllThreads.add(0.0);
+			}
+			else 
+			{
+				maximumBlockingOfAllThreads.add(Collections.max(blockingTimeOfThread)); 
+				minimumBlockingOfAllThreads.add(Collections.min(blockingTimeOfThread)); 
+				averageBlockingOfAllThreads.add(((double)Sum(blockingTimeOfThread)/(double)blockingTimeOfThread.size()));
+				varianceInBlockingOfAllThreads.add(ComputeVariance(blockingTimeOfThread)); 
+			}
+
+			//	Initializing all variables 
+			executionTimeOfThread.clear();
+			blockingTimeOfThread.clear();
+			blockedTime = -1; 
+			executionTime = -1; 
+			currentEvent = null; 
+			previousEvent = null;
+			flag = false; 
+		}
+	}
+
+	private double ComputeVariance(ArrayList<Long> listOfValues) 
+	{
+		double variance = 0;
+		double sumOfSquaredValues = 0, sumValues = 0;
+		double size = (double) listOfValues.size(); 
+		for(double x: listOfValues)
+		{
+			sumOfSquaredValues += Math.pow(x,2); 
+			sumValues += x; 
+		}
+		variance = ((1/size)*sumOfSquaredValues) - (Math.pow(((1/size)*sumValues),2)); 
+		return variance ;
+	}
+
+	private long Sum(ArrayList<Long> values) 
+	{
+		long total = 0; 
+		for(long v : values)
+		{
+			total += v;
+		}
+		return total;
+	}
+	
+	public void WriteAllValuesInFile(ArrayList<Long> parameter, IFolder path, String fileName) throws IOException
+	{
+//		File dir = new File(path);
+//		dir.mkdirs();
+
+		IFile outputFile = path.getProject().getFile(path.getProjectRelativePath()+ File.separator +fileName);
+		FileWriter fstream = new FileWriter(outputFile.getLocation().toOSString());
+		BufferedWriter out = new BufferedWriter(fstream);
+
+		for(long element : parameter)
+		{ 
+			out.write((double)element/clockRate+"\n"); 
+		}
+		out.close();	
+	}
+	
+	/*****************
+	 *  Getters
+	 ****************/
+
+	public ArrayList<Long> GetMinimumInterArrivalTimeOfAllThreads()
+	{
+		return minimumInterArrivalTimeOfAllThreads; 
+	}
+
+	public ArrayList<Long> GetMaximumInterArrivalTimeOfAllThreads()
+	{
+		return maximumInterArrivalTimeOfAllThreads; 
+	}
+
+	public ArrayList<Long> GetReleaseJitterOfAllThreads()
+	{
+		return releaseJitterOfAllThreads; 
+	}
+
+	public ArrayList<Long> GetWCETOfAllThreads()
+	{
+		return wcetOfAllThreads; 
+	}
+
+	public ArrayList<Long> GetBCETOfAllThreads()
+	{
+		return bcetOfAllThreads; 
+	}
+
+	public ArrayList<Double> GetACETOfAllThreads()
+	{
+		return acetOfAllThreads; 
+	}
+
+	public ArrayList<Long> GetWorstCaseResponseTimeOfAllThreads()
+	{
+		return worstCaseResponseTimetOfAllThreads;  
+	}
+
+	public ArrayList<Long> GetBestCaseResponseTimeOfAllThreads()
+	{
+		return bestCaseResponseTimetOfAllThreads;  
+	}
+
+	public ArrayList<Double> GetAverageCaseResponseTimeOfAllThreads()
+	{
+		return averageCaseResponseTimetOfAllThreads;  
+	}
+
+	public ArrayList<Long> GetMaximumBlockingTimeOfAllThreads()
+	{
+		return maximumBlockingOfAllThreads;   
+	}
+
+	public ArrayList<Long> GetMinimumBlockingTimeOfAllThreads()
+	{
+		return minimumBlockingOfAllThreads;  
+	}
+
+	public ArrayList<Double> GetAverageBlockingTimeOfAllThreads()
+	{
+		return averageBlockingOfAllThreads;  
+	}
+
+	public ArrayList<Double> GetVarianceInBlockingTimeOfAllThreads()
+	{
+		return varianceInBlockingOfAllThreads;  
+	}
+
+	public ArrayList<Double> GetVarianceInExecutionTimeOfAllThreads()
+	{
+		return varianceInExecutionTimeOfAllThreads;  
+	}
+
+	public ArrayList<Double> GetVarianceInArrivalTimeOfAllThreads()
+	{
+		return varianceInArrivalTimeOfAllThreads;  
+	}
+
+	public ArrayList<Double> GetVarianceInResponseTimeOfAllThreads()
+	{
+		return varianceInResponseTimeOfAllThreads;  
+	}
+
+	public ArrayList<Long> GetJitterInResponseTimetOfAllThreads()
+	{
+		return jitterInResponseTimetOfAllThreads; 
+	}
+
+	public ArrayList<Double> GetAverageInterArrivalTimeOfAllThreads() {
+		return averageInterArrivalTimeOfAllThreads;
+	}
+}
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/ThreadEvents.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/ThreadEvents.java
new file mode 100644
index 0000000..0dc7be3
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/ThreadEvents.java
@@ -0,0 +1,142 @@
+/*******************************************************************************
+ *                  CHESS monitoring plugin
+ *
+ *               Copyright (C) 2015-2016
+ *            Mälardalen University, Sweden
+ *
+ *
+ *  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
+ *******************************************************************************/
+
+package org.polarsys.chess.monitoring.traceanalyser;
+
+import java.util.ArrayList;
+
+import org.polarsys.chess.monitoring.traceanalyser.Event;
+import org.polarsys.chess.monitoring.traceanalyser.EventType;
+
+public class ThreadEvents
+{		
+	private String threadID; 
+	private ArrayList<Event> runningEvents; 
+	private ArrayList<Event> readyEvents;
+	private ArrayList<Event> blockedEvents;
+	private ArrayList<Event> sleepEvents;
+	private ArrayList<Event> wakeupEvents;
+
+	public ThreadEvents(String inThreadID, final ArrayList<Event> inThreadEvents) 
+	{	
+		this.threadID = inThreadID; 		
+		runningEvents = new ArrayList<Event>(); 
+		readyEvents   = new ArrayList<Event>();
+		blockedEvents = new ArrayList<Event>(); 
+		sleepEvents   = new ArrayList<Event>(); 
+		wakeupEvents  = new ArrayList<Event>(); 
+		
+		for(Event event : inThreadEvents)
+		{
+			if(event.GetEventID() == EventType.runningEventID)
+				runningEvents.add(event); 
+			else if(event.GetEventID() == EventType.readyEventID)
+				readyEvents.add(event);
+			else if(event.GetEventID() == EventType.blockedEventID)
+				blockedEvents.add(event);
+			else if(event.GetEventID() == EventType.sleepEventID)
+				sleepEvents.add(event);
+			else if(event.GetEventID() == EventType.wakeupEventID)
+				wakeupEvents.add(event);
+			else 
+				System.out.println("Invalid event ID in " + event); 	
+		} 
+	}
+	
+	public ArrayList<Event> GetRunningEvents()
+	{
+		return runningEvents; 
+	}
+	public ArrayList<Event> GetReadyEvents()
+	{
+		return readyEvents; 
+	}
+	public ArrayList<Event> GetBlockedEvents()
+	{
+		return blockedEvents; 
+	}
+	public ArrayList<Event> GetSleepEvents()
+	{
+		return sleepEvents; 
+	}
+	public ArrayList<Event> GetWakeupEvents()
+	{
+		return wakeupEvents; 
+	}
+	public String GetThreadID()
+	{
+		return threadID; 
+	}
+	
+	public long GetFirstReadyEventInGivenInterval(long timeStart, long timeEnd)
+	{ 
+		for(Event event: readyEvents)
+		{
+			if(event.GetTimeStamp() >= timeStart && event.GetTimeStamp() <= timeEnd)
+			{
+				return event.GetTimeStamp();  
+			}
+			else if(event.GetTimeStamp() > timeEnd)
+			{
+				return -1; 
+			}
+		}		
+		return -1; 
+	}
+	
+	public long GetFirstRunningEventInGivenInterval(long timeStart, long timeEnd)
+	{ 
+		for(Event event: runningEvents)
+		{
+			if(event.GetTimeStamp()>=timeStart && event.GetTimeStamp()<=timeEnd)
+			{
+				return event.GetTimeStamp();  
+			}
+			else if(event.GetTimeStamp()>timeEnd)
+			{
+				return -1; 
+			}		
+		}
+		return -1; 
+	}
+	
+	
+	public long GetLastSleepEventInGivenInterval(long timeStart, long timeEnd)
+	{ 
+		long prev = -1; 
+		
+		for(Event event: sleepEvents)
+		{
+			if(event.GetTimeStamp()>=timeStart && event.GetTimeStamp()<=timeEnd)
+			{
+				prev = event.GetTimeStamp();  
+			}
+			else if(event.GetTimeStamp()>timeEnd)
+			{
+				break; 
+			}		
+		}		
+		return prev; 
+	}
+
+	public long FindLastSleepIfAnyAvailable(long currentWakeupTime) 
+	{
+		for(Event event: sleepEvents)
+		{
+			if(event.GetTimeStamp()>=currentWakeupTime)
+				return event.GetTimeStamp();  
+		}	
+		return -1; 
+	}
+}
+
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/TraceAnalyser.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/TraceAnalyser.java
new file mode 100644
index 0000000..c509340
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/TraceAnalyser.java
@@ -0,0 +1,357 @@
+/*******************************************************************************
+ *                  CHESS monitoring plugin
+ *
+ *               Copyright (C) 2015-2016
+ *            Mälardalen University, Sweden
+ *
+ *
+ *  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
+ *******************************************************************************/
+
+package org.polarsys.chess.monitoring.traceanalyser;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.swt.widgets.Shell;
+import org.polarsys.chess.core.util.CHESSProjectSupport;
+import org.polarsys.chess.monitoring.monitoringxml.AnalysisContext;
+import org.polarsys.chess.monitoring.monitoringxml.BlockingTime;
+import org.polarsys.chess.monitoring.monitoringxml.ExecutionTime;
+import org.polarsys.chess.monitoring.monitoringxml.MeasuredValue;
+import org.polarsys.chess.monitoring.monitoringxml.Monitoring;
+import org.polarsys.chess.monitoring.monitoringxml.MonitoringxmlFactory;
+import org.polarsys.chess.monitoring.monitoringxml.Period;
+import org.polarsys.chess.monitoring.monitoringxml.ResponseTime;
+import org.polarsys.chess.monitoring.monitoringxml.Thread;
+import org.polarsys.chess.monitoring.traceanalyser.Parameters;
+import org.polarsys.chess.monitoring.traceanalyser.TraceReader;
+
+public class TraceAnalyser 
+{
+	private IFile inputFile;
+	private IFile inTraceFile;
+	private IFolder traceExtractionPath;
+	private String delimiter;
+	private Shell shell;
+	private String unitName = "ms";
+	private double unitFactor = 0.001;
+	
+	public TraceAnalyser(Shell shell, IFile inXMLFile, String outXMLFileName, IFile traceFile)  
+	{
+		this.delimiter = " "; 
+		this.shell = shell;
+		this.inputFile = inXMLFile;
+		this.inTraceFile = traceFile;
+		this.traceExtractionPath = traceFile.getProject().getFolder(traceFile.getParent().getName()+ File.separator +"traces");
+		try {
+			CHESSProjectSupport.createFolder(traceExtractionPath);
+		} catch (CoreException e1) {
+			// TODO Auto-generated catch block
+			e1.printStackTrace();
+		}
+	}
+	
+	public void doTraceAnalysis()
+	{
+		try{
+			ProgressMonitorDialog progDialog = new ProgressMonitorDialog(shell);
+			progDialog.run(true, true, new IRunnableWithProgress(){ 
+		    public void run(IProgressMonitor monitor) {
+		 
+		        monitor.beginTask("Analyzing measured values ...", 100); 
+		        // execute the task ... 
+		        if (monitor.isCanceled())
+					throw new OperationCanceledException();
+
+		        // Read trace file and get thread specific data
+		        TraceReader trace;
+		        trace = new TraceReader(inTraceFile, inputFile, delimiter);
+		        monitor.worked(45);
+
+		        // Extract the required parameters
+		        Parameters parameters = new Parameters(trace, traceExtractionPath); 
+		        parameters.ComputeParameters();
+		        monitor.worked(45);
+
+		        String[] actxName = trace.GetAnalysisContext().split("::");
+		        String outputName = actxName[actxName.length-1]+"_monitoring.xml";
+		        // Write output data in a file
+		        //WriteoutputFile(outputFileName, trace.GetAnalysisContext(), trace.GetThreadIDs(), parameters, unitFactor, unitName,trace.GetClockRate());
+		        try {
+		        	CreateMonitoringXMLOutput(inputFile, outputName, trace.GetAnalysisContext(), trace.GetThreadIDs(), parameters, unitFactor, unitName,trace.GetClockRate());
+		        } catch (Exception e) {
+		        	// TODO Auto-generated catch block
+		        	e.printStackTrace();
+		        }
+		        monitor.worked(10);
+		        monitor.done();
+		   }
+		   });
+		} catch(Exception ex){//throw new OperationCanceledException("Operation aborted by the user.");};}
+			throw new OperationCanceledException(ex.getMessage());
+		}
+	}
+
+/*	private static void addXMLelement(Document doc, Element parent, String name, String unit, String value)
+	{
+		Element elem = doc.createElement(name);
+		Attr unitAttr = doc.createAttribute("unit");
+		unitAttr.setValue(unit);
+		elem.setAttributeNode(unitAttr);
+		Attr valueAttr = doc.createAttribute("value");
+		valueAttr.setValue(value);
+		elem.setAttributeNode(valueAttr);
+		parent.appendChild(elem);
+	}
+	
+	private static void WriteoutputFile(final String fileName, final String analysisContext, final ArrayList<String> threadNames, final Parameters parameters, final double unitFactor, final String unitName, final double clockRate) 
+	{
+		double totalUtilization = 0.0; 
+		try {
+			DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+			DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
+
+			// Root elements
+			Document doc = docBuilder.newDocument();
+			Element rootElement = doc.createElement("monitoringxml:Monitoring");
+			doc.appendChild(rootElement);
+
+			Element cr = doc.createElement("ClockRate");
+			cr.appendChild(doc.createTextNode(String.valueOf(clockRate)));
+			rootElement.appendChild(cr);
+			Attr unitcr = doc.createAttribute("unit");
+			unitcr.setValue("MHz");
+			cr.setAttributeNode(unitcr);
+
+			// Extracted thread parameters
+			for(int i=0; i < threadNames.size(); i++)
+			{
+				Element thread = doc.createElement("ThreadNames");
+				Attr name = doc.createAttribute("name");
+				name.setValue(threadNames.get(i));
+				thread.setAttributeNode(name);
+				rootElement.appendChild(thread);
+
+				long exec = parameters.GetWCETOfAllThreads().get(i);
+
+				double util = 0.0;
+				if(exec > 0)
+					util = (double)exec / (double)parameters.GetMinimumInterArrivalTimeOfAllThreads().get(i); 
+				Element utilization = doc.createElement("utilization");
+				utilization.appendChild(doc.createTextNode(String.valueOf(util)));
+				thread.appendChild(utilization);
+
+				totalUtilization +=  util; 
+
+				Element executionTime = doc.createElement("executiontime");
+				thread.appendChild(executionTime);
+
+				addXMLelement(doc, executionTime, "maximum", unitName, 
+						String.valueOf(((double)parameters.GetWCETOfAllThreads().get(i)*unitFactor)/clockRate));
+				addXMLelement(doc, executionTime, "average", unitName, 
+						String.valueOf(((double)parameters.GetACETOfAllThreads().get(i)*unitFactor)/clockRate));
+				addXMLelement(doc, executionTime, "minimum", unitName, 
+						String.valueOf(((double)parameters.GetBCETOfAllThreads().get(i)*unitFactor)/clockRate));
+				addXMLelement(doc, executionTime, "stdDeviation", unitName, 
+						String.valueOf((Math.sqrt((double)parameters.GetVarianceInExecutionTimeOfAllThreads().get(i))*unitFactor)/clockRate));
+
+				Element period = doc.createElement("period");
+				thread.appendChild(period);
+				
+				addXMLelement(doc, period, "maximum", unitName, 
+						String.valueOf(((double)parameters.GetMaximumInterArrivalTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+				addXMLelement(doc, period, "average", unitName, 
+						String.valueOf(((double)parameters.GetAverageInterArrivalTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+				addXMLelement(doc, period, "minimum", unitName, 
+						String.valueOf(((double)parameters.GetMinimumInterArrivalTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+				addXMLelement(doc, period, "jitter", unitName, 
+						String.valueOf(((double)parameters.GetReleaseJitterOfAllThreads().get(i)*unitFactor)/clockRate));
+				addXMLelement(doc, period, "stdDeviation", unitName, 
+						String.valueOf((Math.sqrt((double)parameters.GetVarianceInArrivalTimeOfAllThreads().get(i))*unitFactor)/clockRate));
+
+				Element blockingTime = doc.createElement("blockingtime");
+				thread.appendChild(blockingTime);
+				
+				addXMLelement(doc, blockingTime, "maximum", unitName, 
+						String.valueOf(((double)parameters.GetMaximumBlockingTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+				addXMLelement(doc, blockingTime, "average", unitName, 
+						String.valueOf(((double)parameters.GetAverageBlockingTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+				addXMLelement(doc, blockingTime, "minimum", unitName, 
+						String.valueOf(((double)parameters.GetMinimumBlockingTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+				addXMLelement(doc, blockingTime, "stdDeviation", unitName, 
+						String.valueOf((Math.sqrt((double)parameters.GetVarianceInBlockingTimeOfAllThreads().get(i))*unitFactor)/clockRate));
+
+				Element responseTime = doc.createElement("responsetime");
+				thread.appendChild(responseTime);
+
+				addXMLelement(doc, responseTime, "maximum", unitName, 
+						String.valueOf(((double)parameters.GetWorstCaseResponseTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+				addXMLelement(doc, responseTime, "average", unitName, 
+						String.valueOf(((double)parameters.GetAverageCaseResponseTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+				addXMLelement(doc, responseTime, "minimum", unitName, 
+						String.valueOf(((double)parameters.GetBestCaseResponseTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+				addXMLelement(doc, responseTime, "stdDeviation", unitName, 
+						String.valueOf((Math.sqrt((double)parameters.GetVarianceInResponseTimeOfAllThreads().get(i))*unitFactor)/clockRate));
+				addXMLelement(doc, responseTime, "jitter", unitName, 
+						String.valueOf(((double)parameters.GetJitterInResponseTimetOfAllThreads().get(i)*unitFactor)/clockRate));
+			}
+
+			Element tu = doc.createElement("totalutilization");
+			tu.appendChild(doc.createTextNode(String.valueOf(totalUtilization)));
+			rootElement.appendChild(tu);
+			
+			Element context = doc.createElement("analysisContext");
+			Attr contextname = doc.createAttribute("name");
+			contextname.setValue(analysisContext);
+			context.setAttributeNode(contextname);
+			rootElement.appendChild(context);
+
+			// write the content into xml file
+			TransformerFactory transformerFactory = TransformerFactory.newInstance();
+			Transformer transformer = transformerFactory.newTransformer();
+			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+			transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "5");
+			DOMSource source = new DOMSource(doc);
+			StreamResult result = new StreamResult(new File(fileName));
+
+			transformer.transform(source, result);
+		} 
+		catch (ParserConfigurationException pce) 
+		{
+			pce.printStackTrace();
+		} 
+		catch (TransformerException te) 
+		{
+			te.printStackTrace();
+		}
+	}*/
+
+	public static void CreateMonitoringXMLOutput(IFile inputFile, String outXMLFileName, String saAnalysisName, final ArrayList<String> threadNames, final Parameters parameters, final double unitFactor, final String unitName, final double clockRate) throws Exception {
+		
+		// Retrieve the default factory singleton
+		MonitoringxmlFactory factory = MonitoringxmlFactory.eINSTANCE;
+		Monitoring mon = factory.createMonitoring();
+		AnalysisContext analysisContext = factory.createAnalysisContext();
+		analysisContext.setName(saAnalysisName);
+		mon.setAnalysisContext(analysisContext);
+		
+		// Extracted thread parameters
+		for(int i=0; i < threadNames.size(); i++)
+		{
+			Thread thread = factory.createThread();
+			thread.setName(threadNames.get(i));
+
+			ExecutionTime executionTime = factory.createExecutionTime();
+			MeasuredValue maximumET = factory.createMeasuredValue();
+			maximumET.setUnit(unitName);
+			maximumET.setValue((float)((parameters.GetWCETOfAllThreads().get(i)*unitFactor)/clockRate));
+			executionTime.setMaximum(maximumET);	
+			MeasuredValue averageET = factory.createMeasuredValue();
+			averageET.setUnit(unitName);
+			averageET.setValue((float)((parameters.GetACETOfAllThreads().get(i)*unitFactor)/clockRate));
+			executionTime.setAverage(averageET);	
+			MeasuredValue minimumET = factory.createMeasuredValue();
+			minimumET.setUnit(unitName);
+			minimumET.setValue((float)((parameters.GetBCETOfAllThreads().get(i)*unitFactor)/clockRate));
+			executionTime.setMinimum(minimumET);
+			thread.setExecutiontime(executionTime);
+
+			Period period = factory.createPeriod();
+			MeasuredValue maximumP = factory.createMeasuredValue();
+			maximumP.setUnit(unitName);
+			maximumP.setValue((float)((parameters.GetMaximumInterArrivalTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+			period.setMaximum(maximumP);	
+			MeasuredValue averageP = factory.createMeasuredValue();
+			averageP.setUnit(unitName);
+			averageP.setValue((float)((parameters.GetAverageInterArrivalTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+			period.setAverage(averageP);	
+			MeasuredValue minimumP = factory.createMeasuredValue();
+			minimumP.setUnit(unitName);
+			minimumP.setValue((float)((parameters.GetMinimumInterArrivalTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+			period.setMinimum(minimumP);
+			MeasuredValue jitterP = factory.createMeasuredValue();
+			jitterP.setUnit(unitName);
+			jitterP.setValue((float)((parameters.GetMinimumInterArrivalTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+			period.setJitter(jitterP);
+			thread.setPeriod(period);
+			
+			BlockingTime blockingTime = factory.createBlockingTime();
+			MeasuredValue maximumBT = factory.createMeasuredValue();
+			maximumBT.setUnit(unitName);
+			maximumBT.setValue((float)((parameters.GetMaximumBlockingTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+			blockingTime.setMaximum(maximumBT);	
+			MeasuredValue averageBT = factory.createMeasuredValue();
+			averageBT.setUnit(unitName);
+			averageBT.setValue((float)((parameters.GetAverageBlockingTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+			blockingTime.setAverage(averageBT);	
+			MeasuredValue minimumBT = factory.createMeasuredValue();
+			minimumBT.setUnit(unitName);
+			minimumBT.setValue((float)((parameters.GetMinimumBlockingTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+			blockingTime.setMinimum(minimumBT);
+			thread.setBlockingtime(blockingTime);
+
+			ResponseTime responseTime = factory.createResponseTime();
+			MeasuredValue maximumRT = factory.createMeasuredValue();
+			maximumRT.setUnit(unitName);
+			maximumRT.setValue((float)((parameters.GetWorstCaseResponseTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+			responseTime.setMaximum(maximumRT);	
+			MeasuredValue averageRT = factory.createMeasuredValue();
+			averageRT.setUnit(unitName);
+			averageRT.setValue((float)((parameters.GetAverageCaseResponseTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+			responseTime.setAverage(averageRT);	
+			MeasuredValue minimumRT = factory.createMeasuredValue();
+			minimumRT.setUnit(unitName);
+			minimumRT.setValue((float)((parameters.GetBestCaseResponseTimeOfAllThreads().get(i)*unitFactor)/clockRate));
+			responseTime.setMinimum(minimumRT);
+			MeasuredValue jitterRT = factory.createMeasuredValue();
+			jitterRT.setUnit(unitName);
+			jitterRT.setValue((float)((parameters.GetJitterInResponseTimetOfAllThreads().get(i)*unitFactor)/clockRate));
+			responseTime.setJitter(jitterRT);
+			thread.setResponsetime(responseTime);
+
+			mon.getThreadNames().add(thread);
+		}
+		    
+		ResourceSet resourceSet = new ResourceSetImpl();
+		/*
+		* Register XML Factory implementation using DEFAULT_EXTENSION
+		*/
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(
+		    "*", new  XMIResourceFactoryImpl());
+
+		Resource resource = resourceSet.createResource(URI.createURI(inputFile.getParent().getLocationURI()+ File.separator +outXMLFileName));
+
+		/*
+		* Add bookStoreObject to contents list of the resource 
+		*/
+		resource.getContents().add(mon);
+
+		try{
+		    /*
+		    * Save the resource
+		    */
+		    resource.save(null);
+		    inputFile.getProject().refreshLocal(IResource.DEPTH_INFINITE, null);
+		   }catch (IOException e) {
+		      e.printStackTrace();
+		   }
+	}
+}
diff --git a/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/TraceReader.java b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/TraceReader.java
new file mode 100644
index 0000000..a8102c3
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/src/org/polarsys/chess/monitoring/traceanalyser/TraceReader.java
@@ -0,0 +1,269 @@
+/*******************************************************************************
+ *                  CHESS monitoring plugin
+ *
+ *               Copyright (C) 2015-2016
+ *            Mälardalen University, Sweden
+ *
+ *
+ *  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
+ *******************************************************************************/
+
+package org.polarsys.chess.monitoring.traceanalyser;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+
+import org.eclipse.core.resources.IFile;
+import org.polarsys.chess.monitoring.traceanalyser.Event;
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Node;
+import org.w3c.dom.Element;
+
+
+public class TraceReader
+{ 
+	private int time_Stamp_Column = 0;
+	private int event_ID_Column   = 1; 	
+	private int thread_ID_Column  = 2; 
+
+	private double clockrate = 1;
+	private String traceFileName; 
+	private ArrayList<ArrayList<Event>> threadSpecificEvents; 
+	private ArrayList<String> threadIDs; 
+	
+	private String analysisContext;
+
+	public TraceReader(IFile traceFile, IFile threadIDsFile, String delimiter) 
+	{
+		traceFileName = traceFile.getLocation().toOSString(); 
+		analysisContext = GetAnalysisContext(threadIDsFile.getLocation().toOSString());
+		threadIDs = new ArrayList<String>();
+		threadIDs = GetThreadIDs(threadIDsFile.getLocation().toOSString()); // the order in which threadIDs are provide will be used to maintain the events related that threadid in threadSpecificEvents 
+		
+		if(threadIDs.size() == 0)
+		{
+			System.out.println("Error: No thread ID to analyze.");
+			System.exit(0); 
+		}
+		
+		threadSpecificEvents = new ArrayList<ArrayList<Event>>(); 
+
+		for(int i=0; i<threadIDs.size(); i++)
+		{
+			threadSpecificEvents.add(new ArrayList<Event>());   
+		}
+		ReadTraceFile(delimiter); 
+	}
+	
+	private String GetAnalysisContext(String fileName)
+	{
+		String analContext = null;
+		try
+		{
+			File fXmlFile = new File(fileName);
+			DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
+			DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
+			Document doc = dBuilder.parse(fXmlFile);
+
+			doc.getDocumentElement().normalize();
+			
+			NodeList contexts = doc.getElementsByTagName("analysisContext");			
+			Node context = contexts.item(0);
+			if(context.getNodeType() == Node.ELEMENT_NODE)
+			{
+				Element elem = (Element)context;
+				analContext = elem.getAttribute("name");
+			}
+		} 
+		catch (Exception e) 
+		{
+			e.printStackTrace();
+		}
+		return analContext;
+	}
+	
+	private ArrayList<String> GetThreadIDs(String fileName) 
+	{
+		ArrayList<String> threadNames = new ArrayList<String>();
+		try
+		{
+			File fXmlFile = new File(fileName);
+			DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
+			DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
+			Document doc = dBuilder.parse(fXmlFile);
+
+			doc.getDocumentElement().normalize();
+			
+			NodeList contexts = doc.getElementsByTagName("analysisContext");			
+			Node context = contexts.item(0);
+			if(context.getNodeType() == Node.ELEMENT_NODE)
+			{
+				Element elem = (Element)context;
+				this.analysisContext = elem.getAttribute("name");
+			}
+			
+			NodeList allthreads = doc.getElementsByTagName("ThreadNames");
+
+			for (int i = 0; i < allthreads.getLength(); i++) 
+			{
+				Node thread = allthreads.item(i);
+				if (thread.getNodeType() == Node.ELEMENT_NODE) 
+				{
+					Element eElement = (Element) thread;
+					threadNames.add(eElement.getAttribute("name"));//.getElementsByTagName("name").item(0).getTextContent()); 
+				}
+			}
+		} 
+		catch (Exception e) 
+		{
+			e.printStackTrace();
+		}
+		return threadNames;
+	}
+
+
+	private void ReadTraceFile(String delimiter) 
+	{
+		try 
+		{
+			FileReader file = new FileReader(traceFileName);
+			BufferedReader br = new BufferedReader(file); 
+			String strLine; 
+			Event event ;  
+			
+			strLine = br.readLine();
+			if(strLine != null)
+			{
+				strLine = strLine.trim();
+				String[] strEvent = strLine.split(delimiter);
+				
+				if(strEvent.length == 2 && strEvent[0].equals("clockrate"))
+				{
+					clockrate=Double.parseDouble(strEvent[1]);
+				}
+				else
+				{
+					System.out.println("Error: clockrate is not specified in the trace file.");
+					br.close();
+					return;
+				}
+			}
+
+			while ((strLine = br.readLine()) != null) 
+			{
+				strLine = strLine.trim();
+				String[] strEvent = strLine.split(delimiter); 
+				
+				if(strEvent.length ==3)
+				{	
+					event = new Event(Long.parseLong(strEvent[time_Stamp_Column]), Integer.parseInt(strEvent[event_ID_Column]), strEvent[thread_ID_Column]); 
+
+					if(threadIDs.contains(event.GetThreadID()))
+						threadSpecificEvents.get(threadIDs.indexOf(event.GetThreadID())).add(event);
+				}
+				else
+				{
+					System.out.println("Error: Some events do not follow the expected trace format.");
+					br.close();
+					return;
+				}
+			}
+			br.close();
+		} 
+		catch (IOException e) 
+		{
+			e.printStackTrace();
+		} 
+	}
+
+	public void PrintThreadSpecificEvents(String tid)
+	{
+		int indexOfThread = threadIDs.indexOf(tid); 
+
+		System.out.println("Time Stamp \t EventID \t ThreadID");
+		for(Event event : threadSpecificEvents.get(indexOfThread))
+			System.out.println(event.GetTimeStamp()+"\t"+event.GetEventID() +"\t"+ event.GetThreadID());		
+	}
+
+	public void WriteThreadSpecificEventsIntoFile(String tid)
+	{
+		int indexOfThread = threadIDs.indexOf(tid); 
+
+		FileWriter filewrite;
+		try {
+			filewrite = new FileWriter(tid.concat(".txt"), false);
+			BufferedWriter out = new BufferedWriter(filewrite); 
+
+			for(Event event : threadSpecificEvents.get(indexOfThread))
+				out.write(event.GetTimeStamp()+"\t"+event.GetEventID() +"\t"+ event.GetThreadID()+"\n");		
+
+			out.close();
+		} 
+		catch (IOException e) 
+		{
+			e.printStackTrace();
+		}  
+	}
+
+	/*************
+	 *  Getters
+	 * ***********/
+	public ArrayList<String> GetThreadIDs()
+	{
+		return threadIDs; 
+	}
+	
+	public String GetAnalysisContext()
+	{
+		return this.analysisContext;
+	}
+
+	public ArrayList<ArrayList<Event>> GetThreadSpecificEvents()
+	{
+		return threadSpecificEvents; 
+	}
+
+	public String GetThreadIdOfGivenEvents(ArrayList<ArrayList<Integer>> eventsList)
+	{
+		if(threadSpecificEvents.contains(eventsList))
+			return threadIDs.get(threadSpecificEvents.indexOf(eventsList));
+		else 
+			return null; 
+	}
+
+	public int GetThreadIDColumn()
+	{
+		return thread_ID_Column; 
+	}
+
+	public int GetEventIDColumn()
+	{
+		return event_ID_Column; 
+	}
+
+	public int GetTimeStampColumn()
+	{
+		return time_Stamp_Column; 
+	}
+	public double GetClockRate()
+	{
+		return clockrate; 
+	}
+}
+
+
+
+
+
diff --git a/plugins/org.polarsys.chess.monitoring/transforms/CommonUtilities.qvto b/plugins/org.polarsys.chess.monitoring/transforms/CommonUtilities.qvto
new file mode 100644
index 0000000..ce1d74d
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/transforms/CommonUtilities.qvto
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ *                  CHESS core plugin
+ *
+ *               Copyright (C) 2011-2016
+ *            Mälardalen University, Sweden
+ *
+ *
+ *  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
+ *******************************************************************************/
+
+modeltype chess uses 'http://CHESS';
+modeltype uml uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+
+
+library CommonUtilities;
+
+query Model::getView(viewName : String) : Package {
+	var seq := self.packagedElement[Package]-> union(self.packagedElement[Package].packagedElement[Package]);
+	return seq -> selectOne(isStereotyped("CHESS::Core::CHESSViews::" + viewName));
+}
+
+query Element::isStereotyped(stereoName : String) : Boolean {
+	return self.getAppliedStereotype(stereoName) <> null;
+}
+
+query Model::findElementByQualifiedName(in qName : String) : NamedElement {
+	var pathParts = qName.tokenize("::")->asOrderedSet();
+	if (pathParts->size() = 1) {
+		return self;
+	};
+	var i : Integer = 2;
+	var p : Package := self;
+	while (i < pathParts->size()) {
+		var packageName = pathParts->at(i); 
+		p := p.ownedElement[Package]->selectOne(name = pathParts->at(i));
+		i := i + 1;
+	};
+	return p.ownedMember[NamedElement]->selectOne(name = pathParts->last());
+}
\ No newline at end of file
diff --git a/plugins/org.polarsys.chess.monitoring/transforms/MonitoringXML2Chess.qvto b/plugins/org.polarsys.chess.monitoring/transforms/MonitoringXML2Chess.qvto
new file mode 100644
index 0000000..fe13ebb
--- /dev/null
+++ b/plugins/org.polarsys.chess.monitoring/transforms/MonitoringXML2Chess.qvto
@@ -0,0 +1,122 @@
+/*******************************************************************************
+ *
+ *               Copyright (C) 2011-2016
+ *            Mälardalen University, Sweden
+ *
+ *
+ *  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
+ *******************************************************************************/
+
+import CommonUtilities;
+
+modeltype Chess uses 'http://CHESS';
+
+modeltype MXML uses 'http://www.mdh.se/concerto/monitoring/xml/monitoringxml';
+
+modeltype UML uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype GQAM uses "http://www.eclipse.org/papyrus/GQAM/1";
+modeltype SAM uses "http://www.eclipse.org/papyrus/SAM/1";
+
+modeltype ECORE uses "http://www.eclipse.org/emf/2002/Ecore";
+
+transformation MonitoringXML2Chess(in source : MXML, inout target : Chess);
+
+property selectedAnalysisContext : Class;
+property model : Model;
+property chessRootPSM : Package;
+property mxmlRoot : MXML::Monitoring;
+
+main() {
+	this.mxmlRoot := source.rootObjects()![MXML::Monitoring];
+	var rtAnalysisContext : String := mxmlRoot.analysisContext.name;
+	this.model := target.rootObjects()![Model];
+	this.selectedAnalysisContext := model.findElementByQualifiedName(rtAnalysisContext).oclAsType(Class);
+
+	var psmView : Package = model.getView("PSMView").oclAsType(Package);
+	this.chessRootPSM := psmView.getCodeGenerationSA(selectedAnalysisContext.name);
+	
+	log("Backpropagating monitored values to " + chessRootPSM.name);
+	mxmlRoot.ThreadNames.propagateMonitoredThread2Chess();
+	mxmlRoot.SharedResources.propagateMonitoredResources2Chess();
+	log("Backpropagation completed.");
+}
+
+query MXML::Thread::propagateMonitoredThread2Chess() {
+	var schedRes : Class := self.getSchedulableResource(chessRootPSM);
+	var e2eFlow : UML::Activity := chessRootPSM.getSaEndtoEndFlow(schedRes);
+	log("Backpropagating "+self.name+" task data...");
+	self.period.propagatePeriod2ArrivalPattern(e2eFlow);
+	self.executiontime.propagateExecutionTime2ExecTime(e2eFlow);
+	self.responsetime.propagateResponseTime2Latency(e2eFlow);
+	self.blockingtime.propagateBlockingTime2BlockT(e2eFlow);
+}
+
+query MXML::Resource::propagateMonitoredResources2Chess() {
+	// TO BE IMPLEMENTED ACCORDINGLY
+}
+
+//NOTE: The ArrivalPattern is written into the model as a plain string
+query MXML::Period::propagatePeriod2ArrivalPattern(e2eFlow : UML::Activity) {
+	var iNode := e2eFlow.ownedElement -> selectOne(initial | initial.oclIsTypeOf(InitialNode));
+	var gaWorkload := iNode.getStereotypeApplications() -> selectByType(GQAM::GaWorkloadEvent) -> asOrderedSet() -> first().oclAsType(GQAM::GaWorkloadEvent);
+	gaWorkload.pattern := "SporadicPattern(minInterarrival=(value="+self.minimum.value.toString()+", unit="+self.minimum.unit+"), "+ 
+						  "maxInterarrival=(value="+self.maximum.value.toString()+", unit="+self.maximum.unit+"), "+ 
+						  "avgInterarrival=(value="+self.average.value.toString()+", unit="+self.average.unit+"), "+
+						  "jitter=(value="+self.jitter.value.toString()+", unit="+self.jitter.unit+"))";
+}
+
+//NOTE: The ExecutionTime is written into the model as a plain string
+query MXML::ExecutionTime::propagateExecutionTime2ExecTime(e2eFlow : UML::Activity) {
+	var sStep := e2eFlow.ownedElement -> selectOne(saStepNode | saStepNode.oclIsTypeOf(UML::OpaqueAction) and saStepNode.isStereotyped("MARTE::MARTE_AnalysisModel::SAM::SaStep"));
+	var saStep := sStep.getStereotypeApplications() -> selectByType(SAM::SaStep) -> asOrderedSet() -> first().oclAsType(SAM::SaStep);
+	saStep.execTime := "(best="+self.minimum.value.toString()+", unit="+self.minimum.unit+", "+
+					   "worst="+self.maximum.value.toString()+", unit="+self.maximum.unit+", "+
+					   "average="+self.average.value.toString()+", unit="+self.average.unit+")";
+}
+
+//NOTE: The ResponseTime is written into the model as a plain string
+query MXML::ResponseTime::propagateResponseTime2Latency(e2eFlow : UML::Activity) {
+	var latEl := e2eFlow.ownedElement -> selectOne(gaL | gaL.isStereotyped("MARTE::MARTE_AnalysisModel::GQAM::GaLatencyObs"));
+	var latencyEl := latEl.getStereotypeApplications() -> selectByType(GQAM::GaLatencyObs) -> asOrderedSet() -> first().oclAsType(GQAM::GaLatencyObs);
+	
+	log("propagateResponseTime2Latency  max="+self.maximum.value.toString());
+	
+	latencyEl.latency := "(best="+self.minimum.value.toString()+", unit="+self.minimum.unit+", "+
+						 "worst="+self.maximum.value.toString()+", unit="+self.maximum.unit+", "+
+						 "average="+self.average.value.toString()+", unit="+self.average.unit+")";  
+	latencyEl.maxJitter := "(value="+self.jitter.value.toString()+", unit="+self.jitter.unit+")";
+}
+
+//NOTE: The BlockingTime is written into the model as a plain string
+query MXML::BlockingTime::propagateBlockingTime2BlockT(e2eFlow : UML::Activity) {
+	var sStep := e2eFlow.ownedElement -> selectOne(saStepNode | saStepNode.oclIsTypeOf(UML::OpaqueAction) and saStepNode.isStereotyped("MARTE::MARTE_AnalysisModel::SAM::SaStep"));
+	var saStep := sStep.getStereotypeApplications() -> selectByType(SAM::SaStep) -> asOrderedSet() -> first().oclAsType(SAM::SaStep);
+	saStep.blockT := "(best="+self.minimum.value.toString()+",  unit="+self.minimum.unit+", "+
+					 "worst="+self.maximum.value.toString()+",  unit="+self.maximum.unit+", "+
+					 "average="+self.average.value.toString()+",  unit="+self.average.unit+")";  
+}
+
+query Package::getCodeGenerationSA(saContextName : String) : Package {
+	var seq := self.packagedElement[Package]-> union(self.packagedElement[Package].packagedElement[Package]);
+	return seq -> selectOne(p | p.isStereotyped("CHESS::Core::PSMPackage") and p.name = saContextName + "_PSM");
+}
+
+//NOTE: Search for a match in the collection of Schedulable Resources in the Task subpackage and return the classifier
+query MXML::Thread::getSchedulableResource(acPSM : Package) : UML::Class {
+	var ac := acPSM.packagedElement[Class]-> union(acPSM.packagedElement[Package].packagedElement[Class]);
+	return ac -> selectOne(sr | sr.name = self.name+"_task").oclAsType(Class);
+}
+
+query Package::getSaEndtoEndFlow(schedRes : Class) : UML::Activity {
+	var ac := self.packagedElement[Package]-> union(self.packagedElement[Package].packagedElement[Package]);
+	var actx := ac -> selectOne(p | p.name = "AnalysisContext").oclAsType(Package);
+	var saClass : Class := actx.packagedElement[Class] -> selectOne(saCl | saCl.isStereotyped("MARTE::MARTE_AnalysisModel::SAM::SaAnalysisContext")).oclAsType(Class);
+	saClass.ownedElement[OpaqueAction]-> union(saClass.ownedElement[Activity].ownedElement[OpaqueAction]) -> forEach(a | a.isStereotyped("MARTE::MARTE_AnalysisModel::SAM::SaStep")) {
+		var saStep := a.getStereotypeApplications() -> selectByType(SAM::SaStep) -> asOrderedSet() -> first().oclAsType(SAM::SaStep);
+		if saStep.concurRes.base_Classifier = schedRes then return a.owner.oclAsType(UML::Activity) endif;
+	};
+	return null;
+}
\ No newline at end of file