Merge remote-tracking branch 'rmDeprecated' into master

Conflicts:
	org.eclipse.gmt.modisco.xml/META-INF/MANIFEST.MF
	org.eclipse.modisco.infra.discovery.benchmark.core/plugin.xml
diff --git a/org.eclipse.gmt.modisco.infra.query.jxpath/META-INF/MANIFEST.MF b/org.eclipse.gmt.modisco.infra.query.jxpath/META-INF/MANIFEST.MF
index 50f67bc..6d1b848 100644
--- a/org.eclipse.gmt.modisco.infra.query.jxpath/META-INF/MANIFEST.MF
+++ b/org.eclipse.gmt.modisco.infra.query.jxpath/META-INF/MANIFEST.MF
@@ -8,9 +8,9 @@
 Bundle-Localization: plugin

 Bundle-RequiredExecutionEnvironment: J2SE-1.5

 Export-Package: org.eclipse.gmt.modisco.infra.query.jxpath,

- org.eclipse.gmt.modisco.infra.query.jxpath.impl,

+ org.eclipse.gmt.modisco.infra.query.jxpath.impl;x-internal:=true,

  org.eclipse.gmt.modisco.infra.query.jxpath.query,

- org.eclipse.gmt.modisco.infra.query.jxpath.util

+ org.eclipse.gmt.modisco.infra.query.jxpath.util;x-internal:=true

 Require-Bundle: org.eclipse.core.runtime,

  org.eclipse.emf.ecore;bundle-version="2.5.0";visibility:=reexport,

  org.eclipse.gmt.modisco.infra.query;visibility:=reexport,

diff --git a/org.eclipse.gmt.modisco.infra.query/META-INF/MANIFEST.MF b/org.eclipse.gmt.modisco.infra.query/META-INF/MANIFEST.MF
index 13ee087..e6ffd61 100644
--- a/org.eclipse.gmt.modisco.infra.query/META-INF/MANIFEST.MF
+++ b/org.eclipse.gmt.modisco.infra.query/META-INF/MANIFEST.MF
@@ -8,8 +8,9 @@
 Bundle-Localization: plugin

 Bundle-RequiredExecutionEnvironment: J2SE-1.5

 Export-Package: org.eclipse.gmt.modisco.infra.query,

- org.eclipse.gmt.modisco.infra.query.impl,

+ org.eclipse.gmt.modisco.infra.query.impl;x-internal:=true,

  org.eclipse.gmt.modisco.infra.query.runtime,

+ org.eclipse.gmt.modisco.infra.query.runtime.impl;x-internal:=true,

  org.eclipse.gmt.modisco.infra.query.runtime.util;x-friends:="org.eclipse.gmt.modisco.infra.query.edit",

  org.eclipse.gmt.modisco.infra.query.util;x-friends:="org.eclipse.gmt.modisco.infra.query.edit"

 Require-Bundle: org.eclipse.core.runtime,

diff --git a/org.eclipse.gmt.modisco.java.cdo/META-INF/MANIFEST.MF b/org.eclipse.gmt.modisco.java.cdo/META-INF/MANIFEST.MF
index 760e8de..93763ba 100644
--- a/org.eclipse.gmt.modisco.java.cdo/META-INF/MANIFEST.MF
+++ b/org.eclipse.gmt.modisco.java.cdo/META-INF/MANIFEST.MF
@@ -13,6 +13,6 @@
  org.eclipse.emf.ecore.xmi;bundle-version="2.5.0";visibility:=reexport,

  org.eclipse.gmt.modisco.java;bundle-version="0.7.0"

 Bundle-ActivationPolicy: lazy

-Export-Package: org.eclipse.gmt.modisco.java.cdo.impl,

+Export-Package: org.eclipse.gmt.modisco.java.cdo.impl;x-internal:=true,

  org.eclipse.gmt.modisco.java.cdo.meta,

- org.eclipse.gmt.modisco.java.cdo.util

+ org.eclipse.gmt.modisco.java.cdo.util;x-internal:=true

diff --git a/org.eclipse.gmt.modisco.java.classiceobject/META-INF/MANIFEST.MF b/org.eclipse.gmt.modisco.java.classiceobject/META-INF/MANIFEST.MF
index 22f3ec0..f76cd9a 100644
--- a/org.eclipse.gmt.modisco.java.classiceobject/META-INF/MANIFEST.MF
+++ b/org.eclipse.gmt.modisco.java.classiceobject/META-INF/MANIFEST.MF
@@ -13,5 +13,5 @@
  org.eclipse.gmt.modisco.java;bundle-version="0.7.0"

 Bundle-ActivationPolicy: lazy

 Export-Package: org.eclipse.gmt.modisco.java.emf.classic,

- org.eclipse.gmt.modisco.java.emf.classic.impl,

- org.eclipse.gmt.modisco.java.emf.classic.util

+ org.eclipse.gmt.modisco.java.emf.classic.impl;x-internal:=true,

+ org.eclipse.gmt.modisco.java.emf.classic.util;x-internal:=true

diff --git a/org.eclipse.gmt.modisco.java.nousages.cdo/META-INF/MANIFEST.MF b/org.eclipse.gmt.modisco.java.nousages.cdo/META-INF/MANIFEST.MF
index 158b8dd..a5a8a19 100644
--- a/org.eclipse.gmt.modisco.java.nousages.cdo/META-INF/MANIFEST.MF
+++ b/org.eclipse.gmt.modisco.java.nousages.cdo/META-INF/MANIFEST.MF
@@ -7,9 +7,9 @@
 Bundle-Vendor: %providerName

 Bundle-Localization: plugin

 Bundle-RequiredExecutionEnvironment: J2SE-1.5

-Export-Package: org.eclipse.gmt.modisco.java.nousages.cdo.impl,

+Export-Package: org.eclipse.gmt.modisco.java.nousages.cdo.impl;x-internal:=true,

  org.eclipse.gmt.modisco.java.nousages.cdo.meta,

- org.eclipse.gmt.modisco.java.nousages.cdo.util

+ org.eclipse.gmt.modisco.java.nousages.cdo.util;x-internal:=true

 Require-Bundle: org.eclipse.core.runtime,

  org.eclipse.emf.ecore;visibility:=reexport,

  org.eclipse.emf.cdo;visibility:=reexport,

diff --git a/org.eclipse.gmt.modisco.java.nousages/META-INF/MANIFEST.MF b/org.eclipse.gmt.modisco.java.nousages/META-INF/MANIFEST.MF
index 3379034..5f799b7 100644
--- a/org.eclipse.gmt.modisco.java.nousages/META-INF/MANIFEST.MF
+++ b/org.eclipse.gmt.modisco.java.nousages/META-INF/MANIFEST.MF
@@ -7,9 +7,9 @@
 Bundle-Vendor: %providerName

 Bundle-Localization: plugin

 Bundle-RequiredExecutionEnvironment: J2SE-1.5

-Export-Package: org.eclipse.gmt.modisco.java.nousages.impl,

+Export-Package: org.eclipse.gmt.modisco.java.nousages.impl;x-internal:=true,

  org.eclipse.gmt.modisco.java.nousages.meta,

- org.eclipse.gmt.modisco.java.nousages.util

+ org.eclipse.gmt.modisco.java.nousages.util;x-internal:=true

 Require-Bundle: org.eclipse.core.runtime,

  org.eclipse.emf.ecore;visibility:=reexport,

  org.eclipse.emf.ecore.xmi;visibility:=reexport,

diff --git a/org.eclipse.gmt.modisco.omg.kdm/META-INF/MANIFEST.MF b/org.eclipse.gmt.modisco.omg.kdm/META-INF/MANIFEST.MF
index 085bdff..d215ee7 100644
--- a/org.eclipse.gmt.modisco.omg.kdm/META-INF/MANIFEST.MF
+++ b/org.eclipse.gmt.modisco.omg.kdm/META-INF/MANIFEST.MF
@@ -9,41 +9,41 @@
 Bundle-RequiredExecutionEnvironment: J2SE-1.5

 Export-Package: org.eclipse.gmt.modisco.omg.kdm,

  org.eclipse.gmt.modisco.omg.kdm.action,

- org.eclipse.gmt.modisco.omg.kdm.action.impl,

- org.eclipse.gmt.modisco.omg.kdm.action.util,

+ org.eclipse.gmt.modisco.omg.kdm.action.impl;x-internal:=true,

+ org.eclipse.gmt.modisco.omg.kdm.action.util;x-internal:=true,

  org.eclipse.gmt.modisco.omg.kdm.build,

- org.eclipse.gmt.modisco.omg.kdm.build.impl,

- org.eclipse.gmt.modisco.omg.kdm.build.util,

+ org.eclipse.gmt.modisco.omg.kdm.build.impl;x-internal:=true,

+ org.eclipse.gmt.modisco.omg.kdm.build.util;x-internal:=true,

  org.eclipse.gmt.modisco.omg.kdm.code,

- org.eclipse.gmt.modisco.omg.kdm.code.impl,

- org.eclipse.gmt.modisco.omg.kdm.code.util,

+ org.eclipse.gmt.modisco.omg.kdm.code.impl;x-internal:=true,

+ org.eclipse.gmt.modisco.omg.kdm.code.util;x-internal:=true,

  org.eclipse.gmt.modisco.omg.kdm.conceptual,

- org.eclipse.gmt.modisco.omg.kdm.conceptual.impl,

- org.eclipse.gmt.modisco.omg.kdm.conceptual.util,

+ org.eclipse.gmt.modisco.omg.kdm.conceptual.impl;x-internal:=true,

+ org.eclipse.gmt.modisco.omg.kdm.conceptual.util;x-internal:=true,

  org.eclipse.gmt.modisco.omg.kdm.core,

- org.eclipse.gmt.modisco.omg.kdm.core.impl,

- org.eclipse.gmt.modisco.omg.kdm.core.util,

+ org.eclipse.gmt.modisco.omg.kdm.core.impl;x-internal:=true,

+ org.eclipse.gmt.modisco.omg.kdm.core.util;x-internal:=true,

  org.eclipse.gmt.modisco.omg.kdm.data,

- org.eclipse.gmt.modisco.omg.kdm.data.impl,

- org.eclipse.gmt.modisco.omg.kdm.data.util,

+ org.eclipse.gmt.modisco.omg.kdm.data.impl;x-internal:=true,

+ org.eclipse.gmt.modisco.omg.kdm.data.util;x-internal:=true,

  org.eclipse.gmt.modisco.omg.kdm.event,

- org.eclipse.gmt.modisco.omg.kdm.event.impl,

- org.eclipse.gmt.modisco.omg.kdm.event.util,

+ org.eclipse.gmt.modisco.omg.kdm.event.impl;x-internal:=true,

+ org.eclipse.gmt.modisco.omg.kdm.event.util;x-internal:=true,

  org.eclipse.gmt.modisco.omg.kdm.kdm,

- org.eclipse.gmt.modisco.omg.kdm.kdm.impl,

- org.eclipse.gmt.modisco.omg.kdm.kdm.util,

+ org.eclipse.gmt.modisco.omg.kdm.kdm.impl;x-internal:=true,

+ org.eclipse.gmt.modisco.omg.kdm.kdm.util;x-internal:=true,

  org.eclipse.gmt.modisco.omg.kdm.platform,

- org.eclipse.gmt.modisco.omg.kdm.platform.impl,

- org.eclipse.gmt.modisco.omg.kdm.platform.util,

+ org.eclipse.gmt.modisco.omg.kdm.platform.impl;x-internal:=true,

+ org.eclipse.gmt.modisco.omg.kdm.platform.util;x-internal:=true,

  org.eclipse.gmt.modisco.omg.kdm.source,

- org.eclipse.gmt.modisco.omg.kdm.source.impl,

- org.eclipse.gmt.modisco.omg.kdm.source.util,

+ org.eclipse.gmt.modisco.omg.kdm.source.impl;x-internal:=true,

+ org.eclipse.gmt.modisco.omg.kdm.source.util;x-internal:=true,

  org.eclipse.gmt.modisco.omg.kdm.structure,

- org.eclipse.gmt.modisco.omg.kdm.structure.impl,

- org.eclipse.gmt.modisco.omg.kdm.structure.util,

+ org.eclipse.gmt.modisco.omg.kdm.structure.impl;x-internal:=true,

+ org.eclipse.gmt.modisco.omg.kdm.structure.util;x-internal:=true,

  org.eclipse.gmt.modisco.omg.kdm.ui,

- org.eclipse.gmt.modisco.omg.kdm.ui.impl,

- org.eclipse.gmt.modisco.omg.kdm.ui.util

+ org.eclipse.gmt.modisco.omg.kdm.ui.impl;x-internal:=true,

+ org.eclipse.gmt.modisco.omg.kdm.ui.util;x-internal:=true

 Require-Bundle: org.eclipse.emf.ecore;visibility:=reexport,

  org.eclipse.emf.ecore.xmi

 Bundle-ActivationPolicy: lazy

diff --git a/org.eclipse.gmt.modisco.omg.smm/META-INF/MANIFEST.MF b/org.eclipse.gmt.modisco.omg.smm/META-INF/MANIFEST.MF
index 703cf37..6e7106a 100644
--- a/org.eclipse.gmt.modisco.omg.smm/META-INF/MANIFEST.MF
+++ b/org.eclipse.gmt.modisco.omg.smm/META-INF/MANIFEST.MF
@@ -8,8 +8,8 @@
 Bundle-Localization: plugin

 Bundle-RequiredExecutionEnvironment: J2SE-1.5

 Export-Package: org.eclipse.gmt.modisco.omg.smm,

- org.eclipse.gmt.modisco.omg.smm.impl,

- org.eclipse.gmt.modisco.omg.smm.util

+ org.eclipse.gmt.modisco.omg.smm.impl;x-internal:=true,

+ org.eclipse.gmt.modisco.omg.smm.util;x-internal:=true

 Require-Bundle: org.eclipse.core.runtime,

  org.eclipse.emf.ecore;bundle-version="2.5.0";visibility:=reexport

 Bundle-ActivationPolicy: lazy

diff --git a/org.eclipse.gmt.modisco.xml/META-INF/MANIFEST.MF b/org.eclipse.gmt.modisco.xml/META-INF/MANIFEST.MF
index 32ff8d2..83d60a5 100644
--- a/org.eclipse.gmt.modisco.xml/META-INF/MANIFEST.MF
+++ b/org.eclipse.gmt.modisco.xml/META-INF/MANIFEST.MF
@@ -14,8 +14,8 @@
 Bundle-ActivationPolicy: lazy

 Export-Package: org.eclipse.gmt.modisco.xml,

  org.eclipse.gmt.modisco.xml.emf,

- org.eclipse.gmt.modisco.xml.emf.impl,

- org.eclipse.gmt.modisco.xml.emf.util,

- org.eclipse.gmt.modisco.xml.internal.resource;x-friends:="org.eclipse.modisco.xml.discoverer",

+ org.eclipse.gmt.modisco.xml.emf.impl;x-internal:=true,
+ org.eclipse.gmt.modisco.xml.emf.util;x-internal:=true,

+ org.eclipse.gmt.modisco.xml.internal.resource;x-friends:="org.eclipse.gmt.modisco.xml.discoverer,org.eclipse.modisco.xml.discoverer",

  org.eclipse.gmt.modisco.xml.resource

 Bundle-Activator: org.eclipse.gmt.modisco.xml.plugin.XmlActivator

diff --git a/org.eclipse.modisco.archi.tech.targetplatform/org.eclipse.modisco.archi.tech.targetplatform.target b/org.eclipse.modisco.archi.tech.targetplatform/org.eclipse.modisco.archi.tech.targetplatform.target
index dfa892a..398e3c6 100644
--- a/org.eclipse.modisco.archi.tech.targetplatform/org.eclipse.modisco.archi.tech.targetplatform.target
+++ b/org.eclipse.modisco.archi.tech.targetplatform/org.eclipse.modisco.archi.tech.targetplatform.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>

 <?pde version="3.6"?>

 

-<target name="org.eclipse.modisco.archi.tech.targetplatform" sequenceNumber="11">

+<target name="org.eclipse.modisco.archi.tech.targetplatform" sequenceNumber="14">

 <locations>

 <location includeAllPlatforms="false" includeMode="planner" includeSource="true" type="InstallableUnit">

 <unit id="org.eclipse.m2m.atl.feature.group" version="3.1.0.v201006150240"/>

@@ -19,16 +19,17 @@
 <unit id="org.apache.lucene" version="1.9.1.v20100518-1140"/>

 <unit id="org.eclipse.emf.cdo.server.db.feature.group" version="3.0.0.v20100614-1654"/>

 <unit id="org.eclipse.equinox.executable.feature.group" version="3.4.0.v20100524-7M7K-FIhIez-egBko15H73"/>

+<unit id="org.apache.commons.cli" version="1.0.0.v20080604-1500"/>

 <repository location="http://download.eclipse.org/releases/helios/201006230900/"/>

 </location>

 <location includeAllPlatforms="false" includeMode="planner" includeSource="true" type="InstallableUnit">

 <unit id="org.eclipse.epp.package.modeling.feature.feature.group" version="1.3.0.20100617-0520"/>

 <repository location="http://download.eclipse.org/technology/epp/packages/helios/"/>

 </location>

-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">

-<unit id="org.eclipse.emf.facet.sdk.feature.feature.group" version="1.1.0.201508071644"/>

-<unit id="org.eclipse.emf.facet.util.tests.feature.feature.group" version="1.1.0.201508071644"/>

-<repository location="http://download.eclipse.org/facet/updates/integration/"/>

+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.facet.sdk.feature.feature.group" version="1.0.2.201601181335"/>

+<unit id="org.eclipse.emf.facet.util.tests.feature.feature.group" version="1.0.2.201601181335"/>

+<repository location="http://download.eclipse.org/facet/updates/release/"/>

 </location>

 <location includeAllPlatforms="false" includeMode="planner" includeSource="true" type="InstallableUnit">

 <unit id="org.eclipse.swtbot.forms.feature.group" version="2.0.5.20111003_1754-3676ac8-dev-e36"/>

diff --git a/org.eclipse.modisco.doc.api.report.eclipsepackage/org.eclipse.modisco.doc.api.report.eclipsepackage.product b/org.eclipse.modisco.doc.api.report.eclipsepackage/org.eclipse.modisco.doc.api.report.eclipsepackage.product
index 8e263e7..7321a7f 100644
--- a/org.eclipse.modisco.doc.api.report.eclipsepackage/org.eclipse.modisco.doc.api.report.eclipsepackage.product
+++ b/org.eclipse.modisco.doc.api.report.eclipsepackage/org.eclipse.modisco.doc.api.report.eclipsepackage.product
@@ -206,7 +206,7 @@
       <feature id="org.eclipse.modisco.usecase.simpletransformationschain.feature"/>

       <feature id="org.eclipse.modisco.utils.chart.feature"/>

       <feature id="org.eclipse.modisco.xml.feature"/>

+      <feature id="org.eclipse.modisco.eclipse.feature"/>

    </features>

 

-

 </product>

diff --git a/org.eclipse.modisco.doc/maintoc.xml b/org.eclipse.modisco.doc/maintoc.xml
index 1f7baf9..671b93d 100644
--- a/org.eclipse.modisco.doc/maintoc.xml
+++ b/org.eclipse.modisco.doc/maintoc.xml
@@ -1,35 +1,37 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!--

-Copyright (c) 2010 Mia-Software.

-All rights reserved. This program and the accompanying materials

-are made available under the terms of the Eclipse Public License v1.0

-which accompanies this distribution, and is available at

-http://www.eclipse.org/legal/epl-v10.html

-

-Contributors:

-    Fabien GIQUEL (Mia-Software) - initial API and implementation

--->

-<toc label="MoDisco Documentation">

-   <topic label="MoDisco User Guide">

-	   <topic label="Infrastructure">

-	      <anchor id="infrastructure.main"/>

-	      <anchor id="infrastructure.omg"/>

-	   </topic>

-	   <topic label="Technologies">

-	      <anchor id="technologies.anchor"/>

-	   </topic>

-	   <topic label="Usecases">

-	      <anchor id="usecases.anchor"/>

-	   </topic>

-	   <topic href="javadoc/index.html" label="API Reference"/>

-	   <topic href="mediawiki/new_and_noteworthy.html" label="New and Noteworthy"/>

-   </topic>

-   <topic label="Simultaneous Release Tracker Required Documents">

-		<anchor id="api.report"/>

-		<anchor id="test.report"/>

-		<anchor id="metric.report"/>

-   </topic>

-   <topic label="Architecture documentation">

-		<anchor id="archi"/>

-   </topic>

-</toc>

+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2010, 2015 Mia-Software.
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+
+Contributors:
+    Fabien GIQUEL (Mia-Software) - initial API and implementation
+    Grégoire Dupé (Mia-Software) - Bug 479420 - Moving the API policy wiki page to git.
+-->
+<toc label="MoDisco Documentation">
+	<topic label="MoDisco User Guide">
+		<topic label="Infrastructure">
+			<anchor id="infrastructure.main"/>
+			<anchor id="infrastructure.omg"/>
+		</topic>
+		<topic label="Technologies">
+			<anchor id="technologies.anchor"/>
+		</topic>
+		<topic label="Usecases">
+			<anchor id="usecases.anchor"/>
+		</topic>
+		<topic href="javadoc/index.html" label="API Reference"/>
+		<topic href="mediawiki/new_and_noteworthy.html" label="New and Noteworthy"/>
+	</topic>
+	<topic label="Simultaneous Release Tracker Required Documents">
+		<topic href="mediawiki/API_policy.html" label="API Policy"/>
+		<anchor id="api.report"/>
+		<anchor id="test.report"/>
+		<anchor id="metric.report"/>
+	</topic>
+	<topic label="Architecture documentation">
+		<anchor id="archi"/>
+	</topic>
+</toc>
diff --git a/org.eclipse.modisco.doc/mediawiki/API_policy.mediawiki b/org.eclipse.modisco.doc/mediawiki/API_policy.mediawiki
new file mode 100644
index 0000000..c531182
--- /dev/null
+++ b/org.eclipse.modisco.doc/mediawiki/API_policy.mediawiki
@@ -0,0 +1,77 @@
+=API Policy=
+
+This policy defines rules which give some guarantees to adopters about the MoDisco API stability.
+
+We consider MoDisco API as the union of Java API, Eclipse Extension points, and also Models.
+
+Indeed, since the MoDisco project addresses Model-Driven Reverse Engineering, it proposes various metamodels definitions and conforming models to support the end-user use cases. 
+
+== Declared API  ==
+
+Declared API is public API that MoDisco has committed to supporting for several releases. It should be clean and contain adequate javadoc. Declared API may evolve in the first few milestones, but it must be frozen by the release API freeze date and will not change throughout the remainder of the release or the corresponding maintenance releases.
+
+In following releases, API may sometimes be deprecated due to the normal evolution of MoDisco. Deprecations must contain information on a migration path for existing adopters. Deprecated API may not be removed for at least 1 major release (and preferably longer), and after notifying the community.
+
+The user must not implement or extend the API generated by EMF.
+
+== Provisional API  ==
+
+Provisional API is a work in progress towards fully Declared API and can be used when committers want to gather community feedback before declaring API, or when there are known problems with a new API that cannot be addressed by API freeze date. Provisional API status is meant to be a temporary state and API should not remain provisional for an undue length of time.
+
+Provisional Java API should be marked at the class or member level with the following javadoc comment:
+<pre>/** Provisional API: This class/interface is part of an interim API
+* that is still under development and expected to
+* change before reaching stability.
+*/
+</pre>
+Provisional Model API should be marked at the ecore level with a metamodel identifier mentioning "incubation" (e.g. "http://www.eclipse.org/MoDisco/Java/0.2.incubation/java" as nsURI identifier of an ecore definition). Java model API, because it is generated from ecore model, shouldn't have to be marked as provisional accordingly to the ecore definition.
+
+Provisional Extension Point API should be marked as "incubation" in extension point naming.
+
+== Examples API  ==
+
+The project delivers some examples plugins for various MoDisco features. It includes some models conforming to MoDisco infrastructure and technologies layers, and some Java API. Those components might be used as a starting point for the end-user reverse engineering process. But Examples API is not as stable as declared API and is expected to change.
+
+Any resource included in a plugin whose name indicates 'examples' should be considered of Internal API kind.
+
+The examples APIs are not stable. They can change without any notice (including in a service release).
+
+== Test API  ==
+
+In addition the project delivers some tests plugins for various MoDisco features. It also includes some models and Java classes, which are not as stable as declared API.
+
+Any resource included in a plugin whose name indicates 'test' should be also considered of Internal API kind.
+
+== Internal Use  ==
+
+Internal code is everything else. MoDisco reserves the right to change internal code at any time (including in a service release).
+
+The internal packages should contain 'internal' in the package name
+The internal packages should not appear in "Exported Packages" in manifest file. ''Note : within MoDisco components, x-friends|x-internal can be used in the manifest to give 'internal' access to any plugin from the same layer that requires it, in such a case it is accurate to write a API.readme.txt file at the top level of the project to justify why one of its internal package is exposed.''
+
+Internal extension points should be indicated by 'internal' in the extension point name.
+
+Internal model API (rare) should be indicated by 'internal' in the identifier.
+
+If adopters require the use of internal code and do not want to be continually broken, they should open bugzilla enhancement requests for API. These bugs will be triaged and will help drive the creation of new declared or provisional API.
+
+== Deprecated API declaration ==
+
+When an API need to be declared deprecated, the contributor has to:
+* Add the @Deprecated tag in the Java code.
+* Open a bug:
+** having a summary starting with [Deprecated],
+** specifying in which version the API will be removed.
+* Copy the bug URL in the Java code of the deprecated API.
+* Add in the Javadoc comment using the @deprecated tag:
+** an explanation of what to do when we are using the deprecated API,
+** the version number of the deprecation,
+** the bug URL.
+
+<font size="-2">
+Copyright (c) 2015 Mia-Software.
+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.
+</font>
diff --git a/org.eclipse.modisco.eclipse.feature/.project b/org.eclipse.modisco.eclipse.feature/.project
new file mode 100644
index 0000000..cb6fbd8
--- /dev/null
+++ b/org.eclipse.modisco.eclipse.feature/.project
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+    Copyright (c) 2015 Mia-Software.

+    All rights reserved. This program and the accompanying materials

+    are made available under the terms of the Eclipse Public License v1.0

+    which accompanies this distribution, and is available at

+    http://www.eclipse.org/legal/epl-v10.html

+   

+    Contributors:

+        Grégoire Dupé (Mia-Software) - Bug 480189 - org.eclipse.modisco.{manifest,eclipseplugin,properties}* should be added in the updatesite

+ -->

+<projectDescription>

+	<name>org.eclipse.modisco.eclipse.feature</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

+			<name>org.eclipse.pde.FeatureBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

+		<nature>org.eclipse.pde.FeatureNature</nature>

+	</natures>

+</projectDescription>

diff --git a/org.eclipse.modisco.eclipse.feature/build.properties b/org.eclipse.modisco.eclipse.feature/build.properties
new file mode 100644
index 0000000..153defc
--- /dev/null
+++ b/org.eclipse.modisco.eclipse.feature/build.properties
@@ -0,0 +1,13 @@
+###############################################################################

+# Copyright (c) 2015 Mia-Software.

+# All rights reserved. This program and the accompanying materials

+# are made available under the terms of the Eclipse Public License v1.0

+# which accompanies this distribution, and is available at

+# http://www.eclipse.org/legal/epl-v10.html

+#

+# Contributors:

+#     Gregoire Dupe (Mia-Software) - Bug 480189 - org.eclipse.modisco.{manifest,eclipseplugin,properties}* should be added in the updatesite

+###############################################################################

+

+bin.includes = feature.xml,\

+               feature.properties

diff --git a/org.eclipse.modisco.eclipse.feature/feature.properties b/org.eclipse.modisco.eclipse.feature/feature.properties
new file mode 100644
index 0000000..f785af7
--- /dev/null
+++ b/org.eclipse.modisco.eclipse.feature/feature.properties
@@ -0,0 +1,15 @@
+###############################################################################

+# Copyright (c) 2015 Mia-Software.

+# All rights reserved. This program and the accompanying materials

+# are made available under the terms of the Eclipse Public License v1.0

+# which accompanies this distribution, and is available at

+# http://www.eclipse.org/legal/epl-v10.html

+#

+# Contributors:

+#     Gregoire Dupe (Mia-Software) - Bug 480189 - org.eclipse.modisco.{manifest,eclipseplugin,properties}* should be added in the updatesite

+###############################################################################

+

+featureName=MoDisco Eclipse Platform Discovery Feature

+providerName=Eclipse Modeling Project

+description=MoDisco is a framework for model driven reverse engineering and \

+software modernization. This feature provides the MoDisco discoverers for Eclipse platform.

diff --git a/org.eclipse.modisco.eclipse.feature/feature.xml b/org.eclipse.modisco.eclipse.feature/feature.xml
new file mode 100644
index 0000000..1c81d24
--- /dev/null
+++ b/org.eclipse.modisco.eclipse.feature/feature.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--
+    Copyright (c) 2015 Mia-Software.
+    All rights reserved. This program and the accompanying materials
+    are made available under the terms of the Eclipse Public License v1.0
+    which accompanies this distribution, and is available at
+    http://www.eclipse.org/legal/epl-v10.html
+   
+    Contributors:
+       Grégoire Dupé (Mia-Software) - Bug 480189 - org.eclipse.modisco.manifest* and org.eclipse.modisco.eclipseplugin* should be added in the updatesite
+ -->

+<feature

+      id="org.eclipse.modisco.eclipse.feature"

+      label="%featureName"

+      version="1.0.0.qualifier"

+      provider-name="%providerName"

+      license-feature="org.eclipse.license"

+      license-feature-version="0.0.0">

+

+   <description url="http://www.eclipse.org/MoDisco/">

+      %description

+   </description>

+

+   <copyright>

+      Copyright (c) 2015 Mia-Software.
+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

+   </copyright>

+

+   <license url="%licenseURL">

+      %license

+   </license>

+

+   <requires>

+      <import

+         feature="org.eclipse.modisco.java.feature"

+         version="1.0.0"

+         match="greaterOrEqual"/>

+   </requires>

+

+   <plugin

+         id="org.eclipse.modisco.eclipseplugin"

+         download-size="0"

+         install-size="0"

+         version="0.0.0"

+         unpack="false"/>

+

+   <plugin

+         id="org.eclipse.modisco.eclipseplugin.discoverer"

+         download-size="0"

+         install-size="0"

+         version="0.0.0"

+         unpack="false"/>

+

+   <plugin

+         id="org.eclipse.modisco.eclipseplugin.discoverer.ui"

+         download-size="0"

+         install-size="0"

+         version="0.0.0"

+         unpack="false"/>

+

+</feature>

diff --git a/org.eclipse.modisco.eclipseplugin/META-INF/MANIFEST.MF b/org.eclipse.modisco.eclipseplugin/META-INF/MANIFEST.MF
index 1ce6c99..eb4dd78 100644
--- a/org.eclipse.modisco.eclipseplugin/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.eclipseplugin/META-INF/MANIFEST.MF
@@ -8,8 +8,8 @@
 Bundle-Localization: plugin

 Bundle-RequiredExecutionEnvironment: J2SE-1.5

 Export-Package: org.eclipse.modisco.eclipseplugin,

- org.eclipse.modisco.eclipseplugin.impl,

- org.eclipse.modisco.eclipseplugin.util

+ org.eclipse.modisco.eclipseplugin.impl;x-internal:=true,

+ org.eclipse.modisco.eclipseplugin.util;x-internal:=true

 Require-Bundle: org.eclipse.core.runtime,

  org.eclipse.emf.ecore;visibility:=reexport,

  org.eclipse.gmt.modisco.java;visibility:=reexport,

diff --git a/org.eclipse.modisco.infra.browser.ecore.core/build.properties b/org.eclipse.modisco.infra.browser.ecore.core/build.properties
index e79bb21..1265153 100644
--- a/org.eclipse.modisco.infra.browser.ecore.core/build.properties
+++ b/org.eclipse.modisco.infra.browser.ecore.core/build.properties
@@ -4,5 +4,6 @@
                .,\

                plugin.xml,\

                about.html,\

-               custom/

+               custom/,\

+               facet/

 src.includes = about.html

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/.pmd b/org.eclipse.modisco.infra.discovery.benchmark.core/.pmd
index 726c68f..efcd2db 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.core/.pmd
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/.pmd
@@ -1,941 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <pmd>
-    <useProjectRuleSet>false</useProjectRuleSet>
-    <ruleSetFile>.ruleset</ruleSetFile>
-    <rules>
-        <rule>
-            <name>AvoidDecimalLiteralsInBigDecimalConstructor</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidMultipleUnaryOperators</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidThreadGroup</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidUsingHardCodedIP</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidUsingOctalValues</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>BigIntegerInstantiation</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>BooleanInstantiation</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>BrokenNullCheck</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>CheckResultSet</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ClassCastExceptionWithToArray</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>CollapsibleIfStatements</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>DoubleCheckedLocking</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>EmptyCatchBlock</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>EmptyFinallyBlock</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>EmptyIfStmt</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>EmptyInitializer</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>EmptyStatementNotInLoop</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>EmptyStaticInitializer</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>EmptySwitchStatements</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>EmptySynchronizedBlock</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>EmptyTryBlock</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>EmptyWhileStmt</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ForLoopShouldBeWhileLoop</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>JumbledIncrementer</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>MisplacedNullCheck</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>OverrideBothEqualsAndHashcode</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ReturnFromFinallyBlock</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnconditionalIfStatement</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnnecessaryConversionTemporary</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnnecessaryFinalModifier</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnnecessaryReturn</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnusedNullCheckInEquals</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UselessOperationOnImmutable</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UselessOverridingMethod</name>
-            <ruleset>Basic Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ForLoopsMustUseBraces</name>
-            <ruleset>Braces Rules</ruleset>
-        </rule>
-        <rule>
-            <name>IfElseStmtsMustUseBraces</name>
-            <ruleset>Braces Rules</ruleset>
-        </rule>
-        <rule>
-            <name>IfStmtsMustUseBraces</name>
-            <ruleset>Braces Rules</ruleset>
-        </rule>
-        <rule>
-            <name>WhileLoopsMustUseBraces</name>
-            <ruleset>Braces Rules</ruleset>
-        </rule>
-        <rule>
-            <name>CloneThrowsCloneNotSupportedException</name>
-            <ruleset>Clone Implementation Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ProperCloneImplementation</name>
-            <ruleset>Clone Implementation Rules</ruleset>
-        </rule>
-        <rule>
-            <name>CyclomaticComplexity</name>
-            <ruleset>Code Size Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ExcessiveClassLength</name>
-            <ruleset>Code Size Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ExcessiveMethodLength</name>
-            <ruleset>Code Size Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ExcessiveParameterList</name>
-            <ruleset>Code Size Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ExcessivePublicCount</name>
-            <ruleset>Code Size Rules</ruleset>
-        </rule>
-        <rule>
-            <name>NcssConstructorCount</name>
-            <ruleset>Code Size Rules</ruleset>
-        </rule>
-        <rule>
-            <name>NcssMethodCount</name>
-            <ruleset>Code Size Rules</ruleset>
-        </rule>
-        <rule>
-            <name>NcssTypeCount</name>
-            <ruleset>Code Size Rules</ruleset>
-        </rule>
-        <rule>
-            <name>NPathComplexity</name>
-            <ruleset>Code Size Rules</ruleset>
-        </rule>
-        <rule>
-            <name>TooManyFields</name>
-            <ruleset>Code Size Rules</ruleset>
-        </rule>
-        <rule>
-            <name>TooManyMethods</name>
-            <ruleset>Code Size Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AssignmentInOperand</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AtLeastOneConstructor</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidAccessibilityAlteration</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidFinalLocalVariable</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidUsingNativeCode</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidUsingShortType</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidUsingVolatile</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>BooleanInversion</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>CallSuperInConstructor</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>DataflowAnomalyAnalysis</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>DefaultPackage</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>DoNotCallGarbageCollectionExplicitly</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>DontImportSun</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>NullAssignment</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>OnlyOneReturn</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SuspiciousOctalEscape</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnnecessaryConstructor</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnnecessaryParentheses</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnusedModifier</name>
-            <ruleset>Controversial Rules</ruleset>
-        </rule>
-        <rule>
-            <name>CouplingBetweenObjects</name>
-            <ruleset>Coupling Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ExcessiveImports</name>
-            <ruleset>Coupling Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AbstractClassWithoutAbstractMethod</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AbstractClassWithoutAnyMethod</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AccessorClassGeneration</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AssignmentToNonFinalStatic</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidConstantsInterface</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidDeeplyNestedIfStmts</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidInstanceofChecksInCatchClause</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidProtectedFieldInFinalClass</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidReassigningParameters</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidSynchronizedAtMethodLevel</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>BadComparison</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>CloseResource</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>CompareObjectsWithEquals</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ConfusingTernary</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ConstructorCallsOverridableMethod</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>DefaultLabelNotLastInSwitchStmt</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>EmptyMethodInAbstractClassShouldBeAbstract</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>EqualsNull</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>FinalFieldCouldBeStatic</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>IdempotentOperations</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ImmutableField</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>InstantiationToGetClass</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>MissingBreakInSwitch</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>MissingStaticMethodInNonInstantiatableClass</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>NonCaseLabelInSwitchStatement</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>NonStaticInitializer</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>NonThreadSafeSingleton</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>OptimizableToArrayCall</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>PositionLiteralsFirstInComparisons</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>PreserveStackTrace</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ReturnEmptyArrayRatherThanNull</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SimpleDateFormatNeedsLocale</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SimplifyBooleanExpressions</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SimplifyBooleanReturns</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SimplifyConditional</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SingularField</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SwitchDensity</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SwitchStmtsShouldHaveDefault</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>TooFewBranchesForASwitchStatement</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UncommentedEmptyConstructor</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UncommentedEmptyMethod</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnnecessaryLocalBeforeReturn</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnsynchronizedStaticDateFormatter</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseCollectionIsEmpty</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseLocaleWithCaseConversions</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseNotifyAllInsteadOfNotify</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseSingleton</name>
-            <ruleset>Design Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidCallingFinalize</name>
-            <ruleset>Finalizer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>EmptyFinalizer</name>
-            <ruleset>Finalizer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>FinalizeDoesNotCallSuperFinalize</name>
-            <ruleset>Finalizer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>FinalizeOnlyCallsSuperFinalize</name>
-            <ruleset>Finalizer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>FinalizeOverloaded</name>
-            <ruleset>Finalizer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>FinalizeShouldBeProtected</name>
-            <ruleset>Finalizer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>DontImportJavaLang</name>
-            <ruleset>Import Statement Rules</ruleset>
-        </rule>
-        <rule>
-            <name>DuplicateImports</name>
-            <ruleset>Import Statement Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ImportFromSamePackage</name>
-            <ruleset>Import Statement Rules</ruleset>
-        </rule>
-        <rule>
-            <name>TooManyStaticImports</name>
-            <ruleset>Import Statement Rules</ruleset>
-        </rule>
-        <rule>
-            <name>DoNotCallSystemExit</name>
-            <ruleset>J2EE Rules</ruleset>
-        </rule>
-        <rule>
-            <name>DoNotUseThreads</name>
-            <ruleset>J2EE Rules</ruleset>
-        </rule>
-        <rule>
-            <name>LocalHomeNamingConvention</name>
-            <ruleset>J2EE Rules</ruleset>
-        </rule>
-        <rule>
-            <name>LocalInterfaceSessionNamingConvention</name>
-            <ruleset>J2EE Rules</ruleset>
-        </rule>
-        <rule>
-            <name>MDBAndSessionBeanNamingConvention</name>
-            <ruleset>J2EE Rules</ruleset>
-        </rule>
-        <rule>
-            <name>RemoteInterfaceNamingConvention</name>
-            <ruleset>J2EE Rules</ruleset>
-        </rule>
-        <rule>
-            <name>RemoteSessionInterfaceNamingConvention</name>
-            <ruleset>J2EE Rules</ruleset>
-        </rule>
-        <rule>
-            <name>StaticEJBFieldShouldBeFinal</name>
-            <ruleset>J2EE Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseProperClassLoader</name>
-            <ruleset>J2EE Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ProperLogger</name>
-            <ruleset>Jakarta Commons Logging Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseCorrectExceptionLogging</name>
-            <ruleset>Jakarta Commons Logging Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidPrintStackTrace</name>
-            <ruleset>Java Logging Rules</ruleset>
-        </rule>
-        <rule>
-            <name>LoggerIsNotStaticFinal</name>
-            <ruleset>Java Logging Rules</ruleset>
-        </rule>
-        <rule>
-            <name>MoreThanOneLogger</name>
-            <ruleset>Java Logging Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SystemPrintln</name>
-            <ruleset>Java Logging Rules</ruleset>
-        </rule>
-        <rule>
-            <name>BeanMembersShouldSerialize</name>
-            <ruleset>JavaBean Rules</ruleset>
-        </rule>
-        <rule>
-            <name>MissingSerialVersionUID</name>
-            <ruleset>JavaBean Rules</ruleset>
-        </rule>
-        <rule>
-            <name>JUnitAssertionsShouldIncludeMessage</name>
-            <ruleset>JUnit Rules</ruleset>
-        </rule>
-        <rule>
-            <name>JUnitSpelling</name>
-            <ruleset>JUnit Rules</ruleset>
-        </rule>
-        <rule>
-            <name>JUnitStaticSuite</name>
-            <ruleset>JUnit Rules</ruleset>
-        </rule>
-        <rule>
-            <name>JUnitTestsShouldIncludeAssert</name>
-            <ruleset>JUnit Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SimplifyBooleanAssertion</name>
-            <ruleset>JUnit Rules</ruleset>
-        </rule>
-        <rule>
-            <name>TestClassWithoutTestCases</name>
-            <ruleset>JUnit Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnnecessaryBooleanAssertion</name>
-            <ruleset>JUnit Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseAssertEqualsInsteadOfAssertTrue</name>
-            <ruleset>JUnit Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseAssertNullInsteadOfAssertTrue</name>
-            <ruleset>JUnit Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseAssertSameInsteadOfAssertTrue</name>
-            <ruleset>JUnit Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidAssertAsIdentifier</name>
-            <ruleset>Migration Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidEnumAsIdentifier</name>
-            <ruleset>Migration Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ByteInstantiation</name>
-            <ruleset>Migration Rules</ruleset>
-        </rule>
-        <rule>
-            <name>IntegerInstantiation</name>
-            <ruleset>Migration Rules</ruleset>
-        </rule>
-        <rule>
-            <name>JUnit4SuitesShouldUseSuiteAnnotation</name>
-            <ruleset>Migration Rules</ruleset>
-        </rule>
-        <rule>
-            <name>JUnit4TestShouldUseAfterAnnotation</name>
-            <ruleset>Migration Rules</ruleset>
-        </rule>
-        <rule>
-            <name>JUnit4TestShouldUseBeforeAnnotation</name>
-            <ruleset>Migration Rules</ruleset>
-        </rule>
-        <rule>
-            <name>JUnit4TestShouldUseTestAnnotation</name>
-            <ruleset>Migration Rules</ruleset>
-        </rule>
-        <rule>
-            <name>JUnitUseExpected</name>
-            <ruleset>Migration Rules</ruleset>
-        </rule>
-        <rule>
-            <name>LongInstantiation</name>
-            <ruleset>Migration Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ReplaceEnumerationWithIterator</name>
-            <ruleset>Migration Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ReplaceHashtableWithMap</name>
-            <ruleset>Migration Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ReplaceVectorWithList</name>
-            <ruleset>Migration Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ShortInstantiation</name>
-            <ruleset>Migration Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AbstractNaming</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidDollarSigns</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidFieldNameMatchingMethodName</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidFieldNameMatchingTypeName</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>BooleanGetMethodName</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ClassNamingConventions</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>LongVariable</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>MethodNamingConventions</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>MethodWithSameNameAsEnclosingClass</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>MisleadingVariableName</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>NoPackage</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>PackageCase</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ShortMethodName</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ShortVariable</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SuspiciousConstantFieldName</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SuspiciousEqualsMethodName</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SuspiciousHashcodeMethodName</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>VariableNamingConventions</name>
-            <ruleset>Naming Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AddEmptyString</name>
-            <ruleset>Optimization Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidArrayLoops</name>
-            <ruleset>Optimization Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidInstantiatingObjectsInLoops</name>
-            <ruleset>Optimization Rules</ruleset>
-        </rule>
-        <rule>
-            <name>LocalVariableCouldBeFinal</name>
-            <ruleset>Optimization Rules</ruleset>
-        </rule>
-        <rule>
-            <name>MethodArgumentCouldBeFinal</name>
-            <ruleset>Optimization Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SimplifyStartsWith</name>
-            <ruleset>Optimization Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnnecessaryWrapperObjectCreation</name>
-            <ruleset>Optimization Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseArrayListInsteadOfVector</name>
-            <ruleset>Optimization Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseArraysAsList</name>
-            <ruleset>Optimization Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseStringBufferForStringAppends</name>
-            <ruleset>Optimization Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ArrayIsStoredDirectly</name>
-            <ruleset>Security Code Guidelines</ruleset>
-        </rule>
-        <rule>
-            <name>MethodReturnsInternalArray</name>
-            <ruleset>Security Code Guidelines</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidCatchingNPE</name>
-            <ruleset>Strict Exception Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidCatchingThrowable</name>
-            <ruleset>Strict Exception Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidRethrowingException</name>
-            <ruleset>Strict Exception Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidThrowingNewInstanceOfSameException</name>
-            <ruleset>Strict Exception Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidThrowingNullPointerException</name>
-            <ruleset>Strict Exception Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidThrowingRawExceptionTypes</name>
-            <ruleset>Strict Exception Rules</ruleset>
-        </rule>
-        <rule>
-            <name>DoNotExtendJavaLangError</name>
-            <ruleset>Strict Exception Rules</ruleset>
-        </rule>
-        <rule>
-            <name>DoNotThrowExceptionInFinally</name>
-            <ruleset>Strict Exception Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ExceptionAsFlowControl</name>
-            <ruleset>Strict Exception Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AppendCharacterWithChar</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidDuplicateLiterals</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>AvoidStringBufferField</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>ConsecutiveLiteralAppends</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>InefficientEmptyStringCheck</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>InefficientStringBuffering</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>InsufficientStringBufferDeclaration</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>StringBufferInstantiationWithChar</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>StringInstantiation</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>StringToString</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnnecessaryCaseChange</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseEqualsToCompareStrings</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseIndexOfChar</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UselessStringValueOf</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UseStringBufferLength</name>
-            <ruleset>String and StringBuffer Rules</ruleset>
-        </rule>
-        <rule>
-            <name>CloneMethodMustImplementCloneable</name>
-            <ruleset>Type Resolution Rules</ruleset>
-        </rule>
-        <rule>
-            <name>LooseCoupling</name>
-            <ruleset>Type Resolution Rules</ruleset>
-        </rule>
-        <rule>
-            <name>SignatureDeclareThrowsException</name>
-            <ruleset>Type Resolution Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnusedImports</name>
-            <ruleset>Type Resolution Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnusedFormalParameter</name>
-            <ruleset>Unused Code Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnusedLocalVariable</name>
-            <ruleset>Unused Code Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnusedPrivateField</name>
-            <ruleset>Unused Code Rules</ruleset>
-        </rule>
-        <rule>
-            <name>UnusedPrivateMethod</name>
-            <ruleset>Unused Code Rules</ruleset>
-        </rule>
-    </rules>
+    <useProjectRuleSet>true</useProjectRuleSet>
+    <ruleSetFile>../org.eclipse.emf.facet.archi.tech.rules/pmd/ruleset.xml</ruleSetFile>
     <includeDerivedFiles>false</includeDerivedFiles>
     <violationsAsErrors>true</violationsAsErrors>
 </pmd>
diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/.project b/org.eclipse.modisco.infra.discovery.benchmark.core/.project
index 3be3b5f..6a6efa8 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.core/.project
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/.project
@@ -30,11 +30,17 @@
 			<arguments>

 			</arguments>

 		</buildCommand>

+		<buildCommand>

+			<name>net.sourceforge.pmd.eclipse.plugin.pmdBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

 	</buildSpec>

 	<natures>

 		<nature>org.eclipse.acceleo.ide.ui.acceleoNature</nature>

 		<nature>org.eclipse.pde.PluginNature</nature>

 		<nature>org.eclipse.jdt.core.javanature</nature>

 		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>

+		<nature>net.sourceforge.pmd.eclipse.plugin.pmdNature</nature>

 	</natures>

-</projectDescription>

+</projectDescription>
\ No newline at end of file
diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/.settings/org.eclipse.core.resources.prefs b/org.eclipse.modisco.infra.discovery.benchmark.core/.settings/org.eclipse.core.resources.prefs
index 4824b80..0d00646 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.core/.settings/org.eclipse.core.resources.prefs
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/.settings/org.eclipse.core.resources.prefs
@@ -1,2 +1,3 @@
 eclipse.preferences.version=1

+encoding//src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/messages.properties=ISO-8859-1

 encoding/<project>=UTF-8

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/META-INF/MANIFEST.MF b/org.eclipse.modisco.infra.discovery.benchmark.core/META-INF/MANIFEST.MF
index 54e9450..194e350 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.core/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/META-INF/MANIFEST.MF
@@ -19,8 +19,14 @@
  org.eclipse.jdt.core;bundle-version="3.6.0",
  org.eclipse.modisco.utils.core;bundle-version="0.10.0",
  org.eclipse.modisco.utils.chart.birt.core;bundle-version="0.10.0",
- org.eclipse.modisco.utils.chart.metamodel;bundle-version="0.10.0"
+ org.eclipse.modisco.utils.chart.metamodel;bundle-version="0.10.0",
+ org.apache.commons.cli;bundle-version="1.0.0",
+ org.eclipse.emf.facet.util.core;bundle-version="1.1.0",
+ org.eclipse.emf.common
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.modisco.infra.discovery.benchmark.core.internal.exported;x-friends:="org.eclipse.modisco.infra.discovery.benchmark.ui"
+Export-Package: org.eclipse.modisco.infra.discovery.benchmark.core;x-internal:=true,
+ org.eclipse.modisco.infra.discovery.benchmark.core.internal.exported;x-friends:="org.eclipse.modisco.infra.discovery.benchmark.ui",
+ org.eclipse.modisco.infra.discovery.benchmark.core.internal.reporting;x-internal:=true,
+ org.eclipse.modisco.infra.discovery.benchmark.core.internal.reporting.internal;x-internal:=true
 
diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/plugin.xml b/org.eclipse.modisco.infra.discovery.benchmark.core/plugin.xml
index 8438930..eaa6b11 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.core/plugin.xml
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/plugin.xml
@@ -1,21 +1,57 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<?eclipse version="3.4"?>

-<plugin>

-   <extension

-         point="org.eclipse.modisco.infra.discovery.core.discoverer">

-      <discoverer

-            class="org.eclipse.modisco.infra.discovery.benchmark.core.internal.impl.DiscovererBenchmarkDiscoverer"

-            id="org.eclipse.modisco.infra.discovery.benchmark.api.benchmarkdiscoverer">

-      </discoverer>

-   </extension>

-   <extension

-         point="org.eclipse.emf.facet.util.emf.core.serialization">

-      <serializer

-            class="org.eclipse.modisco.infra.discovery.benchmark.core.internal.api.IProjectSetSerializer">

-      </serializer>

-      <serializer

-            class="org.eclipse.modisco.infra.discovery.benchmark.core.internal.DiscovererListSerializer">

-      </serializer>

-   </extension>

-

-</plugin>

+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<!--
+ Copyright (c) 2012, 2015 Mia-Software.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+    Grégoire Dupé (Mia-Software) - Bug 482656 - infra.discovery.benchmark.core should be splitted to separate Accelo dependencies
+    Grégoire Dupé (Mia-Software) - Bug 482672 - Benchmark command line interface 
+-->
+<plugin>
+   <extension
+         point="org.eclipse.modisco.infra.discovery.core.discoverer">
+      <discoverer
+            class="org.eclipse.modisco.infra.discovery.benchmark.core.internal.impl.DiscovererBenchmarkDiscoverer"
+            id="org.eclipse.modisco.infra.discovery.benchmark.api.benchmarkdiscoverer">
+      </discoverer>
+   </extension>
+   <extension
+         id="benchmark"
+         name="benchmark"
+         point="org.eclipse.core.runtime.applications">
+      <application
+            cardinality="singleton-global"
+            thread="main"
+            visible="true">
+         <run
+               class="org.eclipse.modisco.infra.discovery.benchmark.core.internal.Application">
+         </run>
+      </application>
+   </extension>
+   <extension
+         id="xmiToHtml"
+         name="xmiToHtml"
+         point="org.eclipse.core.runtime.applications">
+      <application
+            cardinality="singleton-global"
+            thread="main"
+            visible="true">
+         <run
+               class="org.eclipse.modisco.infra.discovery.benchmark.core.internal.XmiToHtmlApplication">
+         </run>
+      </application>
+   </extension>
+   <extension
+         point="org.eclipse.emf.facet.util.emf.core.serialization">
+      <serializer
+            class="org.eclipse.modisco.infra.discovery.benchmark.core.internal.api.IProjectSetSerializer">
+      </serializer>
+      <serializer
+            class="org.eclipse.modisco.infra.discovery.benchmark.core.internal.DiscovererListSerializer">
+      </serializer>
+   </extension>
+</plugin>
diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/pom.xsl b/org.eclipse.modisco.infra.discovery.benchmark.core/pom.xsl
new file mode 100644
index 0000000..04de2d3
--- /dev/null
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/pom.xsl
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+ Copyright (c) 2015 Mia-Software.

+ All rights reserved. This program and the accompanying materials

+ are made available under the terms of the Eclipse Public License v1.0

+ which accompanies this distribution, and is available at

+ http://www.eclipse.org/legal/epl-v10.html

+

+ Contributors:

+    Grégoire Dupé (Mia-Software) - Bug 482656 - infra.discovery.benchmark.core should be splitted to separate Accelo dependencies

+-->

+<xsl:stylesheet version="1.0"

+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common"

+	extension-element-prefixes="exsl" xmlns:m2="http://maven.apache.org/POM/4.0.0"

+	xmlns="http://maven.apache.org/POM/4.0.0">

+	<xsl:output indent="yes" />

+

+	<xsl:template match="/">

+		

+		<project

+			xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"

+			xmlns="http://maven.apache.org/POM/4.0.0"

+			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

+			<xsl:apply-templates select="//m2:project/*[name()!='build']" />

+			<properties>

+				<eclipse-site>http://download.eclipse.org/releases/indigo</eclipse-site>

+				<platform-version>[3.7,3.8)</platform-version>

+			</properties>

+			<repositories>

+				<repository>

+					<id>Eclipse - Acceleo Snapshots</id>

+					<url>https://repo.eclipse.org/content/repositories/acceleo-snapshots</url>

+				</repository>

+				<repository>

+					<id>Eclipse - Acceleo Release</id>

+					<url>https://repo.eclipse.org/content/repositories/acceleo-releases</url>

+				</repository>

+			</repositories>

+		

+			<pluginRepositories>

+				<pluginRepository>

+					<id>Eclipse - Acceleo Snapshots</id>

+					<url>https://repo.eclipse.org/content/repositories/acceleo-snapshots</url>

+				</pluginRepository>

+				<pluginRepository>

+					<id>Eclipse - Acceleo Release</id>

+					<url>https://repo.eclipse.org/content/repositories/acceleo-releases</url>

+				</pluginRepository>

+			</pluginRepositories>

+

+			<dependencies>

+				<dependency>

+					<groupId>org.eclipse.acceleo</groupId>

+					<artifactId>org.eclipse.acceleo.maven</artifactId>

+					<version>3.5.0-SNAPSHOT</version>

+				</dependency>

+				<dependency>

+					<groupId>org.eclipse.acceleo</groupId>

+					<artifactId>org.eclipse.acceleo.engine</artifactId>

+					<version>3.5.0-SNAPSHOT</version>

+				</dependency>

+				<dependency>

+					<groupId>org.slf4j</groupId>

+					<artifactId>slf4j-simple</artifactId>

+					<version>1.6.4</version>

+				</dependency>

+			</dependencies>

+			

+			<build>

+				<plugins>

+					<xsl:copy-of select="//m2:project/build/plugins/*"/>

+					<plugin>

+						<groupId>org.eclipse.acceleo</groupId>

+						<artifactId>org.eclipse.acceleo.maven</artifactId>

+						<version>3.5.0-SNAPSHOT</version>

+						<executions>

+							<execution>

+								<goals>

+									<goal>acceleo-compile</goal>

+								</goals>

+								<phase>compile</phase>

+							</execution>

+						</executions>

+						<configuration>

+							<useBinaryResources>false</useBinaryResources>

+							<usePlatformResourcePath>true</usePlatformResourcePath>

+							<acceleoProject>

+								<root>${basedir}</root>

+								<entries>

+									<entry>

+										<input>src/</input>

+										<output>__target__/classes</output>

+									</entry>

+								</entries>

+								<jars>

+									<jar>p2.eclipse-plugin:org.eclipse.emf.ecore</jar>
+									<jar>org.eclipse.mdt:org.eclipse.modisco.infra.discovery</jar>

+								</jars>

+							</acceleoProject>

+							<packagesToRegister>

+								<packageToRegister>org.eclipse.emf.ecore.EcorePackage</packageToRegister>

+								<packageToRegister>org.eclipse.modisco.infra.discovery.launch.LaunchPackage</packageToRegister>

+								<packageToRegister>org.eclipse.modisco.infra.discovery.catalog.CatalogPackage</packageToRegister>

+								<packageToRegister>org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkPackage</packageToRegister>

+							</packagesToRegister>

+							<uriHandler>org.eclipse.acceleo.maven.AcceleoURIHandler</uriHandler>

+						</configuration>

+					</plugin>

+					<plugin>

+						<groupId>org.apache.maven.plugins</groupId>

+						<artifactId>maven-resources-plugin</artifactId>

+						<version>2.4.1</version>

+						<configuration>

+							<encoding>UTF-8</encoding>

+						</configuration>

+					</plugin>

+				</plugins>

+				<xsl:copy-of select="//m2:project/build/*[name()!='plugins']"/>

+			</build>

+		</project>

+	</xsl:template>

+

+	<xsl:template match="m2:*|@*">

+		<xsl:copy-of select="." />

+	</xsl:template>

+

+</xsl:stylesheet>

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/ISizeDiscoverer.java b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/ISizeDiscoverer.java
new file mode 100644
index 0000000..334f67b
--- /dev/null
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/ISizeDiscoverer.java
@@ -0,0 +1,19 @@
+/*******************************************************************************

+ * Copyright (c) 20150 Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ *

+ * Contributors:

+ *    Grégoire Dupé (Mia-Sftware) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

+ *******************************************************************************/ 

+package org.eclipse.modisco.infra.discovery.benchmark.core;

+

+import org.eclipse.core.resources.IProject;

+import org.eclipse.modisco.infra.discovery.core.IDiscoverer;

+

+public interface ISizeDiscoverer extends IDiscoverer<IProject> {

+	String getUnit();

+	double getSize();

+}

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/Application.java b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/Application.java
new file mode 100644
index 0000000..cbcd578
--- /dev/null
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/Application.java
@@ -0,0 +1,170 @@
+/*******************************************************************************

+ * Copyright (c) 2015 Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ *

+ * Contributors:

+ *    Grégoire Dupé (Mia-Software) - Bug 482672 - Benchmark command line interface

+ *    Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

+ *******************************************************************************/

+package org.eclipse.modisco.infra.discovery.benchmark.core.internal;

+

+import java.io.File;

+

+import org.apache.commons.cli.CommandLine;

+import org.apache.commons.cli.CommandLineParser;

+import org.apache.commons.cli.GnuParser;

+import org.apache.commons.cli.Options;

+import org.eclipse.core.resources.IProject;

+import org.eclipse.core.resources.IProjectDescription;

+import org.eclipse.core.resources.IResource;

+import org.eclipse.core.resources.IWorkspace;

+import org.eclipse.core.resources.IWorkspaceRoot;

+import org.eclipse.core.resources.ResourcesPlugin;

+import org.eclipse.core.runtime.CoreException;

+import org.eclipse.core.runtime.NullProgressMonitor;

+import org.eclipse.core.runtime.Path;

+import org.eclipse.emf.common.util.URI;

+import org.eclipse.emf.facet.util.core.DebugUtils;

+import org.eclipse.emf.facet.util.core.Logger;

+import org.eclipse.equinox.app.IApplication;

+import org.eclipse.equinox.app.IApplicationContext;

+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.exported.IDiscovererList;

+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.exported.IDiscovererListFactory;

+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.exported.IProjectSet;

+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.exported.IProjectSetFactory;

+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.impl.DiscovererBenchmarkDiscoverer;

+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkFactory;

+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Discovery;

+

+public class Application implements IApplication {

+

+	public Object start(final IApplicationContext context) throws Exception {

+		final String[] args = ((String[]) context.getArguments().get(

+				IApplicationContext.APPLICATION_ARGS));

+		// create Options object

+		final Options options = new Options();

+		// add t option

+		options.addOption("r", true, Messages.Application_Html_report_dir); //$NON-NLS-1$

+		options.addOption("d", true, Messages.Application_Comma_sep_discoverer_list); //$NON-NLS-1$

+		options.getOption("d").setRequired(true); //$NON-NLS-1$

+		options.addOption("i", true, Messages.Application_no_of_iteration); //$NON-NLS-1$

+		options.addOption("p", true, Messages.Application_Comma_sep_project_list); //$NON-NLS-1$

+		options.addOption("o", true, Messages.Application_XMI_Output); //$NON-NLS-1$

+		options.getOption("o").setRequired(true); //$NON-NLS-1$

+		options.addOption("e", true, Messages.Application_Comma_sep_existing_prj_path); //$NON-NLS-1$

+		options.addOption("m", false, Messages.Application_RecordMemoryUse); //$NON-NLS-1$

+		options.addOption("n", true, Messages.Application_MemoryPollingInterval); //$NON-NLS-1$

+		options.addOption("s", true, "Sample size discoverer"); //$NON-NLS-1$

+		options.getOption("s").setRequired(true); //$NON-NLS-1$

+		final CommandLineParser parser = new GnuParser();

+		final CommandLine cmd = parser.parse(options, args);

+		if (cmd.hasOption('e')) {

+			importExistingPrj(cmd.getOptionValue('e').split(",")); //$NON-NLS-1$

+		}

+		final DiscovererBenchmarkDiscoverer discoverer = 

+				new DiscovererBenchmarkDiscoverer();

+		discoverer.setGenerateHtmlReport(cmd.hasOption('r'));

+		final IDiscovererList discos = IDiscovererListFactory.INSTANCE.createDiscovererList();

+		for (final String discoId : cmd.getOptionValue('d').split(",")) { //$NON-NLS-1$

+			final Discovery discovery = BenchmarkFactory.eINSTANCE.createDiscovery();

+			discovery.setDiscovererId(discoId);

+			discos.add(discovery);

+		}

+		discoverer.setDiscoverers(discos);

+		if (cmd.hasOption('i')) {

+			discoverer.setIterations(Integer.parseInt(cmd.getOptionValue('i')));

+		} else {

+			discoverer.setIterations(1);

+		}

+		discoverer.setMeasureMemoryUse(cmd.hasOption('m'));

+		if (cmd.hasOption('n')) {

+			discoverer.setMemoryPollingInterval(Integer.parseInt(cmd.getOptionValue('n')));

+		}

+		final IProjectSet projectSet = IProjectSetFactory.INSTANCE.createProjectSet();

+		if (cmd.hasOption('p')) {

+			final IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();

+			for (final String projectName : cmd.getOptionValue('p').split(",")) { //$NON-NLS-1$

+				final IProject iProject = wsRoot.getProject(projectName);

+				projectSet.add(iProject);

+			}

+		} else {

+			final IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();

+			for (final IProject iProject : wsRoot.getProjects()) {

+				projectSet.add(iProject);

+			}

+		}

+		final String filePath = cmd.getOptionValue('o');

+		discoverer.setTargetURI(URI.createFileURI(filePath));

+		discoverer.setSerializeTarget(true);

+		discoverer.setSizeDiscovererId(cmd.getOptionValue('s'));

+		if (cmd.hasOption('r')) {

+			final String htmlPath = cmd.getOptionValue('r');

+			discoverer.setHtmlReportLocation(URI.createFileURI(htmlPath));

+			discoverer.setGenerateHtmlReport(true);

+		} else {

+			discoverer.setGenerateHtmlReport(false);

+		}

+		discoverer.discoverBenchmark(projectSet, new NullProgressMonitor());

+		DebugUtils.debug(discoverer.getTargetURI().toString());

+		return null;

+	}

+

+	private static void importExistingPrj(final String[] projectParents) {

+		for (final String projectParent : projectParents) {

+			importExistingPrj(projectParent);

+		}

+	}

+

+	private static void importExistingPrj(final String projectParent) {

+		final File prjParentFile = new File(projectParent);

+		for (final File child : prjParentFile.listFiles()) {

+			if (child.isDirectory()) {

+				final File dotPrj = new File(child, ".project"); //$NON-NLS-1$

+				if  (dotPrj.exists()) {

+					importExistingPrj(dotPrj);

+				}

+			}

+		}

+	}

+

+	private static void importExistingPrj(final File dotPrj) {

+		try {

+			final IWorkspace workspace = ResourcesPlugin.getWorkspace();

+			final Path projectDescriptionFile = new Path(

+					dotPrj.getAbsolutePath());

+			final IProjectDescription prjDesc = workspace

+					.loadProjectDescription(projectDescriptionFile);

+			final IWorkspaceRoot wsRoot = workspace.getRoot();

+			final IProject project = wsRoot.getProject(prjDesc.getName());

+			if (!project.exists()) {

+				final String message = String.format("Creating the project '%s'",  //$NON-NLS-1$

+						prjDesc.getName());

+				DebugUtils.debug(message);

+				project.create(prjDesc, new NullProgressMonitor());

+			}

+			if (!project.isOpen()) {

+				final String message = String.format("Opening the project '%s'",  //$NON-NLS-1$

+						prjDesc.getName());

+				DebugUtils.debug(message);

+				project.open(new NullProgressMonitor());

+			}

+			final String message = String.format("Refreshing the project '%s'",  //$NON-NLS-1$

+					prjDesc.getName());

+			DebugUtils.debug(message);

+			project.refreshLocal(IResource.DEPTH_INFINITE, 

+					new NullProgressMonitor());

+		} catch (final CoreException e) {

+			final String message = String.format(

+					"Failed to load '%s'", dotPrj.getAbsolutePath()); //$NON-NLS-1$

+			Logger.logError(message, Activator.getDefault());

+		}

+	}

+

+	public void stop() {

+		//Nothing to do

+	}

+

+}

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/MathUtils.java b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/MathUtils.java
new file mode 100644
index 0000000..e453166
--- /dev/null
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/MathUtils.java
@@ -0,0 +1,45 @@
+/*******************************************************************************

+ * Copyright (c) 2015 Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ *

+ * Contributors:

+ *    Grégoire Dupé (Mia-Software) - Bug 483639 - [Benchmark] Incorrect standard derivation computation

+ *******************************************************************************/

+package org.eclipse.modisco.infra.discovery.benchmark.core.internal;

+

+import java.util.List;

+

+public final class MathUtils {

+

+	private MathUtils() {

+		// Must not be used

+	}

+

+	public static <T> double average(final List<T> objects,

+			final Resolver<T> resolver) {

+		long sum = 0;

+		for (int i = 0; i < objects.size(); i++) {

+			sum += resolver.getValue(objects.get(i));

+		}

+		return sum / objects.size();

+	}

+

+	public static <T> double standardDeviation(final List<T> objects,

+			final Resolver<T> resolver) {

+		final double avg = average(objects, resolver);

+		double sum = 0;

+		for (int i = 0; i < objects.size(); i++) {

+			final double value = resolver.getValue(objects.get(i));

+			final double delta = Math.abs(value - avg);

+			sum += delta *  delta; 

+		}

+		return Math.sqrt(sum / objects.size());

+	}

+	

+	public interface Resolver<T> {

+		double getValue(T object);

+	}

+}
\ No newline at end of file
diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/Messages.java b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/Messages.java
new file mode 100644
index 0000000..303e322
--- /dev/null
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/Messages.java
@@ -0,0 +1,55 @@
+/*******************************************************************************

+ * Copyright (c) 2015 Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ *

+ * Contributors:

+ *    Grégoire Dupé (Mia-Software) - Bug 482672 - Benchmark command line interface

+ *    Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *    Grégoire Dupé (Mia-Software) - Bug 483400 - The input size should be computable by the discoverer

+ *******************************************************************************/

+package org.eclipse.modisco.infra.discovery.benchmark.core.internal;

+

+import org.eclipse.osgi.util.NLS;

+

+public class Messages extends NLS {

+	private static final String BUNDLE_NAME = "org.eclipse.modisco.infra.discovery.benchmark.core.internal.messages"; //$NON-NLS-1$

+	public static String Application_Comma_sep_discoverer_list;

+	public static String Application_Comma_sep_existing_prj_path;

+	public static String Application_Comma_sep_project_list;

+	public static String Application_Html_report_dir;

+	public static String Application_MemoryPollingInterval;

+	public static String Application_no_of_iteration;

+	public static String Application_RecordMemoryUse;

+	public static String Application_XMI_Output;

+	public static String BenchmarkChartGeneration_AvgTimeByPrjSizeFor;

+	public static String BenchmarkChartGeneration_AvgUsedMemByPrjSizeFor;

+	public static String BenchmarkChartGeneration_DiscoTime;

+	public static String BenchmarkChartGeneration_DiscoTimeByPrjSizeOverall;

+	public static String BenchmarkChartGeneration_PrjSize;

+	public static String BenchmarkChartGeneration_time;

+	public static String BenchmarkChartGeneration_UsedMem;

+	public static String BenchmarkChartGeneration_UsedMemByPrjSize;

+	public static String BenchmarkChartGeneration_UsedMEmByTimeForOnThe;

+	public static String DiscovererBenchmarkDiscoverer_BenchmarkInitializationSubTask;

+	public static String DiscovererBenchmarkDiscoverer_BenchmarkTaskName;

+	public static String DiscovererBenchmarkDiscoverer_DiscoveryInitializationSubTask;

+	public static String DiscovererBenchmarkDiscoverer_GeneratingBenchmarkReportSubTask;

+	public static String DiscovererBenchmarkDiscoverer_ProjectDiscoveryIterationSubTask;

+	public static String DiscovererBenchmarkDiscoverer_ProjectInitializationSubTask;

+	public static String DiscovererBenchmarkDiscoverer_SavingBenchmarkDataSubTask;

+	public static String MemoryMeasurementJob_MemoryMeasureEveryMs;

+	public static String XmiToHtmlApplication_MeasureMemoryUse;

+	public static String XmiToHtmlApplication_Target_Folder_Path;

+	public static String XmiToHtmlApplication_XMI_file_path;

+

+	static {

+		// initialize resource bundle

+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);

+	}

+

+	private Messages() {

+	}

+}

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/XmiToHtmlApplication.java b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/XmiToHtmlApplication.java
new file mode 100644
index 0000000..e05d147
--- /dev/null
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/XmiToHtmlApplication.java
@@ -0,0 +1,54 @@
+/*******************************************************************************

+ * Copyright (c) 2015 Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ *

+ * Contributors:

+ *    Grégoire Dupé (Mia-Software) - Bug 482672 - Benchmark command line interface

+ *******************************************************************************/

+package org.eclipse.modisco.infra.discovery.benchmark.core.internal;

+

+import java.io.File;

+import java.util.Collections;

+import java.util.List;

+

+import org.apache.commons.cli.CommandLine;

+import org.apache.commons.cli.CommandLineParser;

+import org.apache.commons.cli.GnuParser;

+import org.apache.commons.cli.Options;

+import org.eclipse.equinox.app.IApplication;

+import org.eclipse.equinox.app.IApplicationContext;

+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.impl.ReportUtils;

+

+public class XmiToHtmlApplication implements IApplication {

+

+	public Object start(final IApplicationContext context) throws Exception {

+		final String[] args = ((String[]) context.getArguments().get(

+				IApplicationContext.APPLICATION_ARGS));

+		// create Options object

+		final Options options = new Options();

+		// add t option

+		options.addOption("x", true, Messages.XmiToHtmlApplication_XMI_file_path); //$NON-NLS-1$

+		options.getOption("x").setRequired(true); //$NON-NLS-1$

+		options.addOption("t", true, Messages.XmiToHtmlApplication_Target_Folder_Path); //$NON-NLS-1$

+		options.getOption("t").setRequired(true); //$NON-NLS-1$

+		options.addOption("m", false, Messages.XmiToHtmlApplication_MeasureMemoryUse); //$NON-NLS-1$

+		final CommandLineParser parser = new GnuParser();

+		final CommandLine cmd = parser.parse(options, args);

+		

+		final File benchmarkFile = new File(cmd.getOptionValue('x'));

+		final File targetFolder = new File(cmd.getOptionValue('t'));

+		List<? extends Object> arguments = Collections.emptyList();

+		boolean measureMemoryUse = cmd.hasOption('m');

+		ReportUtils.generateReport(benchmarkFile, targetFolder, arguments,

+				measureMemoryUse);

+		return null;

+	}

+

+	public void stop() {

+		//Nothing to do

+	}

+

+}

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/DiscovererBenchmarkDiscoverer.java b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/DiscovererBenchmarkDiscoverer.java
index 407b7ee..8b8f74a 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/DiscovererBenchmarkDiscoverer.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/DiscovererBenchmarkDiscoverer.java
@@ -1,885 +1,972 @@
-/*******************************************************************************

- * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- * accompanying materials are made available under the terms of the Eclipse

- * Public License v1.0 which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- * 

- ******************************************************************************/

-package org.eclipse.modisco.infra.discovery.benchmark.core.internal.impl;

-

-import java.io.BufferedReader;

-import java.io.FileReader;

-import java.io.IOException;

-import java.lang.reflect.InvocationTargetException;

-import java.lang.reflect.Method;

-import java.util.ArrayList;

-import java.util.Date;

-import java.util.LinkedList;

-import java.util.List;

-

-import org.eclipse.core.filesystem.EFS;

-import org.eclipse.core.filesystem.IFileStore;

-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.ResourcesPlugin;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.Path;

-import org.eclipse.core.runtime.SubProgressMonitor;

-import org.eclipse.emf.common.util.TreeIterator;

-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.emf.ecore.xmi.impl.XMIResourceFactoryImpl;

-import org.eclipse.gmt.modisco.infra.common.core.logging.MoDiscoLogger;

-import org.eclipse.jdt.core.dom.Modifier;

-import org.eclipse.modisco.infra.discovery.benchmark.core.internal.Activator;

-import org.eclipse.modisco.infra.discovery.benchmark.core.internal.api.IDiscovererBenchmarkDiscoverer;

-import org.eclipse.modisco.infra.discovery.benchmark.core.internal.api.IDiscovererID;

-import org.eclipse.modisco.infra.discovery.benchmark.core.internal.api.IEventNotifier;

-import org.eclipse.modisco.infra.discovery.benchmark.core.internal.exported.IDiscovererList;

-import org.eclipse.modisco.infra.discovery.benchmark.core.internal.exported.IProjectSet;

-import org.eclipse.modisco.infra.discovery.benchmark.core.internal.reporting.HtmlReport;

-import org.eclipse.modisco.infra.discovery.benchmark.core.internal.reporting.internal.BenchmarkChartGeneration;

-import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Benchmark;

-import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkFactory;

-import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Discovery;

-import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.DiscoveryIteration;

-import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.EndEvent;

-import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Event;

-import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.EventType;

-import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.File;

-import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.MemoryMeasurement;

-import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project;

-import org.eclipse.modisco.infra.discovery.catalog.CatalogFactory;

-import org.eclipse.modisco.infra.discovery.catalog.DiscovererDescription;

-import org.eclipse.modisco.infra.discovery.catalog.DiscovererParameter;

-import org.eclipse.modisco.infra.discovery.core.AbstractModelDiscoverer;

-import org.eclipse.modisco.infra.discovery.core.IDiscoverer;

-import org.eclipse.modisco.infra.discovery.core.IDiscoveryManager;

-import org.eclipse.modisco.infra.discovery.core.annotations.Parameter;

-import org.eclipse.modisco.infra.discovery.core.exception.DiscoveryException;

-import org.eclipse.modisco.infra.discovery.launch.LaunchConfiguration;

-import org.eclipse.modisco.infra.discovery.launch.LaunchFactory;

-import org.eclipse.modisco.infra.discovery.launch.ParameterValue;

-import org.eclipse.modisco.utils.core.internal.exported.SystemInfo;

-

-/**

- * Main entry point for the discoverer of benchmark

- * @author Guillaume Doux

- *

- */

-public class DiscovererBenchmarkDiscoverer extends AbstractModelDiscoverer<IProjectSet>

-implements IDiscovererBenchmarkDiscoverer {

-

-	/**

-	 * Private integer constants

-	 */

-	private static final int ZERO = 0;

-	

-	private static final int TWO = 2;

-	

-	private static final int SIX = 6;

-

-	private static final int EIGHT = 8;

-

-	private static final int TEN = 10;

-

-	

-	private static final String SAVE_OPERATION = "SaveOperation";

-

-	private static final int INTERVAL = 1000;

-

-	private static final int MSINSEC = 1000;

-

-	private static final String CODE_EXTENSION = "java";

-

-	public static final String ID = "org.eclipse.modisco.infra.discovery.benchmark.core.api.benchmarkdiscoverer";

-

-	private static final long BYTEPERMB = 1024 * 1024;

-

-	private IDiscovererID discovererID;

-	private int iterations;

-	private boolean measureMemoryUse;

-	private int memoryPollingInterval;

-	private boolean generateHtmlReport;

-	private URI htmlReportLocation;

-

-	private EventAndMemoryRecorder recorder;

-	private List<MemoryMeasurement> memoryMeasurements;

-	private List<Event> events;

-

-	private ResourceSet rSet;

-

-

-	public DiscovererBenchmarkDiscoverer() {

-		super();

-		this.discovererID = new DiscovererID(ID);

-		this.memoryPollingInterval = 0;

-		this.memoryMeasurements = new LinkedList<MemoryMeasurement>();

-		this.events = new LinkedList<Event>();

-		this.rSet = new ResourceSetImpl();

-		this.rSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("xmi", 

-				new XMIResourceFactoryImpl());

-		this.iterations = 1;

-	}

-

-	/**

-	 * Parameter for getting the dicoverers

-	 */

-	private IDiscovererList discoverers;

-

-

-	protected IDiscovererList getDiscoverers() {

-		return this.discoverers;

-	}

-

-	/**

-	 * Setter for the list of discoverers, annotated with @Parameter set by the UI

-	 * @param discos: the list of discoverers

-	 */

-	@Parameter(name = "DISCOVERER_LIST", description = "The list of discoverers.", requiresInputValue = true)

-	public void setDiscoverers(final IDiscovererList discos) {

-		this.discoverers = discos;

-	}

-

-

-	/**

-	 * Method launching the discovery process on all the discoverers X all the projects

-	 * @param projects the set of projects to discover

-	 * @param progressMonitor

-	 * @return The benchmark model conforms to http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark

-	 * @throws DiscoveryException

-	 */

-	public Resource discoverBenchmark(final IProjectSet projects, final IProgressMonitor progressMonitor) throws DiscoveryException {

-		progressMonitor.beginTask("Benchmark Discovery", TEN);

-		progressMonitor.subTask("Benchmark initialization");

-		Benchmark benchmark;

-		benchmark = benchmarkInit();

-		progressMonitor.worked(TWO);

-		this.recorder =  new EventAndMemoryRecorder(this.measureMemoryUse, this.memoryPollingInterval);

-

-		for (IProject project : projects.sortBySize().getProjects()) {

-			progressMonitor.subTask("project initialization");

-			Project proj = createBenchmarkProjectAndFiles(project);

-			benchmark.getProjects().add(proj);

-

-			for (Discovery discoTemp : this.discoverers) {

-				progressMonitor.subTask("Discovery initialization");

-				Discovery disco = BenchmarkFactory.eINSTANCE.createDiscovery();

-				String discovererId = discoTemp.getDiscovererId();

-				AbstractModelDiscoverer<IProject> discoverer = (AbstractModelDiscoverer<IProject>) IDiscoveryManager.INSTANCE.createDiscovererImpl(discovererId);

-				benchmark.getDiscoveries().add(disco);

-				preDiscoveryDiscoInit(proj, disco, discoTemp, (AbstractModelDiscoverer<IProject>) discoverer, discovererId);

-				setLaunchParameter(disco, discoverer);

-				String serializationLocation;

-				if (discoverer.getTargetURI() != null) {

-					serializationLocation = discoverer.getTargetURI().trimFileExtension().toPlatformString(false);

-				} else {

-					serializationLocation = this.getTargetURI().trimFileExtension().toPlatformString(false);

-				}

-				for (int i = 1; i <= this.iterations;  i++) {

-					URI resultSerializationLocation =  URI.createURI(serializationLocation);

-					discoverer.setTargetURI(resultSerializationLocation.appendSegment(disco.getDiscovererId() + "_" + proj.getName() + "_iteration_" + String.valueOf(i) + ".xmi"));

-					boolean failure = false;

-					StringBuilder discoveryErrors = new StringBuilder();

-					this.recorder.reset();

-					if (IEventNotifier.class.isInstance(discoverer)) {

-						((IEventNotifier) discoverer).addListener(this.recorder);

-					}

-

-					progressMonitor.subTask("Project discovery: iteration " + String.valueOf(getIterations()));

-					this.recorder.start();

-

-					try {

-						if (discoverer.isApplicableTo(project)) {

-							IProgressMonitor subProgressMonitor = new SubProgressMonitor(progressMonitor, EIGHT);

-							discoverer.discoverElement(project, subProgressMonitor);

-						} else {

-							MoDiscoLogger.logWarning("Discoverer " + discovererId + " is not applicable on project " + project.getName(),

-									org.eclipse.modisco.infra.discovery.benchmark.core.internal.Activator.getDefault());

-						}

-					} catch (DiscoveryException e) {

-						failure = true;

-						discoveryErrors.append(e.getStackTrace().toString());

-						MoDiscoLogger.logError(e,

-								"Benchmark of discoverer " + discovererId + " fails on project" + project.getName(), org.eclipse.modisco.infra.discovery.benchmark.core.internal.Activator.getDefault()); //$NON-NLS-1$

-					} catch (ClassCastException e) {

-						failure = true;

-						discoveryErrors.append(e.getStackTrace().toString());

-						MoDiscoLogger.logError(e,

-								"Benchmark of discoverer " + discovererId + " fails on project" + project.getName(), org.eclipse.modisco.infra.discovery.benchmark.core.internal.Activator.getDefault()); //$NON-NLS-1$

-					}

-					this.recorder.stop();

-					this.events.addAll(this.recorder.getEvents());

-					this.events.addAll(this.recorder.getMemoryMeasurements());

-					this.memoryMeasurements.addAll(this.recorder.getMemoryMeasurements());

-					if (IEventNotifier.class.isInstance(discoverer)) {

-						((IEventNotifier) discoverer).removeListener(this.recorder);

-					}

-					DiscoveryIteration discoveryIteration = createDiscoveryIteration(this.recorder);

-					if (failure) {

-						discoveryIteration.setDiscoveryErrors(discoveryErrors.toString());

-					}

-					disco.getIterations().add(discoveryIteration);

-

-				}

-

-				postDiscoveryDiscoInit(disco, discoverer);

-				if (this.isTargetSerializationChosen()) {

-					try {

-						saveTargetModel(benchmark);

-					} catch (IOException e) {

-						MoDiscoLogger.logError(e,

-								"Intermediate model save fail", org.eclipse.modisco.infra.discovery.benchmark.core.internal.Activator.getDefault()); //$NON-NLS-1$

-					}

-				}

-			}

-		}

-		benchmark.setJvmMaxHeapInMiB(computeMaxMemoryUsage());

-		try {

-			if (this.isTargetSerializationChosen()) {

-				progressMonitor.subTask("Save benchmark model");

-				saveTargetModel(benchmark);

-				progressMonitor.worked(getIterations() * projects.getProjects().size() * this.discoverers.getDiscoverers().size()); //1*iteration*discoveries*projects for disco init on 20*iteration*discoveries*projects

-			}

-			if (isGenerateHtmlReport()) {

-				progressMonitor.subTask("Generate benchmark report");

-				IProgressMonitor subProgressM = new SubProgressMonitor(progressMonitor, SIX);

-				generateHtmlReport(subProgressM, benchmark);

-				progressMonitor.worked(2 * getIterations() * projects.getProjects().size() * this.discoverers.getDiscoverers().size()); //2*iteration*discoveries*projects for disco init on 20*iteration*discoveries*projects

-			}

-		} catch (IOException e) {

-			MoDiscoLogger.logError(e,

-					"Report generation fail", org.eclipse.modisco.infra.discovery.benchmark.core.internal.Activator.getDefault()); //$NON-NLS-1$

-		} catch (CoreException e) {

-			MoDiscoLogger.logError(e,

-					"Report generation fail", org.eclipse.modisco.infra.discovery.benchmark.core.internal.Activator.getDefault()); //$NON-NLS-1$

-		} catch (Exception e) {

-			MoDiscoLogger.logError(e,

-					"Report generation fail", org.eclipse.modisco.infra.discovery.benchmark.core.internal.Activator.getDefault()); //$NON-NLS-1$

-		}

-

-

-		progressMonitor.done();

-		return benchmark.eResource();

-	}

-

-	/**

-	 * Compute the size of the model in parameter (in number of model elements)

-	 * @param targetModel

-	 * @return the number of model elements

-	 */

-	private long computeSize(final Resource targetModel) {

-		long size = 0;

-		if (targetModel != null) {

-			for (TreeIterator<EObject> iterator = targetModel.getAllContents(); iterator.hasNext();) {

-				iterator.next();

-				size++;

-			}

-		} else {

-			MoDiscoLogger.logWarning("Unable to compute the number of element of an unexisting model", Activator.getDefault());

-		}

-		return size;

-	}

-

-	/**

-	 * launch the generation of the HTML report and the charts for the benchmark model in parameter

-	 * @param progressMonitor

-	 * @param benchmark

-	 * @throws Exception

-	 */

-	private void generateHtmlReport(final IProgressMonitor progressMonitor,

-			final Benchmark benchmark) throws Exception {

-		//Get the output folder

-		URI targetURI = null;

-		if (this.getHtmlReportLocation() != null) {

-			targetURI = this.getHtmlReportLocation();

-		} else {

-			targetURI = this.getTargetURI();

-		}

-		if (targetURI == null) {

-			MoDiscoLogger.logWarning("The HTML_REPORT_LOCATION or the TARGET_URI parameter should not be null", Activator.getDefault());

-			return;

-		}

-		IContainer location = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(targetURI.path().replace("/resource", ""))).getParent();

-		String locationString = "";

-		if (targetURI == this.getTargetURI()) {

-			locationString = ResourcesPlugin.getWorkspace().getRoot().getLocation().toString() 

-					+ targetURI.trimSegments(1).toString().replace("platform:/resource", "") + "/HTMLReport";

-		} else {

-			locationString = ResourcesPlugin.getWorkspace().getRoot().getLocation().toString() 

-					+ targetURI.toString().replace("platform:/resource", "");

-		}

-		java.net.URI uri = java.net.URI.create(locationString);

-		java.io.File file = new java.io.File(uri.toString());

-

-		ArrayList<Object> arguments = new ArrayList<Object>();

-		//Generation of the HTML report

-		try {

-			HtmlReport report = new HtmlReport(benchmark, file, arguments);

-			report.doGenerate(null);

-		} catch (Exception e) {

-			MoDiscoLogger.logWarning(e, "Acceleo exception", org.eclipse.modisco.infra.discovery.benchmark.core.internal.Activator.getDefault());

-		}

-		//Generation of the charts

-		BenchmarkChartGeneration chartGenerator = new BenchmarkChartGeneration(file, this.measureMemoryUse);

-		chartGenerator.generateAll(benchmark);

-

-		location.refreshLocal(IResource.DEPTH_INFINITE, progressMonitor);

-	}

-

-	/**

-	 * Set the launch parameters of the {@link AbstractModelDiscoverer} in parameter with the content of the {@link Discovery} element

-	 * @param disco {@link Discovery}

-	 * @param discoverer {@link AbstractModelDiscoverer} (AbstractModelDiscoverer<IProject>)

-	 */

-	private void setLaunchParameter(final Discovery disco, 

-			final AbstractModelDiscoverer<IProject> discoverer) {

-		if (disco.getDiscovererLaunchConfiguration() != null) {

-			for (ParameterValue pv : disco.getDiscovererLaunchConfiguration().getParameterValues()) {

-				DiscovererParameter parameter = pv.getParameter();

-				Object value = pv.getValue();

-				if (value != null) {

-					try {

-						if (parameter.getSetter() == null) {

-							parameter.setSetter(findSetter(discoverer.getClass(), parameter.getId()));

-						}

-						this.setValue(parameter, discoverer, value);

-					} catch (DiscoveryException e) {

-						MoDiscoLogger.logWarning(e, e.getMessage(), Activator.getDefault());

-					}

-

-				}

-			}

-		}

-	}

-

-	/**

-	 * Find the setter of identifier id in the class clazz

-	 * use java reflexion

-	 * @param clazz

-	 * @param id

-	 * @return the setter

-	 */

-	private Method findSetter(final Class<? extends AbstractModelDiscoverer> clazz,

-			final String id) {

-		for (Method method : clazz.getMethods()) {

-			if (method.isAnnotationPresent(Parameter.class)) {

-				Parameter p = method.getAnnotation(Parameter.class);

-				if (p.name().equals(id)) {

-					if (method.getReturnType().equals(void.class)) {

-						return method;

-					}

-				}

-			}

-		}

-		return null;

-	}

-

-

-	/**

-	 * method to set the values of parameters: extracted from DiscoveryManager (org.eclipse.modisco.infra.discovery.core.internal)

-	 * @param parameter

-	 * @param discoverer

-	 * @param parameterValue

-	 * @throws DiscoveryException

-	 */

-	/*

-	 * (non-Javadoc)

-	 * 

-	 * @see

-	 * org.eclipse.modisco.infra.discovery.core.catalog.IDiscoveryManager#setValue

-	 * (org.eclipse.modisco.infra.discovery.catalog.DiscovererParameter,

-	 * org.eclipse.modisco.infra.discovery.core.IDiscoverer, java.lang.Object)

-	 */

-	private void setValue(final DiscovererParameter parameter, final IDiscoverer<?> discoverer,

-			final Object parameterValue) throws DiscoveryException {

-		try {

-			if (parameter.getField() != null

-					&& Modifier.isPublic(parameter.getField().getModifiers())) {

-				parameter.getField().set(discoverer, parameterValue);

-			} else if (parameter.getSetter() != null

-					&& Modifier.isPublic(parameter.getSetter().getModifiers())) {

-				parameter.getSetter().invoke(discoverer, parameterValue);

-			} else {

-				throw new DiscoveryException(discoverer.getClass()

-						+ " discoverer does not implement public write access to the parameter " //$NON-NLS-1$

-						+ parameter.getId());

-			}

-		} catch (IllegalArgumentException e) {

-			throw new DiscoveryException("Illegal parameter value for " //$NON-NLS-1$

-					+ parameter.getId() + " : " + parameterValue, e); //$NON-NLS-1$

-		} catch (IllegalAccessException e) {

-			throw new DiscoveryException("Illegal parameter value for " //$NON-NLS-1$

-					+ parameter.getId() + " : " + parameterValue, e); //$NON-NLS-1$

-		} catch (InvocationTargetException e) {

-			throw new DiscoveryException("Illegal parameter value for " //$NON-NLS-1$

-					+ parameter.getId() + " : " + parameterValue, e); //$NON-NLS-1$

-		}

-

-	}

-

-	/**

-	 * Save the benchmark model in an XMI file

-	 * @param benchmark

-	 * @throws IOException

-	 */

-	private void saveTargetModel(final Benchmark benchmark) throws IOException {

-		if ((this.getTargetURI() == null) && (this.getTargetModel() == null)) {

-			MoDiscoLogger.logWarning("The parameter TARGET_URI should not be empty", Activator.getDefault());

-			return;

-		}		

-		if (benchmark.eResource() == null) {

-

-			Resource res = null;

-			if (getTargetModel() == null) {

-				res = this.rSet.createResource(getTargetURI());

-			} else {

-				res = this.rSet.createResource(getTargetModel().getURI());

-			}

-			res.getContents().add(benchmark);

-			List<Event> eventsList = new ArrayList<Event>();

-			List<EventType> eventTypeList = new ArrayList<EventType>();

-			for (Discovery d : benchmark.getDiscoveries()) {

-				for (DiscoveryIteration i : d.getIterations()) {

-					for (Event event : i.getEvents()) {

-						eventsList.add(event);

-						eventTypeList.add(event.getEventType());

-					}

-				}

-			}

-//			res.getContents().addAll(eventsList);

-			res.getContents().addAll(eventTypeList);

-			this.setTargetModel(res);

-		}

-

-		this.saveTargetModel();

-	}

-

-	/**

-	 * Compute the maximum amount of memory used in the discovery

-	 * @return max memory used

-	 */

-	private long computeMaxMemoryUsage() {

-		long max = 0;

-		for (MemoryMeasurement measure : this.memoryMeasurements) {

-			if (max < measure.getMemoryUsed()) {

-				max = measure.getMemoryUsed();

-			}

-		}

-		return max;

-	}

-

-	/**

-	 * Initialize the benchmark model element with system information

-	 * @return the model element

-	 */

-	private Benchmark benchmarkInit() {

-

-		Benchmark benchmark = BenchmarkFactory.eINSTANCE.createBenchmark();

-		try {

-			SystemInfo sysInfo = SystemInfo.getInstance();

-			benchmark.setJvmMaxHeapInMiB(Runtime.getRuntime().maxMemory() / BYTEPERMB);

-			benchmark.setProcessorName(sysInfo.getProcName());

-			benchmark.setProcessorDescription(sysInfo.getProcDescription());

-			benchmark.setProcessorCount(sysInfo.getnProcessors());

-			benchmark.setProcessorCacheSize(sysInfo.getProcCacheSize());

-			benchmark.setSystemMemory(sysInfo.getMemory());

-			benchmark.setOsName(sysInfo.getOsName());

-			benchmark.setOsVersion(sysInfo.getOsVersion());

-			benchmark.setOsArchitecture(sysInfo.getArch());

-		} catch (IOException e) {

-			MoDiscoLogger.logError(e,

-					"Could not get system information for benchmark", org.eclipse.modisco.infra.discovery.benchmark.core.internal.Activator.getDefault()); //$NON-NLS-1$

-		}

-		return benchmark;

-	}

-

-	/**

-	 * Initialize the discovery model element before launchin the associated discoverer

-	 * @param proj the model element for project that will be discovered

-	 * @param disco the model element to initialize

-	 * @param discoT the model element representing the information concerning the discovery in the launch configuration

-	 * @param discoverer the real discoverer {@link AbstractModelDiscoverer}

-	 * @param discovererId the discoverer id

-	 */

-	private void preDiscoveryDiscoInit(final Project proj, final Discovery disco, final Discovery discoT, final AbstractModelDiscoverer<IProject> discoverer, final String discovererId) {

-		disco.setProject(proj);

-		disco.setName(discoverer.toString());

-		disco.setDiscovererClassName(discoverer.getClass().getName());

-		disco.setDiscovererId(discovererId);

-		DiscovererDescription dd = CatalogFactory.eINSTANCE.createDiscovererDescription();		

-		if (discoT.getDiscovererLaunchConfiguration() != null) {

-			LaunchConfiguration lc = LaunchFactory.eINSTANCE.createLaunchConfiguration();

-			lc.setSource(proj.getName());

-			lc.setDiscoverer(dd);

-			lc.setOpenModelAfterDiscovery(discoT.getDiscovererLaunchConfiguration().isOpenModelAfterDiscovery());

-			for (ParameterValue pv : discoT.getDiscovererLaunchConfiguration().getParameterValues()) {

-				ParameterValue newPv = LaunchFactory.eINSTANCE.createParameterValue();

-				newPv.setValue(pv.getValue());

-

-				DiscovererParameter param = CatalogFactory.eINSTANCE.createDiscovererParameter();

-				param.setDescription(pv.getParameter().getDescription());

-				param.setDirection(pv.getParameter().getDirection());

-				param.setDiscoverer(dd);

-				param.setField(pv.getParameter().getField());

-				param.setGetter(pv.getParameter().getGetter());

-				param.setId(pv.getParameter().getId());

-				param.setInitializer(pv.getParameter().getInitializer());

-				param.setRequiredInput(pv.getParameter().isRequiredInput());

-				param.setSetter(pv.getParameter().getSetter());

-				param.setType(pv.getParameter().getType());

-

-				newPv.setParameter(param);

-				lc.getParameterValues().add(newPv);

-			}

-			disco.setDiscovererLaunchConfiguration(lc);

-		}

-		if (discoT.getCopyOfDiscovererDescription() == null) {

-			dd.setId(disco.getDiscovererId());

-			dd.setSourceType(proj.getClass());

-			dd.setImplementationType(discoverer.getClass());

-		} else {

-			dd.setId(discoT.getCopyOfDiscovererDescription().getId());

-			dd.setImplementationBundle(discoT.getCopyOfDiscovererDescription().getImplementationBundle());

-			dd.setImplementationType(discoT.getCopyOfDiscovererDescription().getImplementationType());

-			dd.setSourceType(discoT.getCopyOfDiscovererDescription().getSourceType());

-		}

-		disco.setCopyOfDiscovererDescription(dd);

-	}

-

-	/**

-	 * Finalization of the initialization of the discovery model element after the effective discovery

-	 * @param disco

-	 * @param discoverer

-	 */

-	private void postDiscoveryDiscoInit(final Discovery disco, final AbstractModelDiscoverer<IProject> discoverer) {

-		double totalDiscoveryTime = 0;

-		double totalSaveTime = 0;

-		if (this.iterations > 0) {

-			double maxDisco = 0;

-			double maxSave = 0;

-			double minDisco = disco.getIterations().get(0).getDiscoveryTimeInSeconds();

-			double minSave = disco.getIterations().get(0).getSaveTimeInSeconds();

-			for (DiscoveryIteration iter : disco.getIterations()) {

-				totalSaveTime += iter.getSaveTimeInSeconds();

-				totalDiscoveryTime += iter.getDiscoveryTimeInSeconds();

-				if (iter.getDiscoveryTimeInSeconds() > maxDisco) {

-					maxDisco = iter.getDiscoveryTimeInSeconds();

-				}

-				if (iter.getSaveTimeInSeconds() > maxSave) {

-					maxSave = iter.getSaveTimeInSeconds();

-				}

-				if (iter.getDiscoveryTimeInSeconds() < minDisco) {

-					minDisco = iter.getDiscoveryTimeInSeconds();

-				}

-				if (iter.getSaveTimeInSeconds() < minSave) {

-					minSave = iter.getSaveTimeInSeconds();

-				}

-			}

-			disco.setDiscoveryTimeAverageInSeconds(totalDiscoveryTime / this.iterations);

-			disco.setSaveTimeAverageInSeconds(totalSaveTime / this.iterations);

-			disco.setExecutionTimeStandardDeviation(maxDisco - minDisco);

-			disco.setSaveTimeStandardDeviation(maxSave - minSave);

-

-			disco.setNumberOfModelElements(computeSize(discoverer.getTargetModel()));

-

-			IFileStore fileStore;

-			try {

-				URI targetURI = discoverer.getTargetURI();

-				String locationString = "file://" + ResourcesPlugin.getWorkspace().getRoot().getLocation().toString() + targetURI.toString();

-				java.net.URI uri = java.net.URI.create(locationString);

-				fileStore = EFS.getStore(uri);

-				disco.setXmiSizeInBytes(fileStore.fetchInfo().getLength());

-			} catch (Exception e) {

-				MoDiscoLogger.logError(e,

-						"Could not get output model size.", org.eclipse.modisco.infra.discovery.benchmark.core.internal.Activator.getDefault()); //$NON-NLS-1$

-			}

-

-		}

-	}

-

-	/**

-	 * Initialize a {@link DiscoveryIteration} after the discovery using the event and memory recorder

-	 * @param rec {@link EventAndMemoryRecorder}

-	 * @return the initialized discovery iteration

-	 */

-	private DiscoveryIteration createDiscoveryIteration(final EventAndMemoryRecorder rec) {

-		DiscoveryIteration discoIter = BenchmarkFactory.eINSTANCE.createDiscoveryIteration();

-		discoIter.setDiscoveryDate(new Date());

-		discoIter.setMaxUsedMemoryInBytes(rec.getMaxMemoryUsed());

-		discoIter.getEvents().addAll(rec.getEvents());

-		discoIter.setDiscoveryTimeInSeconds((rec.getStopTime() - rec.getStartTime()) / MSINSEC);

-		for (Event event : rec.getEvents()) {

-			if (event instanceof EndEvent) {

-				if (event.getEventType().getName().equals(SAVE_OPERATION)) {

-					double saveTime = event.getTime() - ((EndEvent) event).getBeginning().getTime();

-					discoIter.setSaveTimeInSeconds(saveTime / MSINSEC);

-					discoIter.setDiscoveryTimeInSeconds(discoIter.getDiscoveryTimeInSeconds() - discoIter.getSaveTimeInSeconds());

-				}

-			}

-		}

-		discoIter.getMemoryMeasurements().addAll(rec.getMemoryMeasurements());			

-		return discoIter;

-	}

-

-	/**

-	 * Create the model elements for the projects and conaitned files to discover

-	 * @param project the real project {@link IProject}

-	 * @return the project model element {@link Project}

-	 */

-	private Project createBenchmarkProjectAndFiles(final IProject project) {

-		Project proj = BenchmarkFactory.eINSTANCE.createProject();

-		proj.setName(project.getName());

-		try {

-			for (IResource res : project.members()) {

-				if (res instanceof IFolder) {

-					proj.getFiles().addAll(createFiles((IFolder) res, new LinkedList<File>()));

-				} else {

-					if (res instanceof IFile) {

-						File f = createFile(res);

-						proj.getFiles().add(f);

-					}

-				}

-			}

-			if (proj.getFiles().isEmpty()) {

-				proj.setAverageFileSizeInBytes(0);

-				proj.setTotalSizeInBytes(0);

-				proj.setAverageLinesPerFile(0);

-				proj.setTotalLines(0);

-			} else {

-				long totalLineSize = 0;

-				long totalByteSize = 0;

-				for (File f : proj.getFiles()) {

-					totalLineSize += f.getLines();

-					totalByteSize += f.getSizeInBytes();

-				}

-				proj.setAverageFileSizeInBytes(totalByteSize / proj.getFiles().size());

-				proj.setTotalSizeInBytes(totalByteSize);

-				proj.setAverageLinesPerFile(totalLineSize / getNumberOfSourceCodeFiles(proj));

-				proj.setTotalLines(totalLineSize);

-			}

-		} catch (CoreException e) {

-			MoDiscoLogger.logError(e,

-					"Could not get members of project", org.eclipse.modisco.infra.discovery.benchmark.core.internal.Activator.getDefault()); //$NON-NLS-1$

-		}

-		return proj;

-	}

-

-	/**

-	 * Count the number of lines is source files.

-	 * The source files are identified as having the value of the CODE_EXTENSION constant as extension

-	 * @param proj the project to compute the number of lines

-	 * @return the number of lines

-	 */

-	private long getNumberOfSourceCodeFiles(final Project proj) {

-		int number = 0;

-		for (File file : proj.getFiles()) {

-			//only files having CODE_EXTENSION as extension are measured

-			if (file.getLines() == 0) {

-				number++;

-			}

-		}

-		return number;

-	}

-

-	/**

-	 * Initialize the files model elements {@link File} contained in a folder {@link IFolder} to discover.

-	 * Recursive method, should be called initially on the project to discover

-	 * @param folder 

-	 * @param files

-	 * @return the list of initialized files {@link File}

-	 * @throws CoreException

-	 */

-	private List<File> createFiles(final IFolder folder, final List<File> files) throws CoreException {

-		for (IResource res : folder.members()) {

-			if (res instanceof IFolder) {

-				files.addAll(createFiles((IFolder) res, new LinkedList<File>()));

-			} else {

-				if (res instanceof IFile) {

-					File f = createFile(res);

-					files.add(f);

-				}

-			}

-		}

-		return files;

-	}

-

-	/**

-	 * Initialize a file model element {@link File} from an eclipse resource {@link IResource}

-	 * @param res the resource

-	 * @return the initialized file

-	 * @throws CoreException

-	 */

-	private File createFile(final IResource res) throws CoreException {

-		IFileStore fileStore = EFS.getStore(res.getLocationURI());

-		File f = BenchmarkFactory.eINSTANCE.createFile();

-		f.setSizeInBytes(fileStore.fetchInfo().getLength());

-		f.setFilepath(res.getFullPath().toString());

-		f.setLines(getLineNumber(res));

-		return f;

-	}

-

-	/**

-	 * Compute the number of lines in a file having as extension the value of the CODE_EXTENSION constant.

-	 * @param res the file to compute the number of lines

-	 * @return the number of line if source file 0 otherwise

-	 */

-	private long getLineNumber(final IResource res) {

-		int lines = 0;

-		if (res == null) {

-			MoDiscoLogger.logWarning("Unable to compute the number of lines of an unexisting file", Activator.getDefault());

-		} else {

-			if (res.getFileExtension() != null) {

-				if (res.getFileExtension().endsWith(CODE_EXTENSION)) {

-					try {

-						java.io.File f = new java.io.File(ResourcesPlugin.getWorkspace().getRoot().getLocation().toString() + res.getFullPath().toString());

-						BufferedReader br = new BufferedReader(new FileReader(f));

-						for (lines = 0; br.readLine() != null; lines++);

-						br.close();

-					} catch (IOException e) {

-						MoDiscoLogger.logWarning(e, "unable to count the number of lines of " + res.getName(), Activator.getDefault()); 

-					} catch (NullPointerException e) {

-						MoDiscoLogger.logWarning(e, "unable to count the number of lines of " + res.getName(), Activator.getDefault());

-					}

-				}

-			}

-		}

-		return lines;

-	}

-

-	/**

-	 * @see AbstractModelDiscoverer#isApplicableTo(Object)

-	 */

-	public boolean isApplicableTo(final IProjectSet sources) {

-		boolean result = true;

-		for (IProject source : sources.getProjects()) {

-			result = result && source.getProject().isAccessible();

-		}

-		return result;

-	}

-

-	/**

-	 * Launch the discovery by calling {@link DiscovererBenchmarkDiscoverer#discoverBenchmark(IProjectSet, IProgressMonitor)}

-	 * @see AbstractModelDiscoverer#discoverElement(Object, IProgressMonitor)

-	 */

-	@Override

-	protected void basicDiscoverElement(final IProjectSet sources, final IProgressMonitor monitor)

-			throws DiscoveryException {

-		this.discoverBenchmark(sources, monitor);

-	}

-

-	public EventAndMemoryRecorder getRecorder() {

-		return this.recorder;

-	}

-

-

-	public void setRecorders(final EventAndMemoryRecorder rec) {

-		this.recorder = rec;

-	}

-

-	public void setDiscovererID(final IDiscovererID discoId) {

-		this.discovererID = discoId;

-	}

-

-	/**

-	 * Setter for the number of iterations, annotated with @Parameter set by the UI

-	 * @param it number of iterations

-	 */

-	@Parameter(name = "NUMBER_OF_ITERATIONS", description = "The number of iterations to do.", requiresInputValue = true)

-	public void setIterations(final int it) {

-		this.iterations = it;

-	}

-

-	/**

-	 * Setter for memory usage measure, annotated with @Parameter set by the UI

-	 * @param measure true if the memory need to be measured

-	 */

-	@Parameter(name = "MEASURE_MEMORY_USAGE", description = "Tells if the memory usage should be measured or not.", requiresInputValue = true)

-	public void setMeasureMemoryUse(final boolean measure) {

-		this.measureMemoryUse = measure;

-		if (this.measureMemoryUse) { //putting a default value in case of bad initialization

-			if (this.memoryPollingInterval == ZERO) {

-				this.memoryPollingInterval = INTERVAL;

-			}

-		}

-	}

-

-	/**

-	 * Setter for the memory polling interval, annotated with @Parameter set by the UI

-	 * @param memoryInterval memory polling interval in milliseconds

-	 */

-	@Parameter(name = "MEMORY_POLLING_INTERVAL", description = "The time interval between to memory measurement (default value is 1 sec)", requiresInputValue = false)

-	public void setMemoryPollingInterval(final int memoryInterval) {

-		this.memoryPollingInterval = memoryInterval;

-	}

-

-	/**

-	 * Setter for the generation of an HTML report, annotated with @Parameter set by the UI

-	 * @param generate true if an HTML report is wanted

-	 */

-	@Parameter(name = "GENERATE_HTML_REPORT", description = "Tells if a html report should be generated.", requiresInputValue = true)

-	public void setGenerateHtmlReport(final boolean generate) {

-		this.generateHtmlReport = generate;

-	}

-

-	/**

-	 * Setter for the output model URI, annotated set by the UI

-	 * @param the output model URI

-	 */

-	public void setTargetURI(final org.eclipse.emf.common.util.URI targetURI) {

-		super.setTargetURI(targetURI);

-		super.setTargetModel(this.rSet.createResource(targetURI));

-	}

-

-	@Parameter(name = "TARGET_URI")

-	public org.eclipse.emf.common.util.URI getTargetURI() {

-		return super.getTargetURI();

-	}

-

-	public IDiscovererID getDiscovererID() {

-		return this.discovererID;

-	}

-

-

-	public int getIterations() {

-		return this.iterations;

-	}

-

-	public boolean isMeasureMemoryUse() {

-		return this.measureMemoryUse;

-	}

-

-	public int getMemoryPollingInterval() {

-		return this.memoryPollingInterval;

-	}

-

-	public boolean isGenerateHtmlReport() {

-		return this.generateHtmlReport;

-	}

-

-	/**

-	 * @return the htmlReportLocation

-	 */

-	public URI getHtmlReportLocation() {

-		return this.htmlReportLocation;

-	}

-

-	/**

-	 * Allow the selection of the HTML report location

-	 * @param htmlReportLocation the htmlReportLocation to set

-	 */

-	@Parameter(name = "HTML_REPORT_LOCATION", description = "Tells the location of the HTML report, should be set if GENERATE_HTML_REPORT is true", requiresInputValue = false)

-	public void setHtmlReportLocation(final URI htmlReportLocationParam) {

-		this.htmlReportLocation = htmlReportLocationParam;

-	}

-

-}

+/*******************************************************************************
+ * Copyright (c) 2012, 2015 INRIA, and Mia-Software.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Guillaume Doux (INRIA) - Initial API and implementation
+ *    Grégoire Dupé (Mia-Software) - Bug 482672 - Benchmark command line interface
+ *    Grégoire Dupé (Mia-Software) - Bug 482857 - Discoverer Benchmark Report : wrong namespaces
+ *    Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage
+ *    Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer
+ *    Grégoire Dupé (Mia-Software) - Bug 483639 - [Benchmark] Incorrect standard derivation computation
+ *    Grégoire Dupé (Mia-Software) - Bug 488020 - computeSize benchmark error message not precise enough
+ ******************************************************************************/
+package org.eclipse.modisco.infra.discovery.benchmark.core.internal.impl;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.filesystem.EFS;
+import org.eclipse.core.filesystem.IFileStore;
+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.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.emf.common.util.TreeIterator;
+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.Resource.Factory.Registry;
+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.emf.facet.util.core.Logger;
+import org.eclipse.jdt.core.dom.Modifier;
+import org.eclipse.modisco.infra.discovery.benchmark.core.ISizeDiscoverer;
+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.Activator;
+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.MathUtils;
+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.Messages;
+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.api.IDiscovererBenchmarkDiscoverer;
+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.api.IDiscovererID;
+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.api.IEventNotifier;
+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.exported.IDiscovererList;
+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.exported.IProjectSet;
+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Benchmark;
+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkFactory;
+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Discovery;
+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.DiscoveryIteration;
+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.EndEvent;
+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Event;
+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.EventType;
+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.File;
+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.MemoryMeasurement;
+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project;
+import org.eclipse.modisco.infra.discovery.catalog.CatalogFactory;
+import org.eclipse.modisco.infra.discovery.catalog.DiscovererDescription;
+import org.eclipse.modisco.infra.discovery.catalog.DiscovererParameter;
+import org.eclipse.modisco.infra.discovery.core.AbstractModelDiscoverer;
+import org.eclipse.modisco.infra.discovery.core.IDiscoverer;
+import org.eclipse.modisco.infra.discovery.core.IDiscoveryManager;
+import org.eclipse.modisco.infra.discovery.core.annotations.Parameter;
+import org.eclipse.modisco.infra.discovery.core.exception.DiscoveryException;
+import org.eclipse.modisco.infra.discovery.launch.LaunchConfiguration;
+import org.eclipse.modisco.infra.discovery.launch.LaunchFactory;
+import org.eclipse.modisco.infra.discovery.launch.ParameterValue;
+import org.eclipse.modisco.utils.core.internal.exported.SystemInfo;
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * Main entry point for the discoverer of benchmark
+ * @author Guillaume Doux
+ *
+ */
+public class DiscovererBenchmarkDiscoverer extends AbstractModelDiscoverer<IProjectSet>
+		implements IDiscovererBenchmarkDiscoverer {
+
+	private static final String SAVE_OPERATION = "SaveOperation"; //$NON-NLS-1$
+	private static final int INTERVAL = 1000;
+	private static final int MSINSEC = 1000;
+	private static final String CODE_EXTENSION = "java"; //$NON-NLS-1$
+	public static final String ID = "org.eclipse.modisco.infra.discovery.benchmark.core.api.benchmarkdiscoverer"; //$NON-NLS-1$
+	private static final long BYTEPERMB = 1024 * 1024;
+
+	private IDiscovererID discovererID;
+	private int iterations;
+	private boolean measureMemoryUse;
+	private int memPollInterval;
+	private boolean generateHtml;
+	private URI htmlReportLoc;
+	private final List<MemoryMeasurement> memMeasurements;
+	private final List<Event> events;
+	private final ResourceSet rSet;
+	private EventAndMemoryRecorder recorder;
+	private IDiscovererList discoverers;
+	private String sizeDiscovererId;
+
+	public DiscovererBenchmarkDiscoverer() {
+		super();
+		this.discovererID = new DiscovererID(ID);
+		this.memPollInterval = 0;
+		this.memMeasurements = new LinkedList<MemoryMeasurement>();
+		this.events = new LinkedList<Event>();
+		this.rSet = new ResourceSetImpl();
+		final Registry rFactoryRegistry =
+				this.rSet.getResourceFactoryRegistry();
+		final Map<String, Object> extToFactoryMap =
+				rFactoryRegistry.getExtensionToFactoryMap();
+		extToFactoryMap.put("xmi", new XMIResourceFactoryImpl()); //$NON-NLS-1$
+		this.iterations = 1;
+	}
+
+	protected IDiscovererList getDiscoverers() {
+		return this.discoverers;
+	}
+
+	/**
+	 * Setter for the list of discoverers, annotated with @Parameter set by the UI
+	 * @param discos: the list of discoverers
+	 */
+	@Parameter(name = "DISCOVERER_LIST", description = "The list of discoverers.", requiresInputValue = true)
+	public void setDiscoverers(final IDiscovererList discos) {
+		this.discoverers = discos;
+	}
+
+	/**
+	 * Method launching the discovery process on all the discoverers X all the projects
+	 * @param projects the set of projects to discover
+	 * @param progressMonitor
+	 * @return The benchmark model conforms to http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark
+	 * @throws DiscoveryException
+	 */
+	public Resource discoverBenchmark(final IProjectSet projects,
+			final IProgressMonitor progressMonitor) throws DiscoveryException {
+		this.recorder =
+				new EventAndMemoryRecorder(this.measureMemoryUse,
+				this.memPollInterval);
+		final int nbDiscoToDo = getIterations() * projects.getProjects().size()
+				* this.discoverers.getDiscoverers().size();
+		progressMonitor.beginTask(
+				Messages.DiscovererBenchmarkDiscoverer_BenchmarkTaskName,
+				nbDiscoToDo);
+		final Benchmark benchmark = benchmarkInit(progressMonitor);
+		for (IProject project : projects.sortBySize().getProjects()) {
+			final Project projectDesc = createProjectDescription(project,
+					benchmark, progressMonitor);
+			for (Discovery discovery : this.discoverers) {
+				progressMonitor.subTask(
+						Messages.DiscovererBenchmarkDiscoverer_DiscoveryInitializationSubTask);
+				final String discovererId = discovery.getDiscovererId();
+				final Discovery disco = createDiscovery(projectDesc,
+						discovery, benchmark);
+				AbstractModelDiscoverer<IProject> discoverer = null;
+				for (int i = 1; i <= this.iterations;  i++) {
+					discoverer = preformIteration(progressMonitor, benchmark,
+							project, discovererId, disco, i);
+				}
+				postDiscoveryDiscoInit(disco, discoverer);
+			}
+		}
+		benchmark.setJvmMaxHeapInMiB(computeMaxMemoryUsage());
+		save(benchmark, progressMonitor);
+		progressMonitor.worked(nbDiscoToDo);
+		if (isGenerateHtmlReport()) {
+			safeGenerateHtmlReport(progressMonitor, benchmark);
+		}
+		progressMonitor.done();
+		return benchmark.eResource();
+	}
+
+	private AbstractModelDiscoverer<IProject> preformIteration(
+			final IProgressMonitor progressMonitor, final Benchmark benchmark,
+			final IProject project, final String discovererId,
+			final Discovery disco, final int iteration) {
+		final AbstractModelDiscoverer<IProject> discoverer = (AbstractModelDiscoverer<IProject>)
+				IDiscoveryManager.INSTANCE.createDiscovererImpl(discovererId);
+		final URI serializationLoc = getSerializationLoc(discoverer);
+		progressMonitor.subTask(NLS.bind(
+				Messages.DiscovererBenchmarkDiscoverer_ProjectDiscoveryIterationSubTask,
+				String.valueOf(getIterations())));
+		final String suffix = String.format("%s_%s_i%s.xmi", //$NON-NLS-1$
+				disco.getDiscovererId(), project.getName(),
+				String.valueOf(iteration));
+		final URI uri = serializationLoc.appendSegment(suffix);
+		discoverer.setTargetURI(uri);
+		boolean failure = false;
+		final StringBuilder discoveryErrors = new StringBuilder();
+		this.recorder.reset();
+		if (IEventNotifier.class.isInstance(discoverer)) {
+			((IEventNotifier) discoverer).addListener(this.recorder);
+		}
+		this.recorder.start();
+		try {
+			if (discoverer.isApplicableTo(project)) {
+				final IProgressMonitor subProgressM =
+						new SubProgressMonitor(progressMonitor, 0);
+				discoverer.discoverElement(project, subProgressM);
+			} else {
+				final String message = String.format(
+						"Discoverer '%s' is not applicable on project '%s'.", //$NON-NLS-1$
+						discovererId, project.getName());
+				Logger.logError(message, Activator.getDefault());
+			}
+		} catch (Exception e) {
+			failure = true;
+			discoveryErrors.append(e.getStackTrace().toString());
+			final String message = String.format(
+					"Benchmark of discoverer %s fails on project '%s'", //$NON-NLS-1$
+					discovererId, project.getName());
+			Logger.logError(e, message, Activator.getDefault());
+		}
+		this.recorder.stop();
+		this.events.addAll(this.recorder.getEvents());
+		this.events.addAll(this.recorder.getMemoryMeasurements());
+		this.memMeasurements.addAll(this.recorder.getMemoryMeasurements());
+		if (IEventNotifier.class.isInstance(discoverer)) {
+			((IEventNotifier) discoverer).removeListener(this.recorder);
+		}
+		final DiscoveryIteration iterationDesc =
+				createDiscoveryIteration(this.recorder);
+		if (failure) {
+			iterationDesc.setDiscoveryErrors(
+					discoveryErrors.toString());
+		}
+		disco.getIterations().add(iterationDesc);
+		save(benchmark, progressMonitor);
+		progressMonitor.worked(1);
+		return discoverer;
+	}
+
+	private URI getSerializationLoc(final AbstractModelDiscoverer<IProject> discoverer) {
+		URI result;
+		if (discoverer.getTargetURI() == null) {
+			result = basicGetSerializationLoc(this);
+		} else {
+			result = basicGetSerializationLoc(discoverer);
+		}
+		return result;
+	}
+
+	private Project createProjectDescription(final IProject project,
+			final Benchmark benchmark, final IProgressMonitor progressMonitor)
+					throws DiscoveryException {
+		progressMonitor.subTask(
+				Messages.DiscovererBenchmarkDiscoverer_ProjectInitializationSubTask);
+		final ISizeDiscoverer discoverer = (ISizeDiscoverer)
+				IDiscoveryManager.INSTANCE.createDiscovererImpl(this.sizeDiscovererId);
+		final Project projDesc = BenchmarkFactory.eINSTANCE.createProject();
+		discoverer.discoverElement(project, new NullProgressMonitor());
+		final double prjSize = discoverer.getSize();
+		projDesc.setInputSize(prjSize);
+		final String prjUnit = discoverer.getUnit();
+		projDesc.setInputSizeUnit(prjUnit);
+		projDesc.setName(project.getName());
+		benchmark.getProjects().add(projDesc);
+		return projDesc;
+	}
+
+	private void save(final Benchmark benchmark,
+			final IProgressMonitor progressMonitor) {
+		if (this.isTargetSerializationChosen()) {
+			try {
+				progressMonitor.subTask(
+						Messages.DiscovererBenchmarkDiscoverer_SavingBenchmarkDataSubTask);
+				saveTargetModel(benchmark);
+			} catch (IOException e) {
+				Logger.logError(e, "Failed to save the benchmark model.", //$NON-NLS-1$
+						Activator.getDefault());
+			}
+		}
+	}
+
+	private static URI basicGetSerializationLoc(
+			final AbstractModelDiscoverer<?> discoverer) {
+		final URI targetURI = discoverer.getTargetURI();
+		return targetURI.trimFileExtension();
+	}
+
+	/**
+	 * Compute the size of the model in parameter (in number of model elements)
+	 * @param discoverer.getTargetModel()
+	 * @return the number of model elements
+	 */
+	private static long computeSize(final AbstractModelDiscoverer<IProject> discoverer) {
+		long size = 0;
+		final Resource targetModel = discoverer.getTargetModel();
+		if (targetModel == null) {
+			final String message = String.format(
+					"Unable to compute the number of element of an unexisting model for the discoverer '%s'", //$NON-NLS-1$
+					discoverer.getClass().getName());
+			Logger.logWarning(message, Activator.getDefault());
+		} else {
+			final TreeIterator<EObject> allContents = targetModel.getAllContents();
+			for (final TreeIterator<EObject> iterator = allContents;
+					iterator.hasNext();) {
+				iterator.next();
+				size++;
+			}
+		}
+		return size;
+	}
+
+	private void safeGenerateHtmlReport(final IProgressMonitor progressMonitor, final Benchmark benchmark) {
+		try {
+			
+			generateHtmlReport(progressMonitor, benchmark);
+		} catch (Exception e) {
+			Logger.logError(e, "Report generation fail", Activator.getDefault()); //$NON-NLS-1$
+		}
+	}
+
+	/**
+	 * launch the generation of the HTML report and the charts for the benchmark model in parameter
+	 * @param parentMonitor
+	 * @param benchmark
+	 * @throws ReportUtilsException 
+	 * @throws CoreException 
+	 */
+	private void generateHtmlReport(final IProgressMonitor parentMonitor,
+			final Benchmark benchmark) throws ReportUtilsException, CoreException {
+		parentMonitor.subTask(
+				Messages.DiscovererBenchmarkDiscoverer_GeneratingBenchmarkReportSubTask);
+		final IProgressMonitor progressMonitor =
+				new SubProgressMonitor(parentMonitor, 0);
+		//Get the output folder
+		URI targetURI = null;
+		if (this.getHtmlReportLocation() == null) {
+			targetURI = this.getTargetURI();
+		} else {
+			targetURI = this.getHtmlReportLocation();
+		}
+		if (targetURI == null) {
+			Logger.logWarning(
+					"The HTML_REPORT_LOCATION or the TARGET_URI parameter should not be null", //$NON-NLS-1$
+					Activator.getDefault());
+			return;
+		}
+		final IWorkspace workspace = ResourcesPlugin.getWorkspace();
+		final IWorkspaceRoot wsRoot = workspace.getRoot();
+		java.io.File file = null;
+		IFile iFile = null;
+		final String targetUriStr = targetURI.toString();
+		if (targetURI.isPlatformResource()) {
+			final String pathStr =
+					targetUriStr.replaceAll("platform:/resource", ""); //$NON-NLS-1$//$NON-NLS-2$
+			iFile = wsRoot.getFile(new Path(pathStr));
+			iFile.getLocation().toFile();
+		} else if (targetURI.isFile()) {
+			file = new java.io.File(java.net.URI.create(targetUriStr));
+		} else {
+			final String message = String.format(
+					"The following target URI '%s' is not managed. 'platform:/resource' or 'file:/' are expected.", //$NON-NLS-1$
+					targetURI.toString());
+			throw new IllegalArgumentException(message);
+		}
+		final ArrayList<Object> arguments = new ArrayList<Object>();
+		//Generation of the HTML report
+		ReportUtils.generateReport(benchmark, file, arguments, this.measureMemoryUse);
+		if (iFile != null) {
+			final IContainer location = iFile.getParent();
+			location.refreshLocal(IResource.DEPTH_INFINITE, progressMonitor);
+		}
+	}
+
+	/**
+	 * Set the launch parameters of the {@link AbstractModelDiscoverer} in parameter with the content of the {@link Discovery} element
+	 * @param disco {@link Discovery}
+	 * @param discoverer {@link AbstractModelDiscoverer} (AbstractModelDiscoverer<IProject>)
+	 */
+	private void setLaunchParameter(final Discovery disco,
+			final AbstractModelDiscoverer<IProject> discoverer) {
+		final LaunchConfiguration launchConfig =
+				disco.getDiscovererLaunchConfiguration();
+		if (launchConfig != null) {
+			for (ParameterValue pv : launchConfig.getParameterValues()) {
+				final DiscovererParameter parameter = pv.getParameter();
+				final Object value = pv.getValue();
+				if (value != null) {
+					try {
+						if (parameter.getSetter() == null) {
+							final Method setter = findSetter(
+									discoverer.getClass(), parameter.getId());
+							parameter.setSetter(setter);
+						}
+						this.setValue(parameter, discoverer, value);
+					} catch (DiscoveryException e) {
+						Logger.logWarning(e, Activator.getDefault());
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * Find the setter of identifier id in the class clazz
+	 * use java reflexion
+	 * @param clazz
+	 * @param paramId
+	 * @return the setter
+	 */
+	private static Method findSetter(
+			final Class<? extends AbstractModelDiscoverer> clazz,
+			final String paramId) {
+		Method result = null;
+		for (Method method : clazz.getMethods()) {
+			if (method.isAnnotationPresent(Parameter.class)) {
+				final Parameter param = method.getAnnotation(Parameter.class);
+				if (param.name().equals(paramId) 
+						&& method.getReturnType().equals(void.class)) {
+					result = method;
+				}
+			}
+		}
+		return result;
+	}
+
+	/**
+	 * method to set the values of parameters: extracted from DiscoveryManager
+	 * (org.eclipse.modisco.infra.discovery.core.internal)
+	 *
+	 * @param parameter
+	 * @param discoverer
+	 * @param parameterValue
+	 * @throws DiscoveryException
+	 */
+	private static void setValue(final DiscovererParameter parameter,
+			final IDiscoverer<?> discoverer,
+			final Object parameterValue) throws DiscoveryException {
+		try {
+			if (parameter.getField() != null
+					&& Modifier.isPublic(parameter.getField().getModifiers())) {
+				parameter.getField().set(discoverer, parameterValue);
+			} else if (parameter.getSetter() != null
+					&& Modifier.isPublic(parameter.getSetter().getModifiers())) {
+				parameter.getSetter().invoke(discoverer, parameterValue);
+			} else {
+				final String message = String.format(
+						"The discoverer '%s' does not implement public write access to the parameter '%s'", //$NON-NLS-1$
+						discoverer.getClass(),
+						parameter.getId());
+				throw new DiscoveryException(message);
+			}
+		} catch (IllegalArgumentException e) {
+			onInvokeException(parameter, parameterValue, e);
+		} catch (IllegalAccessException e) {
+			onInvokeException(parameter, parameterValue, e);
+		} catch (InvocationTargetException e) {
+			onInvokeException(parameter, parameterValue, e);
+		}
+	}
+
+	private static void onInvokeException(final DiscovererParameter parameter,
+			final Object parameterValue, final Exception exception)
+					throws DiscoveryException {
+		final String message = String.format(
+				"Illegal parameter value for '%s' : %s", //$NON-NLS-1$
+				parameter.getId(), parameterValue);
+		throw new DiscoveryException(message, exception);
+	}
+
+	/**
+	 * Save the benchmark model in an XMI file
+	 * @param benchmark
+	 * @throws IOException
+	 */
+	private void saveTargetModel(final Benchmark benchmark) throws IOException {
+		if ((this.getTargetURI() == null) && (this.getTargetModel() == null)) {
+			Logger.logWarning("The parameter TARGET_URI should not be empty", //$NON-NLS-1$
+					Activator.getDefault());
+			return;
+		}
+		Resource resource = benchmark.eResource();
+		if (resource == null) {
+			URI resourceUri;
+			if (getTargetModel() == null) {
+				resourceUri = getTargetURI();
+			} else {
+				resourceUri = getTargetModel().getURI();
+			}
+			resource = this.rSet.createResource(resourceUri);
+			resource.getContents().add(benchmark);
+		}
+		final List<Event> eventsList = new ArrayList<Event>();
+		final List<EventType> eventTypeList = new ArrayList<EventType>();
+		for (Discovery discovery : benchmark.getDiscoveries()) {
+			for (DiscoveryIteration iteration : discovery.getIterations()) {
+				for (Event event : iteration.getEvents()) {
+					eventsList.add(event);
+					eventTypeList.add(event.getEventType());
+				}
+			}
+		}
+		resource.getContents().addAll(eventTypeList);
+		this.setTargetModel(resource);
+		this.saveTargetModel();
+	}
+
+	/**
+	 * Compute the maximum amount of memory used in the discovery
+	 * @return max memory used
+	 */
+	private long computeMaxMemoryUsage() {
+		long max = 0;
+		for (MemoryMeasurement measure : this.memMeasurements) {
+			if (max < measure.getMemoryUsed()) {
+				max = measure.getMemoryUsed();
+			}
+		}
+		return max;
+	}
+
+	/**
+	 * Initialize the benchmark model element with system information
+	 * @return the model element
+	 */
+	private static Benchmark benchmarkInit(final IProgressMonitor progressMonitor) {
+		progressMonitor.subTask(
+				Messages.DiscovererBenchmarkDiscoverer_BenchmarkInitializationSubTask);
+		final Benchmark benchmark = BenchmarkFactory.eINSTANCE.createBenchmark();
+		try {
+			final SystemInfo sysInfo = SystemInfo.getInstance();
+			benchmark.setJvmMaxHeapInMiB(Runtime.getRuntime().maxMemory() / BYTEPERMB);
+			benchmark.setProcessorName(sysInfo.getProcName());
+			benchmark.setProcessorDescription(sysInfo.getProcDescription());
+			benchmark.setProcessorCount(sysInfo.getnProcessors());
+			benchmark.setProcessorCacheSize(sysInfo.getProcCacheSize());
+			benchmark.setSystemMemory(sysInfo.getMemory());
+			benchmark.setOsName(sysInfo.getOsName());
+			benchmark.setOsVersion(sysInfo.getOsVersion());
+			benchmark.setOsArchitecture(sysInfo.getArch());
+		} catch (IOException e) {
+			Logger.logError(e,
+					"Could not get system information for benchmark", //$NON-NLS-1$
+					Activator.getDefault());
+		}
+		return benchmark;
+	}
+
+	/**
+	 * Initialize the discovery model element before launching the associated
+	 * discoverer
+	 *
+	 * @param projectDesc
+	 *            the model element for project that will be discovered
+	 * @param disco
+	 *            the model element to initialize
+	 * @param discovery
+	 *            the model element representing the information concerning the
+	 *            discovery in the launch configuration
+	 * @param discoverer
+	 *            the real discoverer {@link AbstractModelDiscoverer}
+	 * @param benchmark 
+	 * @param discovererId
+	 *            the discoverer id
+	 * @throws DiscoveryException 
+	 */
+	private Discovery createDiscovery(final Project projectDesc,
+			final Discovery discovery, final Benchmark benchmark)
+			throws DiscoveryException {
+		final String discovererId = discovery.getDiscovererId();
+		final AbstractModelDiscoverer<IProject> discoverer =
+				(AbstractModelDiscoverer<IProject>)
+				IDiscoveryManager.INSTANCE.createDiscovererImpl(discovererId);
+		if (discoverer == null) {
+			final String message = String.format("The discoverer '%s' does not exists.", discovererId);
+			throw new DiscoveryException(message);
+		}
+		final Discovery disco = BenchmarkFactory.eINSTANCE.createDiscovery();
+		disco.setProject(projectDesc);
+		disco.setName(discoverer.toString());
+		disco.setDiscovererClassName(discoverer.getClass().getName());
+		disco.setDiscovererId(discovererId);
+		final DiscovererDescription discoDesc =
+				CatalogFactory.eINSTANCE.createDiscovererDescription();
+		final LaunchConfiguration discoLaunchConfig =
+				discovery.getDiscovererLaunchConfiguration();
+		if (discoLaunchConfig != null) {
+			final LaunchConfiguration launchConfig =
+					LaunchFactory.eINSTANCE.createLaunchConfiguration();
+			launchConfig.setSource(projectDesc.getName());
+			launchConfig.setDiscoverer(discoDesc);
+			launchConfig.setOpenModelAfterDiscovery(
+					discoLaunchConfig.isOpenModelAfterDiscovery());
+			for (ParameterValue paramValue : discoLaunchConfig.getParameterValues()) {
+				final ParameterValue newParamValue =
+						LaunchFactory.eINSTANCE.createParameterValue();
+				newParamValue.setValue(paramValue.getValue());
+				final DiscovererParameter param =
+						CatalogFactory.eINSTANCE.createDiscovererParameter();
+				param.setDescription(paramValue.getParameter().getDescription());
+				param.setDirection(paramValue.getParameter().getDirection());
+				param.setDiscoverer(discoDesc);
+				param.setField(paramValue.getParameter().getField());
+				param.setGetter(paramValue.getParameter().getGetter());
+				param.setId(paramValue.getParameter().getId());
+				param.setInitializer(paramValue.getParameter().getInitializer());
+				param.setRequiredInput(paramValue.getParameter().isRequiredInput());
+				param.setSetter(paramValue.getParameter().getSetter());
+				param.setType(paramValue.getParameter().getType());
+				newParamValue.setParameter(param);
+				launchConfig.getParameterValues().add(newParamValue);
+			}
+			disco.setDiscovererLaunchConfiguration(launchConfig);
+		}
+		if (discovery.getCopyOfDiscovererDescription() == null) {
+			discoDesc.setId(disco.getDiscovererId());
+			discoDesc.setSourceType(projectDesc.getClass());
+			discoDesc.setImplementationType(discoverer.getClass());
+		} else {
+			discoDesc.setId(discovery.getCopyOfDiscovererDescription().getId());
+			discoDesc.setImplementationBundle(discovery.getCopyOfDiscovererDescription().getImplementationBundle());
+			discoDesc.setImplementationType(discovery.getCopyOfDiscovererDescription().getImplementationType());
+			discoDesc.setSourceType(discovery.getCopyOfDiscovererDescription().getSourceType());
+		}
+		disco.setCopyOfDiscovererDescription(discoDesc);
+		benchmark.getDiscoveries().add(disco);
+		setLaunchParameter(disco, discoverer);
+		return disco;
+	}
+
+	/**
+	 * Finalization of the initialization of the discovery model element after the effective discovery
+	 * @param disco
+	 * @param discoverer
+	 */
+	private void postDiscoveryDiscoInit(final Discovery disco,
+			final AbstractModelDiscoverer<IProject> discoverer) {
+		if (this.iterations > 0) {
+			final MathUtils.Resolver<DiscoveryIteration> discoTimeResolver = 
+					new MathUtils.Resolver<DiscoveryIteration>() {
+				public double getValue(final DiscoveryIteration object) {
+					return object.getDiscoveryTimeInSeconds();
+				}
+			};
+			disco.setDiscoveryTimeAverageInSeconds(MathUtils.average(
+					disco.getIterations(), discoTimeResolver));
+			disco.setExecutionTimeStandardDeviation(MathUtils.standardDeviation(
+					disco.getIterations(), discoTimeResolver));
+			final MathUtils.Resolver<DiscoveryIteration> saveTimeResolver = 
+					new MathUtils.Resolver<DiscoveryIteration>() {
+				public double getValue(final DiscoveryIteration object) {
+					return object.getSaveTimeInSeconds();
+				}
+			};
+			disco.setSaveTimeAverageInSeconds(MathUtils.average(
+					disco.getIterations(), saveTimeResolver));
+			disco.setSaveTimeStandardDeviation(MathUtils.standardDeviation(
+					disco.getIterations(), saveTimeResolver));
+			disco.setNumberOfModelElements(computeSize(discoverer));
+			IFileStore fileStore;
+			final URI targetURI = discoverer.getTargetURI();
+			final String targetUriStr = targetURI.toString();
+			try {
+				final IWorkspace workspace = ResourcesPlugin.getWorkspace();
+				final IWorkspaceRoot wsRoot = workspace.getRoot();
+				final IPath wsLoc = wsRoot.getLocation();
+				final String wsLocStr = wsLoc.toString();
+				final String locationString = "file://" + wsLocStr + targetUriStr; //$NON-NLS-1$
+				final java.net.URI uri = java.net.URI.create(locationString);
+				fileStore = EFS.getStore(uri);
+				disco.setXmiSizeInBytes(fileStore.fetchInfo().getLength());
+			} catch (Exception e) {
+				final String message = String.format(
+						"Could not get output model size (%s).", targetUriStr); //$NON-NLS-1$
+				Logger.logError(e, message, Activator.getDefault());
+			}
+		}
+	}
+
+	/**
+	 * Initialize a {@link DiscoveryIteration} after the discovery using the event and memory recorder
+	 * @param recoreder {@link EventAndMemoryRecorder}
+	 * @return the initialized discovery iteration
+	 */
+	private static DiscoveryIteration createDiscoveryIteration(
+			final EventAndMemoryRecorder recoreder) {
+		final DiscoveryIteration discoIter =
+				BenchmarkFactory.eINSTANCE.createDiscoveryIteration();
+		discoIter.setDiscoveryDate(new Date());
+		discoIter.setMaxUsedMemoryInBytes(recoreder.getMaxMemoryUsed());
+		discoIter.getEvents().addAll(recoreder.getEvents());
+		discoIter.setDiscoveryTimeInSeconds((recoreder.getStopTime() - recoreder.getStartTime()) / MSINSEC);
+		for (Event event : recoreder.getEvents()) {
+			if (event instanceof EndEvent
+					&& event.getEventType().getName().equals(SAVE_OPERATION)) {
+				final double saveTime = event.getTime() 
+						- ((EndEvent) event).getBeginning().getTime();
+				discoIter.setSaveTimeInSeconds(saveTime / MSINSEC);
+				discoIter.setDiscoveryTimeInSeconds(discoIter.getDiscoveryTimeInSeconds() - discoIter.getSaveTimeInSeconds());
+			}
+		}
+		discoIter.getMemoryMeasurements().addAll(recoreder.getMemoryMeasurements());
+		return discoIter;
+	}
+
+	/**
+	 * Create the model elements for the projects and conaitned files to discover
+	 * @param project the real project {@link IProject}
+	 * @return the project model element {@link Project}
+	 */
+	private Project createBenchmarkProjectAndFiles(final IProject project) {
+		final Project proj = BenchmarkFactory.eINSTANCE.createProject();
+		proj.setName(project.getName());
+		try {
+			for (IResource res : project.members()) {
+				if (res instanceof IFolder) {
+					final List<File> files = createFiles((IFolder) res, new LinkedList<File>());
+					proj.getFiles().addAll(files);
+				} else {
+					if (res instanceof IFile) {
+						final File file = createFile(res);
+						proj.getFiles().add(file);
+					}
+				}
+			}
+			if (proj.getFiles().isEmpty()) {
+				proj.setAverageFileSizeInBytes(0);
+				proj.setTotalSizeInBytes(0);
+				proj.setAverageLinesPerFile(0);
+				proj.setTotalLines(0);
+			} else {
+				long totalLineSize = 0;
+				long totalByteSize = 0;
+				for (File f : proj.getFiles()) {
+					totalLineSize += f.getLines();
+					totalByteSize += f.getSizeInBytes();
+				}
+				proj.setAverageFileSizeInBytes(totalByteSize / proj.getFiles().size());
+				proj.setTotalSizeInBytes(totalByteSize);
+				proj.setAverageLinesPerFile(totalLineSize / getNumberOfSourceCodeFiles(proj));
+				proj.setTotalLines(totalLineSize);
+			}
+		} catch (CoreException e) {
+			final String message = String.format(
+					"Could not get members of the project '%s'.", //$NON-NLS-1$
+					project.getName());
+			Logger.logError(e,
+					message, Activator.getDefault());
+		}
+		return proj;
+	}
+
+	/**
+	 * Count the number of lines is source files.
+	 * The source files are identified as having the value of the CODE_EXTENSION constant as extension
+	 * @param proj the project to compute the number of lines
+	 * @return the number of lines
+	 */
+	private static long getNumberOfSourceCodeFiles(final Project proj) {
+		int number = 0;
+		for (File file : proj.getFiles()) {
+			//only files having CODE_EXTENSION as extension are measured
+			if (file.getLines() == 0) {
+				number++;
+			}
+		}
+		return number;
+	}
+
+	/**
+	 * Initialize the files model elements {@link File} contained in a folder {@link IFolder} to discover.
+	 * Recursive method, should be called initially on the project to discover
+	 * @param folder
+	 * @param files
+	 * @return the list of initialized files {@link File}
+	 * @throws CoreException
+	 */
+	private List<File> createFiles(final IFolder folder, final List<File> files) throws CoreException {
+		for (IResource res : folder.members()) {
+			if (res instanceof IFolder) {
+				final List<File> newFiles = 
+						createFiles((IFolder) res, new LinkedList<File>());
+				files.addAll(newFiles);
+			} else {
+				if (res instanceof IFile) {
+					final File file = createFile(res);
+					files.add(file);
+				}
+			}
+		}
+		return files;
+	}
+
+	/**
+	 * Initialize a file model element {@link File} from an eclipse resource {@link IResource}
+	 * @param res the resource
+	 * @return the initialized file
+	 * @throws CoreException
+	 */
+	private static File createFile(final IResource res) throws CoreException {
+		final IFileStore fileStore = EFS.getStore(res.getLocationURI());
+		final File file = BenchmarkFactory.eINSTANCE.createFile();
+		file.setSizeInBytes(fileStore.fetchInfo().getLength());
+		file.setFilepath(res.getFullPath().toString());
+		file.setLines(getLineNumber(res));
+		return file;
+	}
+
+	/**
+	 * Compute the number of lines in a file having as extension the value of the CODE_EXTENSION constant.
+	 * @param res the file to compute the number of lines
+	 * @return the number of line if source file 0 otherwise
+	 */
+	private static long getLineNumber(final IResource res) {
+		int lines = 0;
+		if (res == null) {
+			Logger.logWarning(
+					"Unable to compute the number of lines of an unexisting file", //$NON-NLS-1$
+					Activator.getDefault());
+		} else {
+			if (res.getFileExtension() != null
+					&& res.getFileExtension().endsWith(CODE_EXTENSION)) {
+				try {
+					final java.io.File file = res.getLocation().toFile();
+					final BufferedReader bReader = new BufferedReader(
+							new FileReader(file));
+					for (lines = 0; bReader.readLine() != null; lines++);
+					bReader.close();
+				} catch (Exception e) {
+					final String message = String.format(
+							"Counting the number of lines is '%s' failed ",  //$NON-NLS-1$
+							res.getName());
+					Logger.logWarning(e, message, Activator.getDefault());
+				}
+			}
+		}
+		return lines;
+	}
+
+	/**
+	 * @see AbstractModelDiscoverer#isApplicableTo(Object)
+	 */
+	public boolean isApplicableTo(final IProjectSet sources) {
+		boolean result = true;
+		for (IProject source : sources.getProjects()) {
+			result = result && source.getProject().isAccessible();
+		}
+		return result;
+	}
+
+	/**
+	 * Launch the discovery by calling {@link DiscovererBenchmarkDiscoverer#discoverBenchmark(IProjectSet, IProgressMonitor)}
+	 * @see AbstractModelDiscoverer#discoverElement(Object, IProgressMonitor)
+	 */
+	@Override
+	protected void basicDiscoverElement(final IProjectSet sources, final IProgressMonitor monitor)
+			throws DiscoveryException {
+		this.discoverBenchmark(sources, monitor);
+	}
+
+	public void setDiscovererID(final IDiscovererID discoId) {
+		this.discovererID = discoId;
+	}
+
+	public void setSizeDiscovererId(final String sizeDiscovererId) {
+		this.sizeDiscovererId = sizeDiscovererId;
+	}
+
+	/**
+	 * Setter for the number of iterations, annotated with @Parameter set by the UI
+	 * @param it number of iterations
+	 */
+	@Parameter(name = "NUMBER_OF_ITERATIONS", description = "The number of iterations to do.", requiresInputValue = true)
+	public void setIterations(final int it) {
+		this.iterations = it;
+	}
+
+	/**
+	 * Setter for memory usage measure, annotated with @Parameter set by the UI
+	 * @param measure true if the memory need to be measured
+	 */
+	@Parameter(name = "MEASURE_MEMORY_USAGE", description = "Tells if the memory usage should be measured or not.", requiresInputValue = true)
+	public void setMeasureMemoryUse(final boolean measure) {
+		this.measureMemoryUse = measure;
+		if (this.measureMemoryUse && this.memPollInterval == 0) {
+			this.memPollInterval = INTERVAL;
+		}
+	}
+
+	/**
+	 * Setter for the memory polling interval, annotated with @Parameter set by the UI
+	 * @param memoryInterval memory polling interval in milliseconds
+	 */
+	@Parameter(name = "MEMORY_POLLING_INTERVAL", description = "The time interval between to memory measurement (default value is 1 sec)", requiresInputValue = false)
+	public void setMemoryPollingInterval(final int memoryInterval) {
+		this.memPollInterval = memoryInterval;
+	}
+
+	/**
+	 * Setter for the generation of an HTML report, annotated with @Parameter set by the UI
+	 * @param generate true if an HTML report is wanted
+	 */
+	@Parameter(name = "GENERATE_HTML_REPORT", description = "Tells if a html report should be generated.", requiresInputValue = true)
+	public void setGenerateHtmlReport(final boolean generate) {
+		this.generateHtml = generate;
+	}
+
+	/**
+	 * Setter for the output model URI, annotated set by the UI
+	 * @param the output model URI
+	 */
+	@Override
+	public void setTargetURI(final org.eclipse.emf.common.util.URI targetURI) {
+		super.setTargetURI(targetURI);
+		super.setTargetModel(this.rSet.createResource(targetURI));
+	}
+
+	@Override
+	@Parameter(name = "TARGET_URI")
+	public org.eclipse.emf.common.util.URI getTargetURI() {
+		return super.getTargetURI();
+	}
+
+	public IDiscovererID getDiscovererID() {
+		return this.discovererID;
+	}
+
+
+	public int getIterations() {
+		return this.iterations;
+	}
+
+	public boolean isMeasureMemoryUse() {
+		return this.measureMemoryUse;
+	}
+
+	public int getMemoryPollingInterval() {
+		return this.memPollInterval;
+	}
+
+	public boolean isGenerateHtmlReport() {
+		return this.generateHtml;
+	}
+
+	/**
+	 * @return the htmlReportLocation
+	 */
+	public URI getHtmlReportLocation() {
+		return this.htmlReportLoc;
+	}
+
+	/**
+	 * Allow the selection of the HTML report location
+	 * @param htmlReportLoc the htmlReportLocation to set
+	 */
+	@Parameter(name = "HTML_REPORT_LOCATION", 
+			description = "Tells the location of the HTML report, should be set if GENERATE_HTML_REPORT is true",
+			requiresInputValue = false)
+	public void setHtmlReportLocation(final URI htmlReportUri) {
+		this.htmlReportLoc = htmlReportUri;
+	}
+
+}
diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/EventAndMemoryRecorder.java b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/EventAndMemoryRecorder.java
index be7eeed..b1e1b6f 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/EventAndMemoryRecorder.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/EventAndMemoryRecorder.java
@@ -1,11 +1,13 @@
 /*******************************************************************************

- * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- * accompanying materials are made available under the terms of the Eclipse

- * Public License v1.0 which accompanies this distribution, and is available at

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software

+ * All rights reserved. This program and the accompanying materials are made 

+ * available under the terms of the Eclipse Public License v1.0 which 

+ * accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

  * 

- * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- * 

+ * Contributors:

+ *     Guillaume Doux (INRIA) - Initial API and implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

  ******************************************************************************/

 

 package org.eclipse.modisco.infra.discovery.benchmark.core.internal.impl;

@@ -29,7 +31,7 @@
 	

 	private long startTime;

 	private long stopTime;

-	private int maxMemoryUsed;

+	private long maxMemoryUsed;

 	private boolean measureMemoryUse;

 	

 	private List<MemoryMeasurement> memoryMeasurements;

@@ -100,7 +102,7 @@
 	 * Max memory used getter 

 	 * @return the max memory used

 	 */

-	public int getMaxMemoryUsed() {

+	public long getMaxMemoryUsed() {

 		return this.maxMemoryUsed;

 	}

 

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/MemoryMeasurementJob.java b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/MemoryMeasurementJob.java
index 6080376..d5d1a73 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/MemoryMeasurementJob.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/MemoryMeasurementJob.java
@@ -1,103 +1,122 @@
-/*******************************************************************************

- * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- * accompanying materials are made available under the terms of the Eclipse

- * Public License v1.0 which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- * 

- ******************************************************************************/

-

-package org.eclipse.modisco.infra.discovery.benchmark.core.internal.impl;

-

-import java.util.LinkedList;

-import java.util.List;

-

-import org.eclipse.core.internal.jobs.JobStatus;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.jobs.Job;

-import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkFactory;

-import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.EventType;

-import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.MemoryMeasurement;

-

-/**

- * The implementation of the job measuring the memory consumption

- * @author Guillaume Doux

- *

- */

-public class MemoryMeasurementJob extends Job {

-

-	private int memoryPollingInterval;

-	private List<MemoryMeasurement> measures;

-	private long jobStartTime;

-	

-	private EventType eventType;

-	

-	/**

-	 * Constructor

-	 * @param name: the name of the job

-	 * @param interval: the time interval between two measure in milliseconds 

-	 */

-	public MemoryMeasurementJob(final String name, final int interval) {

-		super(name);

-		this.memoryPollingInterval = interval;

-		this.measures = new LinkedList<MemoryMeasurement>();

-		this.jobStartTime = 0;

-		this.eventType = BenchmarkFactory.eINSTANCE.createEventType();

-		this.eventType.setName("periodicMemoryMeasure");

-	}

-	

-	/**

-	 * Re-initialize the memory measurement job

-	 * @return this job

-	 */

-	public MemoryMeasurementJob reset() {

-		this.measures = new LinkedList<MemoryMeasurement>();

-		return this;

-	}

-	

-	/**

-	 * Setter for the starting time

-	 * @param s: the starting time in milliseconds

-	 */

-	public void setJobStartTime(final long s) {

-		this.jobStartTime = s;

-	}

-	

-	/**

-	 * Getter for the polling interval

-	 * @return the interval

-	 */

-	public int getMemoryPollingInterval() {

-		return this.memoryPollingInterval;

-	}

-

-	/**

-	 * Getter for the list of measures

-	 * @return the list of measures

-	 */

-	public List<MemoryMeasurement> getMeasures() {

-		return this.measures;

-	}

-

-	/**

-	 * The run method of the job

-	 */

-	//TODO check that the long is not too big for an int

-	protected IStatus run(final IProgressMonitor monitor) {

-		IStatus result = new JobStatus(IStatus.OK, this, "Memory measured every " + this.memoryPollingInterval + " ms.");

-		System.gc();

-		final long mem = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();

-		

-		MemoryMeasurement memoryMeasure = BenchmarkFactory.eINSTANCE.createMemoryMeasurement();

-		memoryMeasure.setTime(System.currentTimeMillis() - this.jobStartTime);

-		memoryMeasure.setMemoryUsed((int) mem);

-		memoryMeasure.setEventType(this.eventType);

-		

-		this.measures.add(memoryMeasure);

-		schedule(this.memoryPollingInterval);

-		return result;

-	}

-

-}

+/*******************************************************************************
+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.
+ * All rights reserved. This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Guillaume Doux (INRIA) - Initial API and implementation
+ *     Grégoire Dupé (Mia-Software) - Bug 482672 - Benchmark command line interface
+ *     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage
+ ******************************************************************************/
+
+package org.eclipse.modisco.infra.discovery.benchmark.core.internal.impl;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.Activator;
+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.Messages;
+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkFactory;
+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.EventType;
+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.MemoryMeasurement;
+import org.eclipse.osgi.util.NLS;
+import org.osgi.framework.Bundle;
+
+/**
+ * The implementation of the job measuring the memory consumption
+ * @author Guillaume Doux
+ *
+ */
+public class MemoryMeasurementJob extends Job {
+
+	private int memoryPollingInterval;
+	private List<MemoryMeasurement> measures;
+	private long jobStartTime;
+	private EventType eventType;
+
+	/**
+	 * Constructor
+	 * @param name: the name of the job
+	 * @param interval: the time interval between two measure in milliseconds
+	 */
+	public MemoryMeasurementJob(final String name, final int interval) {
+		super(name);
+		this.memoryPollingInterval = interval;
+		this.measures = new LinkedList<MemoryMeasurement>();
+		this.jobStartTime = 0;
+		this.eventType = BenchmarkFactory.eINSTANCE.createEventType();
+		this.eventType.setName("periodicMemoryMeasure");
+	}
+
+	/**
+	 * Re-initialize the memory measurement job
+	 * @return this job
+	 */
+	public MemoryMeasurementJob reset() {
+		this.measures = new LinkedList<MemoryMeasurement>();
+		return this;
+	}
+
+	/**
+	 * Setter for the starting time
+	 * @param s: the starting time in milliseconds
+	 */
+	public void setJobStartTime(final long s) {
+		this.jobStartTime = s;
+	}
+
+	/**
+	 * Getter for the polling interval
+	 * @return the interval
+	 */
+	public int getMemoryPollingInterval() {
+		return this.memoryPollingInterval;
+	}
+
+	/**
+	 * Getter for the list of measures
+	 * @return the list of measures
+	 */
+	public List<MemoryMeasurement> getMeasures() {
+		return this.measures;
+	}
+
+	/**
+	 * The run method of the job
+	 */
+	@SuppressWarnings("PMD.DoNotCallGarbageCollectionExplicitly")
+	/*
+	 * @SuppressWarnings("PMD.DoNotCallGarbageCollectionExplicitly"): gdupe> We
+	 * really want to call the garbage collector to improve the memory
+	 * measurement.
+	 */
+	protected IStatus run(final IProgressMonitor monitor) {
+		final String message = NLS.bind(
+				Messages.MemoryMeasurementJob_MemoryMeasureEveryMs,
+				Integer.toString(this.memoryPollingInterval));
+		final String pluginId = getPluginId();
+		final IStatus result = new Status(IStatus.OK, pluginId, message);
+		System.gc();
+		final Runtime runtime = Runtime.getRuntime();
+		final long mem = runtime.totalMemory() - runtime.freeMemory();
+		final MemoryMeasurement memoryMeasure =
+				BenchmarkFactory.eINSTANCE.createMemoryMeasurement();
+		memoryMeasure.setTime(System.currentTimeMillis() - this.jobStartTime);
+		memoryMeasure.setMemoryUsed(mem);
+		memoryMeasure.setEventType(this.eventType);
+		this.measures.add(memoryMeasure);
+		schedule(this.memoryPollingInterval);
+		return result;
+	}
+
+	private static String getPluginId() {
+		final Bundle bundle = Activator.getDefault().getBundle();
+		return bundle.getSymbolicName();
+	}
+}
\ No newline at end of file
diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/ReportUtils.java b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/ReportUtils.java
new file mode 100644
index 0000000..94ac3f0
--- /dev/null
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/ReportUtils.java
@@ -0,0 +1,87 @@
+/*******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA, and Mia-Software.

+ * 

+ * All rights reserved. This program and the

+ * accompanying materials are made available under the terms of the Eclipse

+ * Public License v1.0 which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ * 

+ * Contributors:

+ *    Guillaume Doux (INRIA) - Initial API and implementation

+ *    Grégoire Dupé (Mia-Software) - Bug 482672 - Benchmark command line interface

+ *    Grégoire Dupé (Mia-Software) - Bug 482857 - Discoverer Benchmark Report : wrong namespaces

+ ******************************************************************************/

+package org.eclipse.modisco.infra.discovery.benchmark.core.internal.impl;

+

+import java.io.File;

+import java.util.ArrayList;

+import java.util.List;

+

+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.modisco.infra.discovery.benchmark.core.internal.reporting.HtmlReport;

+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.reporting.internal.BenchmarkChartGeneration;

+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Benchmark;

+

+public final class ReportUtils {

+

+	private ReportUtils() {

+		// Must not be used

+	}

+	

+	public static void generateReport(final Benchmark benchmark,

+			final File targetFolder, final List<? extends Object> arguments, 

+			final boolean measureMemoryUse) throws ReportUtilsException {

+		try {

+			// Generation of the HTML report

+			final HtmlReport report = new HtmlReport(benchmark, targetFolder, arguments);

+			report.doGenerate(null);

+			// Generation of the charts

+			final BenchmarkChartGeneration chartGenerator = 

+					new BenchmarkChartGeneration(targetFolder, measureMemoryUse);

+			chartGenerator.generateAll(benchmark);

+		} catch (final Exception e) {

+			throw new ReportUtilsException(e);

+		}

+	}

+	

+	public static void generateReport(final URI benchmarkUri, final File targetFolder,

+			final List<? extends Object> arguments, 

+			final boolean measureMemoryUse) throws ReportUtilsException {

+		final ResourceSet resourceSet = new ResourceSetImpl();

+		final Resource resource = resourceSet.getResource(benchmarkUri, true);

+		final List<Benchmark> benchmarks = new ArrayList<Benchmark>();

+		for (EObject root : resource.getContents()) {

+			if (root instanceof Benchmark) {

+				final Benchmark benchmark = (Benchmark) root;

+				benchmarks.add(benchmark);

+			}

+		}

+		if (benchmarks.isEmpty()) {

+			final String message = String.format(

+					"The resource '' doen't contains any Benchmark instances at its root.", //$NON-NLS-1$

+					benchmarkUri.toString());

+			throw new ReportUtilsException(message);

+		}

+		if (benchmarks.size() == 1) {

+			generateReport(benchmarks.get(0), targetFolder, arguments,

+					measureMemoryUse);

+		} else {

+			for (Benchmark benchmark : benchmarks) {

+				generateReport(benchmark, targetFolder, arguments, 

+						measureMemoryUse);

+			}

+		}

+	}

+	

+	public static void generateReport(final File benchmarkFile, final File targetFolder,

+			final List<? extends Object> arguments, 

+			final boolean measureMemoryUse) throws ReportUtilsException {

+		final URI uri = URI.createFileURI(benchmarkFile.getAbsolutePath());

+		generateReport(uri, targetFolder, arguments, measureMemoryUse);

+	}

+

+}

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/ReportUtilsException.java b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/ReportUtilsException.java
new file mode 100644
index 0000000..e9556b8
--- /dev/null
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/impl/ReportUtilsException.java
@@ -0,0 +1,33 @@
+/*******************************************************************************

+ * Copyright (c) 2015 Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ *

+ * Contributors:

+ *    Grégoire Dupé (Mia-Software) - Bug 482672 - Benchmark command line interface

+ *******************************************************************************/

+package org.eclipse.modisco.infra.discovery.benchmark.core.internal.impl;

+

+public class ReportUtilsException extends Exception {

+

+	private static final long serialVersionUID = -9187774011235005068L;

+

+	public ReportUtilsException() {

+		super();

+	}

+

+	public ReportUtilsException(final String message) {

+		super(message);

+	}

+

+	public ReportUtilsException(final Throwable cause) {

+		super(cause);

+	}

+

+	public ReportUtilsException(final String message, final Throwable cause) {

+		super(message, cause);

+	}

+

+}

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/messages.properties b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/messages.properties
new file mode 100644
index 0000000..6453c2a
--- /dev/null
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/messages.properties
@@ -0,0 +1,38 @@
+# Copyright (c) 2015 Mia-Software.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#    Grégoire Dupé (Mia-Software) - Bug 482672 - Benchmark command line interface
+#    Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage
+#    Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer
+Application_Comma_sep_discoverer_list=Comma separated discoverer list
+Application_Comma_sep_existing_prj_path=Comma separated existing project parent directory OS paths to import
+Application_Comma_sep_project_list=Comma separated project list
+Application_Html_report_dir=HTML report directory
+Application_MemoryPollingInterval=Memory polling interval (ms)
+Application_no_of_iteration=Number of iteration
+Application_RecordMemoryUse=Record memory use
+Application_XMI_Output=XMI output
+BenchmarkChartGeneration_AvgTimeByPrjSizeFor=Average time by project size for {0}
+BenchmarkChartGeneration_AvgUsedMemByPrjSizeFor=Average used memory by project size for {0}
+BenchmarkChartGeneration_DiscoTime=Discovery Time
+BenchmarkChartGeneration_DiscoTimeByPrjSizeOverall=Discovery time by project size overall
+BenchmarkChartGeneration_PrjSize=project size
+BenchmarkChartGeneration_time=time
+BenchmarkChartGeneration_UsedMem=Used Memory
+BenchmarkChartGeneration_UsedMemByPrjSize=Used memory by project size overall
+BenchmarkChartGeneration_UsedMEmByTimeForOnThe=Used memory by time for {0} on {1} the {2}
+DiscovererBenchmarkDiscoverer_BenchmarkInitializationSubTask=Benchmark initialization
+DiscovererBenchmarkDiscoverer_BenchmarkTaskName=Benchmark Discovery
+DiscovererBenchmarkDiscoverer_DiscoveryInitializationSubTask=Discovery initialization
+DiscovererBenchmarkDiscoverer_GeneratingBenchmarkReportSubTask=Generating benchmark report
+DiscovererBenchmarkDiscoverer_ProjectDiscoveryIterationSubTask=Project discovery: iteration {0}
+DiscovererBenchmarkDiscoverer_ProjectInitializationSubTask=Project initialization
+DiscovererBenchmarkDiscoverer_SavingBenchmarkDataSubTask=Saving benchmark data
+MemoryMeasurementJob_MemoryMeasureEveryMs=Memory measured every {0} ms.
+XmiToHtmlApplication_MeasureMemoryUse=Measure memory use (true|false)
+XmiToHtmlApplication_Target_Folder_Path=Target folder path
+XmiToHtmlApplication_XMI_file_path=XMI file path
diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/HtmlReport.emtl b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/HtmlReport.emtl
deleted file mode 100644
index 92bc086..0000000
--- a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/HtmlReport.emtl
+++ /dev/null
@@ -1,7001 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">

-  <mtl:Module name="HtmlReport" nsURI="org::eclipse::modisco::infra::discovery::benchmark::reporting::HtmlReport" startHeaderPosition="29" endHeaderPosition="273">

-    <input>

-      <takesTypesFrom href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#/"/>

-    </input>

-    <input>

-      <takesTypesFrom href="http://www.eclipse.org/MoDisco/Discovery/0.1.incubation/discovery/launch#//catalog"/>

-    </input>

-    <input>

-      <takesTypesFrom href="http://www.eclipse.org/MoDisco/Discovery/0.1.incubation/discovery/launch#//launch"/>

-    </input>

-    <ownedModuleElement xsi:type="mtl:Query" name="maxExecutionTime" visibility="Public">

-      <parameter name="iterations" eType="/3/Set(DiscoveryIteration)"/>

-      <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke">

-        <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

-        <source xsi:type="ocl.ecore:VariableExp" name="self" eType="/3/Set(DiscoveryIteration)" referredVariable="/5"/>

-        <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.modisco.infra.discovery.benchmark.reporting.internal.ReportingUtilities">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        </argument>

-        <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="maxExecutionTime(java.util.Collection)">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        </argument>

-        <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(Set(DiscoveryIteration))" kind="Sequence">

-          <part xsi:type="ocl.ecore:CollectionItem" eType="/3/Set(DiscoveryIteration)">

-            <item xsi:type="ocl.ecore:VariableExp" name="iterations" eType="/3/Set(DiscoveryIteration)" referredVariable="/0/maxExecutionTime/iterations"/>

-          </part>

-        </argument>

-      </expression>

-      <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-    </ownedModuleElement>

-    <ownedModuleElement xsi:type="mtl:Query" name="maxSaveTime" visibility="Public">

-      <parameter name="iterations" eType="/3/Set(DiscoveryIteration)"/>

-      <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke">

-        <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

-        <source xsi:type="ocl.ecore:VariableExp" name="self" eType="/3/Set(DiscoveryIteration)" referredVariable="/8"/>

-        <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.modisco.infra.discovery.benchmark.reporting.internal.ReportingUtilities">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        </argument>

-        <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="maxSaveTime(java.util.Collection)">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        </argument>

-        <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(Set(DiscoveryIteration))" kind="Sequence">

-          <part xsi:type="ocl.ecore:CollectionItem" eType="/3/Set(DiscoveryIteration)">

-            <item xsi:type="ocl.ecore:VariableExp" name="iterations" eType="/3/Set(DiscoveryIteration)" referredVariable="/0/maxSaveTime/iterations"/>

-          </part>

-        </argument>

-      </expression>

-      <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-    </ownedModuleElement>

-    <ownedModuleElement xsi:type="mtl:Query" name="sizeWithUnit" visibility="Public">

-      <parameter name="value">

-        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-      </parameter>

-      <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke">

-        <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

-        <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-        </source>

-        <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.modisco.infra.discovery.benchmark.reporting.internal.ReportingUtilities">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        </argument>

-        <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="sizeWithUnit(java.lang.Double)">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        </argument>

-        <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(Real)" kind="Sequence">

-          <part xsi:type="ocl.ecore:CollectionItem">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-            <item xsi:type="ocl.ecore:VariableExp" name="value" referredVariable="/0/sizeWithUnit/value">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-            </item>

-          </part>

-        </argument>

-      </expression>

-      <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-    </ownedModuleElement>

-    <ownedModuleElement xsi:type="mtl:Query" name="timeWithUnit" visibility="Public">

-      <parameter name="value">

-        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-      </parameter>

-      <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke">

-        <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

-        <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-        </source>

-        <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.modisco.infra.discovery.benchmark.reporting.internal.ReportingUtilities">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        </argument>

-        <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="timeWithUnit(java.lang.Double)">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        </argument>

-        <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(Real)" kind="Sequence">

-          <part xsi:type="ocl.ecore:CollectionItem">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-            <item xsi:type="ocl.ecore:VariableExp" name="value" referredVariable="/0/timeWithUnit/value">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-            </item>

-          </part>

-        </argument>

-      </expression>

-      <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-    </ownedModuleElement>

-    <ownedModuleElement xsi:type="mtl:Template" name="HtmlReport" visibility="Public" main="true">

-      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#xA;"/>

-      <body xsi:type="mtl:FileBlock" openMode="OverWrite">

-        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;&#xA;&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;>&#xA;&lt;html>&#xA;&lt;head>&#xA;&#xA;&lt;style type=&quot;text/css&quot;>&#xA;  .graph {&#xA;    background-color: #E0E0E0;&#xA;    border: solid 1px black;&#xA;  }&#xA;  .graph td {&#xA;    font-family: verdana, arial, sans serif;&#xA;  }&#xA;  .bar {&#xA;    background-color: white;&#xA;    text-align: right;&#xA;    border: solid 1px black;&#xA;    width: 400px;&#xA;  }&#xA;  .bar div { &#xA;    background-color: #A0A0FF;&#xA;    text-align: right;&#xA;    float: left;&#xA;    height: 20px;&#xA;  }&#xA;  body {&#xA;    background-color: white;&#xA;  }&#xA;  td {&#xA;    text-align: center;&#xA;  }&#xA;&lt;/style>&#xA;&#xA;&lt;title>MoDisco Java Discover Benchmark&lt;/title>&#xA;&lt;/head>&#xA;&#xA;&lt;body>&#xA;&#xA;&#xA;&#xA;&lt;h2>System Information&lt;/h2>&#xA;  &lt;table border=&quot;1&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;>&#xA;    &lt;tr>&#xA;       &lt;th>OS name&lt;/th>&#xA;       &lt;td>"/>

-        <body xsi:type="ocl.ecore:PropertyCallExp">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-          <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-          </source>

-          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/osName"/>

-        </body>

-        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;    &lt;/tr>&#xA;       &#xA;    &lt;tr>&#xA;       &lt;th>OS version&lt;/th>&#xA;       &lt;td>"/>

-        <body xsi:type="ocl.ecore:PropertyCallExp">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-          <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-          </source>

-          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/osVersion"/>

-        </body>

-        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;    &lt;/tr>&#xA;       &#xA;    &lt;tr>&#xA;       &lt;th>OS architecture&lt;/th>&#xA;       &lt;td>"/>

-        <body xsi:type="ocl.ecore:PropertyCallExp">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-          <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-          </source>

-          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/osArchitecture"/>

-        </body>

-        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;    &lt;/tr>&#xA;       &#xA;    &lt;tr>&#xA;       &lt;th>Number of processor cores&lt;/th>&#xA;       &lt;td>"/>

-        <body xsi:type="ocl.ecore:PropertyCallExp">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-          <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-          </source>

-          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/processorCount"/>

-        </body>

-        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;    &lt;/tr>&#xA;&#xA;    &lt;tr>&#xA;       &lt;th>Processor name&lt;/th>&#xA;       &lt;td>"/>

-        <body xsi:type="ocl.ecore:PropertyCallExp">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-          <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-          </source>

-          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/processorName"/>

-        </body>

-        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;    &lt;/tr>&#xA;&#xA;    &lt;tr>&#xA;       &lt;th>Processor description&lt;/th>&#xA;       &lt;td>"/>

-        <body xsi:type="ocl.ecore:PropertyCallExp">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-          <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-          </source>

-          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/processorDescription"/>

-        </body>

-        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;    &lt;/tr>&#xA;&#xA;    &lt;tr>&#xA;       &lt;th>Processor cache size&lt;/th>&#xA;       &lt;td>"/>

-        <body xsi:type="ocl.ecore:PropertyCallExp">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-          <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-          </source>

-          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/processorCacheSize"/>

-        </body>

-        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;    &lt;/tr>&#xA;&#xA;    &lt;tr>&#xA;       &lt;th>System memory&lt;/th>&#xA;       &lt;td>"/>

-        <body xsi:type="ocl.ecore:PropertyCallExp">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-          <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-          </source>

-          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/systemMemory"/>

-        </body>

-        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;    &lt;/tr>&#xA;  &lt;/table>&#xA;&#xA;&#xA;&lt;h2>Execution time by project size&lt;/h2>&#xA;&#xA;&lt;img src=&quot;DiscoveryTimeByProjectSizeOverall.png&quot;/>&#xA;&#xA;&#xA;"/>

-        <body xsi:type="mtl:IfBlock">

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;h2>Memory use time by project size&lt;/h2>&#xA;&#xA;&lt;img src=&quot;memoryByProjectSizeOverall.png&quot;/>&#xA;&#xA;"/>

-          <ifExpr xsi:type="ocl.ecore:OperationCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-            <source xsi:type="ocl.ecore:PropertyCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-              <source xsi:type="ocl.ecore:OperationCallExp">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                  <source xsi:type="ocl.ecore:OperationCallExp">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Discovery)">

-                      <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/discoveries"/>

-                    </source>

-                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                </source>

-                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

-              </source>

-              <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/maxUsedMemoryInBytes"/>

-            </source>

-            <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-            </argument>

-            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3C%3E"/>

-          </ifExpr>

-        </body>

-        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#xA;&lt;h2>Results Overview&lt;/h2>&#xA;&#xA;  &lt;table border=&quot;1&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;>&#xA;    &lt;tr>&#xA;       &lt;th>Project&lt;/th>&#xA;&#x9;   &lt;th>Discoverer&lt;/th>&#xA;       &lt;th>Average discovery time&lt;/th>&#xA;       &lt;th>Average save time&lt;/th>&#xA;       &lt;th>Number of model elements&lt;/th>&#xA;       &lt;th>Total size&lt;/th>&#xA;       &lt;th>Average file size&lt;/th>&#xA;       &lt;th>Total lines&lt;/th>&#xA;       &lt;th>Average lines per file&lt;/th>&#xA;       &lt;th>XMI size&lt;/th>&#xA;     &lt;/tr>&#xA;"/>

-        <body xsi:type="mtl:ForBlock">

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="       &#x9;  &lt;tr>&#xA;            &lt;td>&lt;a href=&quot;Report/"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:PropertyCallExp">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-              <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-              </source>

-              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html&quot;>"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:PropertyCallExp">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-              <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-              </source>

-              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/a>&lt;/td>&#xA;&#x9;&#x9;&#x9;&lt;td>&lt;a href=&quot;Report/"/>

-          <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:PropertyCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-              <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-              </source>

-              <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-            </source>

-            <argument xsi:type="ocl.ecore:PropertyCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-              <source xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-              </source>

-              <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html&quot;>"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/a>&lt;/td>&#xA;            &lt;td>"/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discoveryTimeAverageInSeconds"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" (&amp;sigma; = "/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/executionTimeStandardDeviation"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="s)&lt;/td>&#xA;            &lt;td>"/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/saveTimeAverageInSeconds"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" (&amp;sigma; = "/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/saveTimeStandardDeviation"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="s)&lt;/td>&#xA;            &lt;td>"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-            <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/numberOfModelElements"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;            &lt;td>"/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/sizeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                <source xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                    <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/totalSizeInBytes"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;            &lt;td>"/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/sizeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                <source xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                    <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project/averageFileSizeInBytes"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;            &lt;td>"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-            <source xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              <source xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-              </source>

-              <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project/totalLines"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;            &lt;td>"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-            <source xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              <source xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-              </source>

-              <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project/averageLinesPerFile"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;            &lt;td>"/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/sizeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.19/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/xmiSizeInBytes"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;         &lt;/tr>&#xA;"/>

-          <loopVariable name="discovery">

-            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-          </loopVariable>

-          <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Discovery)">

-            <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-            </source>

-            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/discoveries"/>

-          </iterSet>

-        </body>

-        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="  &lt;/table>&#xA;&#xA;"/>

-        <body xsi:type="mtl:IfBlock">

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;h2>Execution times per iteration&lt;/h2>&#xA;&#xA;"/>

-          <body xsi:type="mtl:ForBlock">

-            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;h3>"/>

-            <body xsi:type="ocl.ecore:PropertyCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-              <source xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.1/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-              </source>

-              <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-            </body>

-            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" with &lt;a href=&quot;Report/"/>

-            <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-              <source xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.1/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <source xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.1/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-              </argument>

-            </body>

-            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html&quot;>"/>

-            <body xsi:type="ocl.ecore:PropertyCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-              <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.1/discovery">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-              </source>

-              <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-            </body>

-            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/a>&lt;/h3>&#xA;"/>

-            <body xsi:type="mtl:LetBlock">

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&lt;table width=&quot;600&quot; class=&quot;graph&quot; cellspacing=&quot;6&quot; cellpadding=&quot;0&quot;>&#xA;  &lt;tr>&#xA;    &lt;th>iteration&lt;/th>&lt;th>relative execution time&lt;/th>&lt;th>time&lt;/th>&#xA;  &lt;/tr>&#xA;&#xA;"/>

-              <body xsi:type="mtl:ForBlock">

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="    &lt;tr>&#xA;      &lt;td>"/>

-                <body xsi:type="ocl.ecore:VariableExp" name="i" referredVariable="/63">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"/>

-                <body xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.1/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                  </source>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/size"/>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&lt;td class=&quot;bar&quot;>&lt;div style=&quot;width: "/>

-                <body xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  <source xsi:type="ocl.ecore:OperationCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    <source xsi:type="ocl.ecore:PropertyCallExp">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                      <source xsi:type="ocl.ecore:VariableExp" name="discoveryIteration" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/discoveryIteration">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/discoveryTimeInSeconds"/>

-                    </source>

-                    <argument xsi:type="ocl.ecore:VariableExp" name="maxExecutionTime" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/maxExecutionTime">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    </argument>

-                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/%2F"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:RealLiteralExp" realSymbol="100.0">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/*"/>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="%&quot;>&lt;/div>&lt;/td>&lt;td>"/>

-                <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <argument xsi:type="ocl.ecore:OperationCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    </source>

-                    <argument xsi:type="ocl.ecore:PropertyCallExp">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                      <source xsi:type="ocl.ecore:VariableExp" name="discoveryIteration" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/discoveryIteration">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/discoveryTimeInSeconds"/>

-                    </argument>

-                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-                  </argument>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;    &lt;/tr>&#xA;"/>

-                <loopVariable name="discoveryIteration">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                </loopVariable>

-                <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.1/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                </iterSet>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/table>&#xA;&#xA;"/>

-              <letVariable name="maxExecutionTime">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                <initExpression xsi:type="mtl:QueryInvocation" definition="/0/maxExecutionTime">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  <argument xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.1/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                  </argument>

-                </initExpression>

-              </letVariable>

-            </body>

-            <loopVariable name="discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </loopVariable>

-            <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Discovery)">

-              <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-              </source>

-              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/discoveries"/>

-            </iterSet>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&lt;h2>Save times per iteration&lt;/h2>&#xA;&#xA;"/>

-          <body xsi:type="mtl:ForBlock">

-            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;h3>"/>

-            <body xsi:type="ocl.ecore:PropertyCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-              <source xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.3/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-              </source>

-              <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-            </body>

-            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" with &lt;a href=&quot;Report/"/>

-            <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-              <source xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.3/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <source xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.3/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-              </argument>

-            </body>

-            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html&quot;>"/>

-            <body xsi:type="ocl.ecore:PropertyCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-              <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.3/discovery">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-              </source>

-              <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-            </body>

-            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/a>&lt;/h3>&#xA;"/>

-            <body xsi:type="mtl:LetBlock">

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&lt;table width=&quot;600&quot; class=&quot;graph&quot; cellspacing=&quot;6&quot; cellpadding=&quot;0&quot;>&#xA;  &lt;tr>&#xA;    &lt;th>iteration&lt;/th>&lt;th>relative save time&lt;/th>&lt;th>time(s)&lt;/th>&#xA;  &lt;/tr>&#xA;&#xA;"/>

-              <body xsi:type="mtl:ForBlock">

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="    &lt;tr>&#xA;      &lt;td>"/>

-                <body xsi:type="ocl.ecore:VariableExp" name="i" referredVariable="/79">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"/>

-                <body xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.3/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                  </source>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/size"/>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&lt;td class=&quot;bar&quot;>&lt;div style=&quot;width: "/>

-                <body xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  <source xsi:type="ocl.ecore:OperationCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    <source xsi:type="ocl.ecore:PropertyCallExp">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                      <source xsi:type="ocl.ecore:VariableExp" name="discoveryIteration" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/discoveryIteration">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/saveTimeInSeconds"/>

-                    </source>

-                    <argument xsi:type="ocl.ecore:VariableExp" name="maxSaveTime" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/maxSaveTime">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    </argument>

-                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/%2F"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:RealLiteralExp" realSymbol="100.0">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/*"/>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="%&quot;>&lt;/div>&lt;/td>&lt;td>"/>

-                <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <argument xsi:type="ocl.ecore:OperationCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    </source>

-                    <argument xsi:type="ocl.ecore:PropertyCallExp">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                      <source xsi:type="ocl.ecore:VariableExp" name="discoveryIteration" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/discoveryIteration">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/saveTimeInSeconds"/>

-                    </argument>

-                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-                  </argument>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;    &lt;/tr>&#xA;"/>

-                <loopVariable name="discoveryIteration">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                </loopVariable>

-                <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.3/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                </iterSet>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/table>&#xA;&#xA;"/>

-              <letVariable name="maxSaveTime">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                <initExpression xsi:type="mtl:QueryInvocation" definition="/0/maxSaveTime">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  <argument xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.1/@body.21/@body.3/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                  </argument>

-                </initExpression>

-              </letVariable>

-            </body>

-            <loopVariable name="discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </loopVariable>

-            <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Discovery)">

-              <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-              </source>

-              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/discoveries"/>

-            </iterSet>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#xA;"/>

-          <ifExpr xsi:type="ocl.ecore:OperationCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-            <source xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                <source xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Discovery)">

-                    <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/discoveries"/>

-                  </source>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

-                </source>

-                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-              </source>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/size"/>

-            </source>

-            <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-            </argument>

-            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>

-          </ifExpr>

-        </body>

-        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&lt;p/>&#xA;&lt;hr/>&#xA;&lt;font size=&quot;-1&quot;>&lt;i>This report has been generated with &lt;a href=&quot;http://www.eclipse.org/MoDisco/&quot;>MoDisco&lt;/a> Java Discoverer Benchmark.&lt;/i>&lt;/font>&#xA;&lt;/body>&lt;/html>&#xA;"/>

-        <fileUrl xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="discoveryReport.html">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        </fileUrl>

-        <charset xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="UTF-8">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        </charset>

-      </body>

-      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#xA;&#xA;"/>

-      <body xsi:type="mtl:ForBlock">

-        <body xsi:type="mtl:FileBlock" openMode="OverWrite">

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;&#xA;&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;>&#xA;&lt;html>&#xA;&lt;head>&#xA;&#xA;&lt;style type=&quot;text/css&quot;>&#xA;  .graph {&#xA;    background-color: #E0E0E0;&#xA;    border: solid 1px black;&#xA;  }&#xA;  .graph td {&#xA;    font-family: verdana, arial, sans serif;&#xA;  }&#xA;  .bar {&#xA;    background-color: white;&#xA;    text-align: right;&#xA;    border: solid 1px black;&#xA;    width: 400px;&#xA;  }&#xA;  .bar div { &#xA;    background-color: #A0A0FF;&#xA;    text-align: right;&#xA;    float: left;&#xA;    height: 20px;&#xA;  }&#xA;  body {&#xA;    background-color: white;&#xA;  }&#xA;  td {&#xA;    text-align: center;&#xA;  }&#xA;&lt;/style>&#xA;&#xA;&lt;title>"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/name"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/title>&#xA;&lt;/head>&#xA;&#xA;&lt;body>&#xA;&#xA;&lt;h1>"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/name"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/h1>&#xA;&lt;h2>General discovery information&lt;/h2>&#xA;&lt;b>name&lt;/b>: "/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/name"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>discoverer&lt;/b>: "/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" ("/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererClassName"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")&lt;br/>&#xA;&lt;b>average discovery time in seconds&lt;/b>: "/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discoveryTimeAverageInSeconds"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>average save time in seconds&lt;/b>: "/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/saveTimeAverageInSeconds"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>execution time standard deviation&lt;/b>: "/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/executionTimeStandardDeviation"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>save time standard deviation&lt;/b>: "/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/saveTimeStandardDeviation"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>number of model elements&lt;/b>: "/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-            <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/numberOfModelElements"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>size of the xmi file in bytes&lt;/b>: "/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/sizeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/xmiSizeInBytes"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&#xA;&lt;h3>Project information&lt;/h3>&#xA;&lt;b>Project name&lt;/b>: &lt;a href=&quot;"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:PropertyCallExp">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-              <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-              </source>

-              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html&quot;>"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:PropertyCallExp">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-              <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-              </source>

-              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/a>&lt;br/>&#xA;&lt;b>total number of lines&lt;/b>: "/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-            <source xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              <source xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-              </source>

-              <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project/totalLines"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>average number of lines per files&lt;/b>: "/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-            <source xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              <source xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-              </source>

-              <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project/averageLinesPerFile"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>average file size in bytes&lt;/b>: "/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/sizeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                <source xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                    <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project/averageFileSizeInBytes"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>total size in bytes&lt;/b>: "/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/sizeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                <source xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/totalSizeInBytes"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&#xA;&lt;img src=&quot;../DiscoveryTimeByProjectSize"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".png&quot;/>&#xA;"/>

-          <body xsi:type="mtl:IfBlock">

-            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;img src=&quot;../memoryByProjectSize"/>

-            <body xsi:type="ocl.ecore:PropertyCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-              <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-              </source>

-              <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-            </body>

-            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".png&quot;/>&#xA;"/>

-            <ifExpr xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-              <source xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                <source xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                  </source>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/maxUsedMemoryInBytes"/>

-              </source>

-              <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3C%3E"/>

-            </ifExpr>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>

-          <body xsi:type="mtl:IfBlock">

-            <body xsi:type="mtl:ForBlock">

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;h2>iteration "/>

-              <body xsi:type="ocl.ecore:VariableExp" name="i" referredVariable="/125">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/h2>&#xA;&lt;b>date&lt;/b>: "/>

-              <body xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDate"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="iteration" referredVariable="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/iteration">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/discoveryDate"/>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>save time&lt;/b>: "/>

-              <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <argument xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="iteration" referredVariable="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/iteration">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/saveTimeInSeconds"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-                </argument>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>discovery time&lt;/b>: "/>

-              <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <argument xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="iteration" referredVariable="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/iteration">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/discoveryTimeInSeconds"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-                </argument>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>max used memory&lt;/b>: "/>

-              <body xsi:type="mtl:QueryInvocation" definition="/0/sizeWithUnit">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <argument xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="iteration" referredVariable="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/iteration">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/maxUsedMemoryInBytes"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-                </argument>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&#xA;"/>

-              <body xsi:type="mtl:IfBlock">

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;img src=&quot;../memoryByTime"/>

-                <body xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_"/>

-                <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                    <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/toString">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                      <source xsi:type="ocl.ecore:PropertyCallExp">

-                        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDate"/>

-                        <source xsi:type="ocl.ecore:VariableExp" name="iteration" referredVariable="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/iteration">

-                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                        </source>

-                        <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/discoveryDate"/>

-                      </source>

-                    </source>

-                    <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" ">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                    </argument>

-                    <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                    </argument>

-                  </source>

-                  <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=":">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  </argument>

-                  <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="-">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  </argument>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".png&quot;/>&#xA;"/>

-                <ifExpr xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                    <source xsi:type="ocl.ecore:OperationCallExp">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                      <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                        <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                        </source>

-                        <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                      </source>

-                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/maxUsedMemoryInBytes"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3C%3E"/>

-                </ifExpr>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>

-              <body xsi:type="mtl:IfBlock">

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;font color=&quot;red&quot;>&#xA;&lt;h3>discovery errors&lt;/h3>&#xA;"/>

-                <body xsi:type="mtl:ForBlock">

-                  <body xsi:type="ocl.ecore:VariableExp" name="error" referredVariable="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.13/@body.1/error.1">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  </body>

-                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;/font>&#xA;"/>

-                  <loopVariable name="error">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  </loopVariable>

-                  <iterSet xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="iteration" referredVariable="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/iteration">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/discoveryErrors"/>

-                  </iterSet>

-                </body>

-                <ifExpr xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-                  <source xsi:type="ocl.ecore:OperationCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-                    <source xsi:type="ocl.ecore:PropertyCallExp">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                      <source xsi:type="ocl.ecore:VariableExp" name="iteration" referredVariable="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/iteration">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/discoveryErrors"/>

-                    </source>

-                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/oclIsUndefined"/>

-                  </source>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>

-                </ifExpr>

-              </body>

-              <loopVariable name="iteration">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-              </loopVariable>

-              <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-              </iterSet>

-              <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;hr/>">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-              </each>

-            </body>

-            <ifExpr xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-              <source xsi:type="ocl.ecore:OperationCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                </source>

-                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/size"/>

-              </source>

-              <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>

-            </ifExpr>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#xA;&#xA;&#xA;&lt;p/>&#xA;&lt;hr/>&#xA;&lt;font size=&quot;-1&quot;>&lt;i>This report has been generated with &lt;a href=&quot;http://www.eclipse.org/MoDisco/&quot;>MoDisco&lt;/a> Java Discoverer Benchmark.&lt;/i>&lt;/font>&#xA;&lt;/body>&lt;/html>&#xA;"/>

-          <fileUrl xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-              <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <source xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Report/">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                </source>

-                <argument xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-                </argument>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <source xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.3/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-              </argument>

-            </source>

-            <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            </argument>

-          </fileUrl>

-          <charset xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="UTF-8">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-          </charset>

-        </body>

-        <loopVariable name="discovery">

-          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-        </loopVariable>

-        <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Discovery)">

-          <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-          </source>

-          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/discoveries"/>

-        </iterSet>

-      </body>

-      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#xA;"/>

-      <body xsi:type="mtl:ForBlock">

-        <body xsi:type="mtl:FileBlock" openMode="OverWrite">

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;&#xA;&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;>&#xA;&lt;html>&#xA;&lt;head>&#xA;&#xA;&lt;style type=&quot;text/css&quot;>&#xA;  .graph {&#xA;    background-color: #E0E0E0;&#xA;    border: solid 1px black;&#xA;  }&#xA;  .graph td {&#xA;    font-family: verdana, arial, sans serif;&#xA;  }&#xA;  .bar {&#xA;    background-color: white;&#xA;    text-align: right;&#xA;    border: solid 1px black;&#xA;    width: 400px;&#xA;  }&#xA;  .bar div { &#xA;    background-color: #A0A0FF;&#xA;    text-align: right;&#xA;    float: left;&#xA;    height: 20px;&#xA;  }&#xA;  body {&#xA;    background-color: white;&#xA;  }&#xA;  td {&#xA;    text-align: center;&#xA;  }&#xA;&lt;/style>&#xA;&#xA;&lt;title>"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              <source xsi:type="ocl.ecore:VariableExp" name="project" referredVariable="/0/HtmlReport/@body.5/project">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-              </source>

-              <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/title>&#xA;&lt;/head>&#xA;&#xA;&lt;body>&#xA;&#xA;&lt;h1>"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              <source xsi:type="ocl.ecore:VariableExp" name="project" referredVariable="/0/HtmlReport/@body.5/project">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-              </source>

-              <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/h1>&#xA;&#xA;&lt;h2>Project information&lt;/h2>&#xA;&lt;b>Project name&lt;/b>: &lt;a href=&quot;Report/"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              <source xsi:type="ocl.ecore:VariableExp" name="project" referredVariable="/0/HtmlReport/@body.5/project">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-              </source>

-              <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html&quot;>"/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              <source xsi:type="ocl.ecore:VariableExp" name="project" referredVariable="/0/HtmlReport/@body.5/project">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-              </source>

-              <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/a>&lt;br/>&#xA;&lt;b>total number of lines&lt;/b>: "/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-            <source xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              <source xsi:type="ocl.ecore:VariableExp" name="project" referredVariable="/0/HtmlReport/@body.5/project">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-              </source>

-              <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project/totalLines"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>average number of lines per files&lt;/b>: "/>

-          <body xsi:type="ocl.ecore:PropertyCallExp">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-            <source xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              <source xsi:type="ocl.ecore:VariableExp" name="project" referredVariable="/0/HtmlReport/@body.5/project">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-              </source>

-              <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-            </source>

-            <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project/averageLinesPerFile"/>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>average file size in bytes&lt;/b>: "/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/sizeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                <source xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="project" referredVariable="/0/HtmlReport/@body.5/project">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                    <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project/averageFileSizeInBytes"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&lt;b>total size in bytes&lt;/b>: "/>

-          <body xsi:type="mtl:QueryInvocation" definition="/0/sizeWithUnit">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <argument xsi:type="ocl.ecore:OperationCallExp">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="project" referredVariable="/0/HtmlReport/@body.5/project">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/totalSizeInBytes"/>

-              </argument>

-              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-            </argument>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&#xA;&lt;h2>Discoveries on the project&lt;/h2>&#xA;&#xA;&lt;h3>Results Overview&lt;/h3>&#xA;&#xA;  &lt;table border=&quot;1&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;>&#xA;    &lt;tr>&#xA;       &lt;th>Project&lt;/th>&#xA;&#x9;   &lt;th>Discoverer&lt;/th>&#xA;       &lt;th>Average discovery time&lt;/th>&#xA;       &lt;th>Average save time&lt;/th>&#xA;       &lt;th>Number of model elements&lt;/th>&#xA;       &lt;th>Total size&lt;/th>&#xA;       &lt;th>Average file size&lt;/th>&#xA;       &lt;th>Total lines&lt;/th>&#xA;       &lt;th>Average lines per file&lt;/th>&#xA;       &lt;th>XMI size&lt;/th>&#xA;     &lt;/tr>&#xA;&#xA;"/>

-          <body xsi:type="mtl:ForBlock">

-            <body xsi:type="mtl:IfBlock">

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="       &#x9;  &lt;tr>&#xA;            &lt;td>&lt;a href=&quot;"/>

-              <body xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <source xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html&quot;>"/>

-              <body xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <source xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/a>&lt;/td>&#xA;&#x9;&#x9;&#x9;&lt;td>&lt;a href=&quot;"/>

-              <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <source xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-                </source>

-                <argument xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-                </argument>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html&quot;>"/>

-              <body xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/a>&lt;/td>&#xA;            &lt;td>"/>

-              <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <argument xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discoveryTimeAverageInSeconds"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-                </argument>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" (&amp;sigma; = "/>

-              <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <argument xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/executionTimeStandardDeviation"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-                </argument>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="s)&lt;/td>&#xA;            &lt;td>"/>

-              <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <argument xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/saveTimeAverageInSeconds"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-                </argument>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" (&amp;sigma; = "/>

-              <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <argument xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/saveTimeStandardDeviation"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-                </argument>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="s)&lt;/td>&#xA;            &lt;td>"/>

-              <body xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/numberOfModelElements"/>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;            &lt;td>"/>

-              <body xsi:type="mtl:QueryInvocation" definition="/0/sizeWithUnit">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <argument xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                    <source xsi:type="ocl.ecore:OperationCallExp">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                      <source xsi:type="ocl.ecore:PropertyCallExp">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                        <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                        </source>

-                        <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                      </source>

-                      <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                        <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                      </argument>

-                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/totalSizeInBytes"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-                </argument>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;            &lt;td>"/>

-              <body xsi:type="mtl:QueryInvocation" definition="/0/sizeWithUnit">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <argument xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                    <source xsi:type="ocl.ecore:OperationCallExp">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                      <source xsi:type="ocl.ecore:PropertyCallExp">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                        <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                        </source>

-                        <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                      </source>

-                      <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                        <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                      </argument>

-                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project/averageFileSizeInBytes"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-                </argument>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;            &lt;td>"/>

-              <body xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                <source xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                    <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project/totalLines"/>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;            &lt;td>"/>

-              <body xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                <source xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:TypeExp" eType="/41/Project">

-                    <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project/averageLinesPerFile"/>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;            &lt;td>"/>

-              <body xsi:type="mtl:QueryInvocation" definition="/0/sizeWithUnit">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <argument xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/xmiSizeInBytes"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-                </argument>

-              </body>

-              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;         &lt;/tr>&#xA;"/>

-              <ifExpr xsi:type="ocl.ecore:OperationCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-                <source xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                </source>

-                <argument xsi:type="ocl.ecore:VariableExp" name="project" referredVariable="/0/HtmlReport/@body.5/project">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                </argument>

-                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>

-              </ifExpr>

-            </body>

-            <loopVariable name="discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </loopVariable>

-            <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Discovery)">

-              <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-              </source>

-              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/discoveries"/>

-            </iterSet>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="  &lt;/table>&#xA;&#xA;&lt;h3>Detailed Information&lt;/h3>&#xA;&#xA;"/>

-          <body xsi:type="mtl:ForBlock">

-            <body xsi:type="mtl:IfBlock">

-              <body xsi:type="mtl:IfBlock">

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;&lt;h4>Execution times per iteration&lt;/h4>&#xA;&#xA;&#x9;&#x9;&#x9;&lt;h5>&lt;a href=&quot;"/>

-                <body xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.19/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html&quot;>"/>

-                <body xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.19/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/a> with &lt;a href=&quot;"/>

-                <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.19/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                    <source xsi:type="ocl.ecore:PropertyCallExp">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                      <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.19/discovery">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-                  </argument>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html&quot;>"/>

-                <body xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.19/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/a>&lt;/h5>&#xA;"/>

-                <body xsi:type="mtl:LetBlock">

-                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#x9;&#x9;&#x9;&lt;table width=&quot;600&quot; class=&quot;graph&quot; cellspacing=&quot;6&quot; cellpadding=&quot;0&quot;>&#xA; &#x9;&#x9;&#x9;&lt;tr>&#xA;   &#x9;&#x9;&#x9;&#x9; &lt;th>iteration&lt;/th>&lt;th>relative execution time&lt;/th>&lt;th>time&lt;/th>&#xA; &#x9;&#x9;&#x9;&lt;/tr>&#xA;&#xA;"/>

-                  <body xsi:type="mtl:ForBlock">

-                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;&lt;tr>&#xA;     &#x9;&#x9;&#x9; &lt;td>"/>

-                    <body xsi:type="ocl.ecore:VariableExp" name="i" referredVariable="/175">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                    </body>

-                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"/>

-                    <body xsi:type="ocl.ecore:OperationCallExp">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                      <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                        <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.19/discovery">

-                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                        </source>

-                        <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                      </source>

-                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/size"/>

-                    </body>

-                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&lt;td class=&quot;bar&quot;>&lt;div style=&quot;width: "/>

-                    <body xsi:type="ocl.ecore:OperationCallExp">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                      <source xsi:type="ocl.ecore:OperationCallExp">

-                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                        <source xsi:type="ocl.ecore:PropertyCallExp">

-                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                          <source xsi:type="ocl.ecore:VariableExp" name="discoveryIteration" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/discoveryIteration">

-                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                          </source>

-                          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/discoveryTimeInSeconds"/>

-                        </source>

-                        <argument xsi:type="ocl.ecore:VariableExp" name="maxExecutionTime" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/maxExecutionTime">

-                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                        </argument>

-                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/%2F"/>

-                      </source>

-                      <argument xsi:type="ocl.ecore:RealLiteralExp" realSymbol="100.0">

-                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                      </argument>

-                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/*"/>

-                    </body>

-                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="%&quot;>&lt;/div>&lt;/td>&lt;td>"/>

-                    <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                      <argument xsi:type="ocl.ecore:OperationCallExp">

-                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                        <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                        </source>

-                        <argument xsi:type="ocl.ecore:PropertyCallExp">

-                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                          <source xsi:type="ocl.ecore:VariableExp" name="discoveryIteration" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/discoveryIteration">

-                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                          </source>

-                          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/discoveryTimeInSeconds"/>

-                        </argument>

-                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-                      </argument>

-                    </body>

-                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;    &#x9;&#x9;&lt;/tr>&#xA;"/>

-                    <loopVariable name="discoveryIteration">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                    </loopVariable>

-                    <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                      <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.19/discovery">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                    </iterSet>

-                  </body>

-                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;&lt;/table>&#xA;&#xA;"/>

-                  <letVariable name="maxExecutionTime">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    <initExpression xsi:type="mtl:QueryInvocation" definition="/0/maxExecutionTime">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                      <argument xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                        <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.19/discovery">

-                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                        </source>

-                        <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                      </argument>

-                    </initExpression>

-                  </letVariable>

-                </body>

-                <ifExpr xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-                  <source xsi:type="ocl.ecore:OperationCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                    <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                      <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.19/discovery">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                    </source>

-                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/size"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>

-                </ifExpr>

-              </body>

-              <ifExpr xsi:type="ocl.ecore:OperationCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-                <source xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.19/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                </source>

-                <argument xsi:type="ocl.ecore:VariableExp" name="project" referredVariable="/0/HtmlReport/@body.5/project">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                </argument>

-                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>

-              </ifExpr>

-            </body>

-            <loopVariable name="discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </loopVariable>

-            <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Discovery)">

-              <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-              </source>

-              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/discoveries"/>

-            </iterSet>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#xA;"/>

-          <body xsi:type="mtl:ForBlock">

-            <body xsi:type="mtl:IfBlock">

-              <body xsi:type="mtl:IfBlock">

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&lt;h4>Save times per iteration&lt;/h4>&#xA;&#xA;&#x9;&#x9;&lt;h5>&lt;a href=&quot;"/>

-                <body xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.21/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html&quot;>"/>

-                <body xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.21/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/a> with &lt;a href=&quot;"/>

-                <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <source xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.21/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                    <source xsi:type="ocl.ecore:PropertyCallExp">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                      <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.21/discovery">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-                  </argument>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html&quot;>"/>

-                <body xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.21/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-                </body>

-                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/a>&lt;/h5>&#xA;"/>

-                <body xsi:type="mtl:LetBlock">

-                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#x9;&#x9;&lt;table width=&quot;600&quot; class=&quot;graph&quot; cellspacing=&quot;6&quot; cellpadding=&quot;0&quot;>&#xA;  &#x9;&#x9;&lt;tr>&#xA;    &#x9;&#x9;&lt;th>iteration&lt;/th>&lt;th>relative save time&lt;/th>&lt;th>time(s)&lt;/th>&#xA;  &#x9;&#x9;&lt;/tr>&#xA;&#xA;"/>

-                  <body xsi:type="mtl:ForBlock">

-                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="    &#x9;&#x9;&lt;tr>&#xA;      &#x9;&#x9;&#x9;&lt;td>"/>

-                    <body xsi:type="ocl.ecore:VariableExp" name="i" referredVariable="/194">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                    </body>

-                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"/>

-                    <body xsi:type="ocl.ecore:OperationCallExp">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                      <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                        <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.21/discovery">

-                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                        </source>

-                        <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                      </source>

-                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/size"/>

-                    </body>

-                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&lt;td class=&quot;bar&quot;>&lt;div style=&quot;width: "/>

-                    <body xsi:type="ocl.ecore:OperationCallExp">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                      <source xsi:type="ocl.ecore:OperationCallExp">

-                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                        <source xsi:type="ocl.ecore:PropertyCallExp">

-                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                          <source xsi:type="ocl.ecore:VariableExp" name="discoveryIteration" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/discoveryIteration">

-                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                          </source>

-                          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/saveTimeInSeconds"/>

-                        </source>

-                        <argument xsi:type="ocl.ecore:VariableExp" name="maxSaveTime" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/maxSaveTime">

-                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                        </argument>

-                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/%2F"/>

-                      </source>

-                      <argument xsi:type="ocl.ecore:RealLiteralExp" realSymbol="100.0">

-                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                      </argument>

-                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/*"/>

-                    </body>

-                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="%&quot;>&lt;/div>&lt;/td>&lt;td>"/>

-                    <body xsi:type="mtl:QueryInvocation" definition="/0/timeWithUnit">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                      <argument xsi:type="ocl.ecore:OperationCallExp">

-                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                        <source xsi:type="ocl.ecore:RealLiteralExp" realSymbol="0.0">

-                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                        </source>

-                        <argument xsi:type="ocl.ecore:PropertyCallExp">

-                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                          <source xsi:type="ocl.ecore:VariableExp" name="discoveryIteration" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/discoveryIteration">

-                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                          </source>

-                          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/saveTimeInSeconds"/>

-                        </argument>

-                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/+"/>

-                      </argument>

-                    </body>

-                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/td>&#xA;    &#x9;&#x9;&lt;/tr>&#xA;"/>

-                    <loopVariable name="discoveryIteration">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                    </loopVariable>

-                    <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                      <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.21/discovery">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                    </iterSet>

-                  </body>

-                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&lt;/table>&#xA;&#xA;"/>

-                  <letVariable name="maxSaveTime">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                    <initExpression xsi:type="mtl:QueryInvocation" definition="/0/maxSaveTime">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-                      <argument xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                        <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.21/discovery">

-                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                        </source>

-                        <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                      </argument>

-                    </initExpression>

-                  </letVariable>

-                </body>

-                <ifExpr xsi:type="ocl.ecore:OperationCallExp">

-                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-                  <source xsi:type="ocl.ecore:OperationCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                    <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                      <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.21/discovery">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                    </source>

-                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/size"/>

-                  </source>

-                  <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-                  </argument>

-                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>

-                </ifExpr>

-              </body>

-              <ifExpr xsi:type="ocl.ecore:OperationCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-                <source xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.21/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                </source>

-                <argument xsi:type="ocl.ecore:VariableExp" name="project" referredVariable="/0/HtmlReport/@body.5/project">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                </argument>

-                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>

-              </ifExpr>

-            </body>

-            <loopVariable name="discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </loopVariable>

-            <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Discovery)">

-              <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-              </source>

-              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/discoveries"/>

-            </iterSet>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>

-          <body xsi:type="mtl:ForBlock">

-            <body xsi:type="mtl:IfBlock">

-              <body xsi:type="mtl:ForBlock">

-                <body xsi:type="mtl:IfBlock">

-                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;&#x9;&lt;font color=&quot;red&quot;>&#xA;&#x9;&#x9;&#x9;&#x9;&lt;h2>discovery errors for &lt;a href=&quot;"/>

-                  <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                    <source xsi:type="ocl.ecore:PropertyCallExp">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                      <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.23/discovery">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-                    </source>

-                    <argument xsi:type="ocl.ecore:PropertyCallExp">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                      <source xsi:type="ocl.ecore:PropertyCallExp">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                        <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.23/discovery">

-                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                        </source>

-                        <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-                    </argument>

-                  </body>

-                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html&quot;>"/>

-                  <body xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                    <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.23/discovery">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/discovererId"/>

-                  </body>

-                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/a> on &lt;a href=&quot;"/>

-                  <body xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                    <source xsi:type="ocl.ecore:PropertyCallExp">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                      <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.23/discovery">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-                  </body>

-                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html&quot;>"/>

-                  <body xsi:type="ocl.ecore:PropertyCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                    <source xsi:type="ocl.ecore:PropertyCallExp">

-                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                      <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.23/discovery">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                    </source>

-                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-                  </body>

-                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;/a>:&lt;/h2>&#xA;"/>

-                  <body xsi:type="mtl:ForBlock">

-                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;&#x9;&#x9;"/>

-                    <body xsi:type="ocl.ecore:VariableExp" name="error" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.9/error.1">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                    </body>

-                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;br/>&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;/font>&#xA;"/>

-                    <loopVariable name="error">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                    </loopVariable>

-                    <iterSet xsi:type="ocl.ecore:PropertyCallExp">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                      <source xsi:type="ocl.ecore:VariableExp" name="iteration" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/iteration">

-                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                      </source>

-                      <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/discoveryErrors"/>

-                    </iterSet>

-                  </body>

-                  <ifExpr xsi:type="ocl.ecore:OperationCallExp">

-                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-                    <source xsi:type="ocl.ecore:OperationCallExp">

-                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-                      <source xsi:type="ocl.ecore:PropertyCallExp">

-                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                        <source xsi:type="ocl.ecore:VariableExp" name="iteration" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/iteration">

-                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                        </source>

-                        <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration/discoveryErrors"/>

-                      </source>

-                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/oclIsUndefined"/>

-                    </source>

-                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>

-                  </ifExpr>

-                </body>

-                <loopVariable name="iteration">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-                </loopVariable>

-                <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(DiscoveryIteration)">

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.23/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/iterations"/>

-                </iterSet>

-              </body>

-              <ifExpr xsi:type="ocl.ecore:OperationCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

-                <source xsi:type="ocl.ecore:PropertyCallExp">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                  <source xsi:type="ocl.ecore:VariableExp" name="discovery" referredVariable="/0/HtmlReport/@body.5/@body.0/@body.23/discovery">

-                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-                  </source>

-                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery/project"/>

-                </source>

-                <argument xsi:type="ocl.ecore:VariableExp" name="project" referredVariable="/0/HtmlReport/@body.5/project">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                </argument>

-                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>

-              </ifExpr>

-            </body>

-            <loopVariable name="discovery">

-              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-            </loopVariable>

-            <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Discovery)">

-              <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-              </source>

-              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/discoveries"/>

-            </iterSet>

-          </body>

-          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&lt;p/>&#xA;&lt;hr/>&#xA;&lt;font size=&quot;-1&quot;>&lt;i>This report has been generated with &lt;a href=&quot;http://www.eclipse.org/MoDisco/&quot;>MoDisco&lt;/a> Java Discoverer Benchmark.&lt;/i>&lt;/font>&#xA;&lt;/body>&lt;/html>&#xA;"/>

-          <fileUrl xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-              <source xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Report/">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-              </source>

-              <argument xsi:type="ocl.ecore:PropertyCallExp">

-                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-                <source xsi:type="ocl.ecore:VariableExp" name="project" referredVariable="/0/HtmlReport/@body.5/project">

-                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-                </source>

-                <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource/name"/>

-              </argument>

-            </source>

-            <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".html">

-              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-            </argument>

-          </fileUrl>

-          <charset xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="UTF-8">

-            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-          </charset>

-        </body>

-        <loopVariable name="project">

-          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-        </loopVariable>

-        <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Resource)">

-          <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/HtmlReport/b">

-            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-          </source>

-          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark/projects"/>

-        </iterSet>

-      </body>

-      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>

-      <parameter name="b">

-        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-      </parameter>

-    </ownedModuleElement>

-  </mtl:Module>

-  <ecore:EPackage name="additions">

-    <eClassifiers xsi:type="ecore:EClass" name="String_Class">

-      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

-        <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-      </eAnnotations>

-      <eOperations name="replaceAll">

-        <eAnnotations source="MTL non-standard"/>

-        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        <eParameters name="substring">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        </eParameters>

-        <eParameters name="replacement">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        </eParameters>

-      </eOperations>

-      <eOperations name="+">

-        <eAnnotations source="MTL non-standard"/>

-        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        <eParameters name="other">

-          <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

-        </eParameters>

-      </eOperations>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">

-      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

-        <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-      </eAnnotations>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="Real_Class">

-      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

-        <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-      </eAnnotations>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">

-      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

-        <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>

-      </eAnnotations>

-      <eOperations name="maxExecutionTime">

-        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

-          <contents xsi:type="ocl.ecore:Constraint"/>

-        </eAnnotations>

-        <eAnnotations source="MTL" references="/0/maxExecutionTime"/>

-        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-        <eParameters name="iterations" eType="/3/Set(DiscoveryIteration)"/>

-      </eOperations>

-      <eOperations name="maxSaveTime">

-        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

-          <contents xsi:type="ocl.ecore:Constraint"/>

-        </eAnnotations>

-        <eAnnotations source="MTL" references="/0/maxSaveTime"/>

-        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-        <eParameters name="iterations" eType="/3/Set(DiscoveryIteration)"/>

-      </eOperations>

-      <eOperations name="sizeWithUnit">

-        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

-          <contents xsi:type="ocl.ecore:Constraint"/>

-        </eAnnotations>

-        <eAnnotations source="MTL" references="/0/sizeWithUnit"/>

-        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        <eParameters name="value">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-        </eParameters>

-      </eOperations>

-      <eOperations name="timeWithUnit">

-        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

-          <contents xsi:type="ocl.ecore:Constraint"/>

-        </eAnnotations>

-        <eAnnotations source="MTL" references="/0/timeWithUnit"/>

-        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        <eParameters name="value">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-        </eParameters>

-      </eOperations>

-      <eOperations name="HtmlReport">

-        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

-          <contents xsi:type="ocl.ecore:Constraint"/>

-        </eAnnotations>

-        <eAnnotations source="MTL" references="/0/HtmlReport"/>

-        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        <eParameters name="b">

-          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-        </eParameters>

-      </eOperations>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">

-      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

-        <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

-      </eAnnotations>

-      <eOperations name="toString">

-        <eAnnotations source="MTL non-standard"/>

-        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-      </eOperations>

-      <eOperations name="invoke">

-        <eAnnotations source="MTL non-standard"/>

-        <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

-        <eParameters name="class">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        </eParameters>

-        <eParameters name="method">

-          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-        </eParameters>

-        <eParameters name="arguments">

-          <eType xsi:type="ocl.ecore:SequenceType" href="http://www.eclipse.org/acceleo/mtl/3.0/mtlnonstdlib.ecore#//Sequence(OclAny)"/>

-        </eParameters>

-      </eOperations>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">

-      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

-        <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>

-      </eAnnotations>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">

-      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

-        <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>

-      </eAnnotations>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">

-      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

-        <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>

-      </eAnnotations>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="Set(DiscoveryIteration)_Class">

-      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL" references="/3/Set(DiscoveryIteration)"/>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="Benchmark_Class">

-      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

-        <references href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-      </eAnnotations>

-    </eClassifiers>

-  </ecore:EPackage>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>

-  </ocl.ecore:Variable>

-  <ecore:EPackage name="collections">

-    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(DiscoveryIteration)" instanceClassName="java.util.Set">

-      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-    </eClassifiers>

-    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Set(DiscoveryIteration))" instanceClassName="java.util.List" elementType="/3/Set(DiscoveryIteration)"/>

-    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclAny)" instanceClassName="java.util.List">

-      <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

-    </eClassifiers>

-    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Real)" instanceClassName="java.util.List">

-      <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-    </eClassifiers>

-    <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Discovery)" instanceClassName="java.util.LinkedHashSet">

-      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-    </eClassifiers>

-    <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(DiscoveryIteration)" instanceClassName="java.util.LinkedHashSet">

-      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-    </eClassifiers>

-    <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Resource)" instanceClassName="java.util.LinkedHashSet">

-      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-    </eClassifiers>

-  </ecore:EPackage>

-  <ocl.ecore:Variable name="self" eType="/3/Set(DiscoveryIteration)"/>

-  <ocl.ecore:Variable name="self" eType="/3/Set(DiscoveryIteration)"/>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self" eType="/3/Set(DiscoveryIteration)"/>

-  <ocl.ecore:Variable name="self" eType="/3/Set(DiscoveryIteration)"/>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ecore:EPackage name="types">

-    <eClassifiers xsi:type="ocl.ecore:TypeType" name="Project">

-      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Project"/>

-    </eClassifiers>

-  </ecore:EPackage>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//DiscoveryIteration"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Discovery"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Resource"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark#//Benchmark"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="i">

-    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

-  </ocl.ecore:Variable>

-  <ocl.ecore:Variable name="self">

-    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>

-  </ocl.ecore:Variable>

-  <ecore:EAnnotation source="positions">

-    <eAnnotations source="positions.0" references="/0/maxExecutionTime">

-      <details key="start" value="277"/>

-      <details key="end" value="515"/>

-      <details key="line" value="4"/>

-    </eAnnotations>

-    <eAnnotations source="positions.1" references="/0/maxExecutionTime/iterations">

-      <details key="start" value="309"/>

-      <details key="end" value="345"/>

-      <details key="line" value="4"/>

-    </eAnnotations>

-    <eAnnotations source="positions.2" references="/0/maxExecutionTime/@expression">

-      <details key="start" value="356"/>

-      <details key="end" value="513"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.3" references="/0/maxExecutionTime/@expression/self">

-      <details key="start" value="-1"/>

-      <details key="end" value="-1"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.4" references="/0/maxExecutionTime/@expression/@argument.0">

-      <details key="start" value="363"/>

-      <details key="end" value="448"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.5" references="/0/maxExecutionTime/@expression/@argument.1">

-      <details key="start" value="450"/>

-      <details key="end" value="490"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.6" references="/0/maxExecutionTime/@expression/@argument.2">

-      <details key="start" value="492"/>

-      <details key="end" value="512"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.7" references="/0/maxExecutionTime/@expression/@argument.2/@part.0/iterations">

-      <details key="start" value="501"/>

-      <details key="end" value="511"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.8" references="/0/maxSaveTime">

-      <details key="start" value="516"/>

-      <details key="end" value="744"/>

-      <details key="line" value="5"/>

-    </eAnnotations>

-    <eAnnotations source="positions.9" references="/0/maxSaveTime/iterations">

-      <details key="start" value="543"/>

-      <details key="end" value="579"/>

-      <details key="line" value="5"/>

-    </eAnnotations>

-    <eAnnotations source="positions.10" references="/0/maxSaveTime/@expression">

-      <details key="start" value="590"/>

-      <details key="end" value="742"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.11" references="/0/maxSaveTime/@expression/self">

-      <details key="start" value="-1"/>

-      <details key="end" value="-1"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.12" references="/0/maxSaveTime/@expression/@argument.0">

-      <details key="start" value="597"/>

-      <details key="end" value="682"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.13" references="/0/maxSaveTime/@expression/@argument.1">

-      <details key="start" value="684"/>

-      <details key="end" value="719"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.14" references="/0/maxSaveTime/@expression/@argument.2">

-      <details key="start" value="721"/>

-      <details key="end" value="741"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.15" references="/0/maxSaveTime/@expression/@argument.2/@part.0/iterations">

-      <details key="start" value="730"/>

-      <details key="end" value="740"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.16" references="/0/sizeWithUnit">

-      <details key="start" value="745"/>

-      <details key="end" value="944"/>

-      <details key="line" value="6"/>

-    </eAnnotations>

-    <eAnnotations source="positions.17" references="/0/sizeWithUnit/value">

-      <details key="start" value="773"/>

-      <details key="end" value="785"/>

-      <details key="line" value="6"/>

-    </eAnnotations>

-    <eAnnotations source="positions.18" references="/0/sizeWithUnit/@expression">

-      <details key="start" value="798"/>

-      <details key="end" value="942"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.19" references="/0/sizeWithUnit/@expression/self">

-      <details key="start" value="-1"/>

-      <details key="end" value="-1"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.20" references="/0/sizeWithUnit/@expression/@argument.0">

-      <details key="start" value="805"/>

-      <details key="end" value="890"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.21" references="/0/sizeWithUnit/@expression/@argument.1">

-      <details key="start" value="892"/>

-      <details key="end" value="924"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.22" references="/0/sizeWithUnit/@expression/@argument.2">

-      <details key="start" value="926"/>

-      <details key="end" value="941"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.23" references="/0/sizeWithUnit/@expression/@argument.2/@part.0/value">

-      <details key="start" value="935"/>

-      <details key="end" value="940"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.24" references="/0/timeWithUnit">

-      <details key="start" value="945"/>

-      <details key="end" value="1144"/>

-      <details key="line" value="7"/>

-    </eAnnotations>

-    <eAnnotations source="positions.25" references="/0/timeWithUnit/value">

-      <details key="start" value="973"/>

-      <details key="end" value="985"/>

-      <details key="line" value="7"/>

-    </eAnnotations>

-    <eAnnotations source="positions.26" references="/0/timeWithUnit/@expression">

-      <details key="start" value="998"/>

-      <details key="end" value="1142"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.27" references="/0/timeWithUnit/@expression/self">

-      <details key="start" value="-1"/>

-      <details key="end" value="-1"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.28" references="/0/timeWithUnit/@expression/@argument.0">

-      <details key="start" value="1005"/>

-      <details key="end" value="1090"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.29" references="/0/timeWithUnit/@expression/@argument.1">

-      <details key="start" value="1092"/>

-      <details key="end" value="1124"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.30" references="/0/timeWithUnit/@expression/@argument.2">

-      <details key="start" value="1126"/>

-      <details key="end" value="1141"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.31" references="/0/timeWithUnit/@expression/@argument.2/@part.0/value">

-      <details key="start" value="1135"/>

-      <details key="end" value="1140"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.32" references="/0/HtmlReport">

-      <details key="start" value="1146"/>

-      <details key="end" value="15346"/>

-      <details key="line" value="9"/>

-    </eAnnotations>

-    <eAnnotations source="positions.33" references="/0/HtmlReport/@body.0">

-      <details key="start" value="1190"/>

-      <details key="end" value="1192"/>

-      <details key="line" value="10"/>

-    </eAnnotations>

-    <eAnnotations source="positions.34" references="/0/HtmlReport/@body.1">

-      <details key="start" value="1212"/>

-      <details key="end" value="6379"/>

-      <details key="line" value="12"/>

-    </eAnnotations>

-    <eAnnotations source="positions.35" references="/0/HtmlReport/@body.1/@body.0">

-      <details key="start" value="1260"/>

-      <details key="end" value="2057"/>

-      <details key="line" value="13"/>

-    </eAnnotations>

-    <eAnnotations source="positions.36" references="/0/HtmlReport/@body.1/@body.1">

-      <details key="start" value="2058"/>

-      <details key="end" value="2066"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.37" references="/0/HtmlReport/@body.1/@body.1/b">

-      <details key="start" value="2058"/>

-      <details key="end" value="2059"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.38" references="/0/HtmlReport/@body.1/@body.2">

-      <details key="start" value="2068"/>

-      <details key="end" value="2139"/>

-      <details key="line" value="57"/>

-    </eAnnotations>

-    <eAnnotations source="positions.39" references="/0/HtmlReport/@body.1/@body.3">

-      <details key="start" value="2140"/>

-      <details key="end" value="2151"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.40" references="/0/HtmlReport/@body.1/@body.3/b">

-      <details key="start" value="2140"/>

-      <details key="end" value="2141"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.41" references="/0/HtmlReport/@body.1/@body.4">

-      <details key="start" value="2153"/>

-      <details key="end" value="2229"/>

-      <details key="line" value="62"/>

-    </eAnnotations>

-    <eAnnotations source="positions.42" references="/0/HtmlReport/@body.1/@body.5">

-      <details key="start" value="2230"/>

-      <details key="end" value="2246"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.43" references="/0/HtmlReport/@body.1/@body.5/b">

-      <details key="start" value="2230"/>

-      <details key="end" value="2231"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.44" references="/0/HtmlReport/@body.1/@body.6">

-      <details key="start" value="2248"/>

-      <details key="end" value="2334"/>

-      <details key="line" value="67"/>

-    </eAnnotations>

-    <eAnnotations source="positions.45" references="/0/HtmlReport/@body.1/@body.7">

-      <details key="start" value="2335"/>

-      <details key="end" value="2351"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.46" references="/0/HtmlReport/@body.1/@body.7/b">

-      <details key="start" value="2335"/>

-      <details key="end" value="2336"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.47" references="/0/HtmlReport/@body.1/@body.8">

-      <details key="start" value="2353"/>

-      <details key="end" value="2421"/>

-      <details key="line" value="72"/>

-    </eAnnotations>

-    <eAnnotations source="positions.48" references="/0/HtmlReport/@body.1/@body.9">

-      <details key="start" value="2422"/>

-      <details key="end" value="2437"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.49" references="/0/HtmlReport/@body.1/@body.9/b">

-      <details key="start" value="2422"/>

-      <details key="end" value="2423"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.50" references="/0/HtmlReport/@body.1/@body.10">

-      <details key="start" value="2439"/>

-      <details key="end" value="2514"/>

-      <details key="line" value="77"/>

-    </eAnnotations>

-    <eAnnotations source="positions.51" references="/0/HtmlReport/@body.1/@body.11">

-      <details key="start" value="2515"/>

-      <details key="end" value="2537"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.52" references="/0/HtmlReport/@body.1/@body.11/b">

-      <details key="start" value="2515"/>

-      <details key="end" value="2516"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.53" references="/0/HtmlReport/@body.1/@body.12">

-      <details key="start" value="2539"/>

-      <details key="end" value="2613"/>

-      <details key="line" value="82"/>

-    </eAnnotations>

-    <eAnnotations source="positions.54" references="/0/HtmlReport/@body.1/@body.13">

-      <details key="start" value="2614"/>

-      <details key="end" value="2634"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.55" references="/0/HtmlReport/@body.1/@body.13/b">

-      <details key="start" value="2614"/>

-      <details key="end" value="2615"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.56" references="/0/HtmlReport/@body.1/@body.14">

-      <details key="start" value="2636"/>

-      <details key="end" value="2703"/>

-      <details key="line" value="87"/>

-    </eAnnotations>

-    <eAnnotations source="positions.57" references="/0/HtmlReport/@body.1/@body.15">

-      <details key="start" value="2704"/>

-      <details key="end" value="2718"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.58" references="/0/HtmlReport/@body.1/@body.15/b">

-      <details key="start" value="2704"/>

-      <details key="end" value="2705"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.59" references="/0/HtmlReport/@body.1/@body.16">

-      <details key="start" value="2720"/>

-      <details key="end" value="2843"/>

-      <details key="line" value="92"/>

-    </eAnnotations>

-    <eAnnotations source="positions.60" references="/0/HtmlReport/@body.1/@body.17">

-      <details key="start" value="2843"/>

-      <details key="end" value="3009"/>

-      <details key="line" value="102"/>

-    </eAnnotations>

-    <eAnnotations source="positions.61" references="/0/HtmlReport/@body.1/@body.17/@body.0">

-      <details key="start" value="2917"/>

-      <details key="end" value="3004"/>

-      <details key="line" value="103"/>

-    </eAnnotations>

-    <eAnnotations source="positions.62" references="/0/HtmlReport/@body.1/@body.17/@ifExpr">

-      <details key="start" value="2847"/>

-      <details key="end" value="2915"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.63" references="/0/HtmlReport/@body.1/@body.17/@ifExpr/@source">

-      <details key="start" value="2848"/>

-      <details key="end" value="2911"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.64" references="/0/HtmlReport/@body.1/@body.17/@ifExpr/@source/@source">

-      <details key="start" value="2848"/>

-      <details key="end" value="2890"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.65" references="/0/HtmlReport/@body.1/@body.17/@ifExpr/@source/@source/@source">

-      <details key="start" value="2848"/>

-      <details key="end" value="2881"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.66" references="/0/HtmlReport/@body.1/@body.17/@ifExpr/@source/@source/@source/@source">

-      <details key="start" value="2848"/>

-      <details key="end" value="2870"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.67" references="/0/HtmlReport/@body.1/@body.17/@ifExpr/@source/@source/@source/@source/@source">

-      <details key="start" value="2848"/>

-      <details key="end" value="2861"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.68" references="/0/HtmlReport/@body.1/@body.17/@ifExpr/@source/@source/@source/@source/@source/b">

-      <details key="start" value="2848"/>

-      <details key="end" value="2849"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.69" references="/0/HtmlReport/@body.1/@body.17/@ifExpr/@argument.0">

-      <details key="start" value="2913"/>

-      <details key="end" value="2914"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.70" references="/0/HtmlReport/@body.1/@body.18">

-      <details key="start" value="3010"/>

-      <details key="end" value="3427"/>

-      <details key="line" value="108"/>

-    </eAnnotations>

-    <eAnnotations source="positions.71" references="/0/HtmlReport/@body.1/@body.19">

-      <details key="start" value="3432"/>

-      <details key="end" value="4523"/>

-      <details key="line" value="125"/>

-    </eAnnotations>

-    <eAnnotations source="positions.72" references="/0/HtmlReport/@body.1/@body.19/@body.0">

-      <details key="start" value="3479"/>

-      <details key="end" value="3526"/>

-      <details key="line" value="126"/>

-    </eAnnotations>

-    <eAnnotations source="positions.73" references="/0/HtmlReport/@body.1/@body.19/@body.1">

-      <details key="start" value="3527"/>

-      <details key="end" value="3549"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.74" references="/0/HtmlReport/@body.1/@body.19/@body.1/@source">

-      <details key="start" value="3527"/>

-      <details key="end" value="3544"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.75" references="/0/HtmlReport/@body.1/@body.19/@body.1/@source/discovery">

-      <details key="start" value="3527"/>

-      <details key="end" value="3536"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.76" references="/0/HtmlReport/@body.1/@body.19/@body.2">

-      <details key="start" value="3551"/>

-      <details key="end" value="3558"/>

-      <details key="line" value="127"/>

-    </eAnnotations>

-    <eAnnotations source="positions.77" references="/0/HtmlReport/@body.1/@body.19/@body.3">

-      <details key="start" value="3559"/>

-      <details key="end" value="3581"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.78" references="/0/HtmlReport/@body.1/@body.19/@body.3/@source">

-      <details key="start" value="3559"/>

-      <details key="end" value="3576"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.79" references="/0/HtmlReport/@body.1/@body.19/@body.3/@source/discovery">

-      <details key="start" value="3559"/>

-      <details key="end" value="3568"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.80" references="/0/HtmlReport/@body.1/@body.19/@body.4">

-      <details key="start" value="3583"/>

-      <details key="end" value="3616"/>

-      <details key="line" value="127"/>

-    </eAnnotations>

-    <eAnnotations source="positions.81" references="/0/HtmlReport/@body.1/@body.19/@body.5">

-      <details key="start" value="3617"/>

-      <details key="end" value="3662"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.82" references="/0/HtmlReport/@body.1/@body.19/@body.5/@source">

-      <details key="start" value="3617"/>

-      <details key="end" value="3639"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.83" references="/0/HtmlReport/@body.1/@body.19/@body.5/@source/discovery">

-      <details key="start" value="3617"/>

-      <details key="end" value="3626"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.84" references="/0/HtmlReport/@body.1/@body.19/@body.5/@argument.0">

-      <details key="start" value="3640"/>

-      <details key="end" value="3662"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.85" references="/0/HtmlReport/@body.1/@body.19/@body.5/@argument.0/@source">

-      <details key="start" value="3640"/>

-      <details key="end" value="3657"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.86" references="/0/HtmlReport/@body.1/@body.19/@body.5/@argument.0/@source/discovery">

-      <details key="start" value="3640"/>

-      <details key="end" value="3649"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.87" references="/0/HtmlReport/@body.1/@body.19/@body.6">

-      <details key="start" value="3664"/>

-      <details key="end" value="3671"/>

-      <details key="line" value="128"/>

-    </eAnnotations>

-    <eAnnotations source="positions.88" references="/0/HtmlReport/@body.1/@body.19/@body.7">

-      <details key="start" value="3672"/>

-      <details key="end" value="3694"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.89" references="/0/HtmlReport/@body.1/@body.19/@body.7/discovery">

-      <details key="start" value="3672"/>

-      <details key="end" value="3681"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.90" references="/0/HtmlReport/@body.1/@body.19/@body.8">

-      <details key="start" value="3696"/>

-      <details key="end" value="3722"/>

-      <details key="line" value="128"/>

-    </eAnnotations>

-    <eAnnotations source="positions.91" references="/0/HtmlReport/@body.1/@body.19/@body.9">

-      <details key="start" value="3723"/>

-      <details key="end" value="3782"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.92" references="/0/HtmlReport/@body.1/@body.19/@body.9/@argument.0">

-      <details key="start" value="3736"/>

-      <details key="end" value="3781"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.93" references="/0/HtmlReport/@body.1/@body.19/@body.9/@argument.0/@source">

-      <details key="start" value="3736"/>

-      <details key="end" value="3739"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.94" references="/0/HtmlReport/@body.1/@body.19/@body.9/@argument.0/@argument.0">

-      <details key="start" value="3742"/>

-      <details key="end" value="3781"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.95" references="/0/HtmlReport/@body.1/@body.19/@body.9/@argument.0/@argument.0/discovery">

-      <details key="start" value="3742"/>

-      <details key="end" value="3751"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.96" references="/0/HtmlReport/@body.1/@body.19/@body.10">

-      <details key="start" value="3784"/>

-      <details key="end" value="3796"/>

-      <details key="line" value="129"/>

-    </eAnnotations>

-    <eAnnotations source="positions.97" references="/0/HtmlReport/@body.1/@body.19/@body.11">

-      <details key="start" value="3797"/>

-      <details key="end" value="3857"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.98" references="/0/HtmlReport/@body.1/@body.19/@body.11/@argument.0">

-      <details key="start" value="3810"/>

-      <details key="end" value="3856"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.99" references="/0/HtmlReport/@body.1/@body.19/@body.11/@argument.0/@source">

-      <details key="start" value="3810"/>

-      <details key="end" value="3813"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.100" references="/0/HtmlReport/@body.1/@body.19/@body.11/@argument.0/@argument.0">

-      <details key="start" value="3816"/>

-      <details key="end" value="3856"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.101" references="/0/HtmlReport/@body.1/@body.19/@body.11/@argument.0/@argument.0/discovery">

-      <details key="start" value="3816"/>

-      <details key="end" value="3825"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.102" references="/0/HtmlReport/@body.1/@body.19/@body.12">

-      <details key="start" value="3859"/>

-      <details key="end" value="3883"/>

-      <details key="line" value="129"/>

-    </eAnnotations>

-    <eAnnotations source="positions.103" references="/0/HtmlReport/@body.1/@body.19/@body.13">

-      <details key="start" value="3884"/>

-      <details key="end" value="3938"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.104" references="/0/HtmlReport/@body.1/@body.19/@body.13/@argument.0">

-      <details key="start" value="3897"/>

-      <details key="end" value="3937"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.105" references="/0/HtmlReport/@body.1/@body.19/@body.13/@argument.0/@source">

-      <details key="start" value="3897"/>

-      <details key="end" value="3900"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.106" references="/0/HtmlReport/@body.1/@body.19/@body.13/@argument.0/@argument.0">

-      <details key="start" value="3903"/>

-      <details key="end" value="3937"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.107" references="/0/HtmlReport/@body.1/@body.19/@body.13/@argument.0/@argument.0/discovery">

-      <details key="start" value="3903"/>

-      <details key="end" value="3912"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.108" references="/0/HtmlReport/@body.1/@body.19/@body.14">

-      <details key="start" value="3940"/>

-      <details key="end" value="3952"/>

-      <details key="line" value="130"/>

-    </eAnnotations>

-    <eAnnotations source="positions.109" references="/0/HtmlReport/@body.1/@body.19/@body.15">

-      <details key="start" value="3953"/>

-      <details key="end" value="4008"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.110" references="/0/HtmlReport/@body.1/@body.19/@body.15/@argument.0">

-      <details key="start" value="3966"/>

-      <details key="end" value="4007"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.111" references="/0/HtmlReport/@body.1/@body.19/@body.15/@argument.0/@source">

-      <details key="start" value="3966"/>

-      <details key="end" value="3969"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.112" references="/0/HtmlReport/@body.1/@body.19/@body.15/@argument.0/@argument.0">

-      <details key="start" value="3972"/>

-      <details key="end" value="4007"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.113" references="/0/HtmlReport/@body.1/@body.19/@body.15/@argument.0/@argument.0/discovery">

-      <details key="start" value="3972"/>

-      <details key="end" value="3981"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.114" references="/0/HtmlReport/@body.1/@body.19/@body.16">

-      <details key="start" value="4010"/>

-      <details key="end" value="4034"/>

-      <details key="line" value="130"/>

-    </eAnnotations>

-    <eAnnotations source="positions.115" references="/0/HtmlReport/@body.1/@body.19/@body.17">

-      <details key="start" value="4035"/>

-      <details key="end" value="4066"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.116" references="/0/HtmlReport/@body.1/@body.19/@body.17/discovery">

-      <details key="start" value="4035"/>

-      <details key="end" value="4044"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.117" references="/0/HtmlReport/@body.1/@body.19/@body.18">

-      <details key="start" value="4068"/>

-      <details key="end" value="4090"/>

-      <details key="line" value="131"/>

-    </eAnnotations>

-    <eAnnotations source="positions.118" references="/0/HtmlReport/@body.1/@body.19/@body.19">

-      <details key="start" value="4091"/>

-      <details key="end" value="4164"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.119" references="/0/HtmlReport/@body.1/@body.19/@body.19/@argument.0">

-      <details key="start" value="4104"/>

-      <details key="end" value="4163"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.120" references="/0/HtmlReport/@body.1/@body.19/@body.19/@argument.0/@source">

-      <details key="start" value="4104"/>

-      <details key="end" value="4107"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.121" references="/0/HtmlReport/@body.1/@body.19/@body.19/@argument.0/@argument.0">

-      <details key="start" value="4110"/>

-      <details key="end" value="4163"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.122" references="/0/HtmlReport/@body.1/@body.19/@body.19/@argument.0/@argument.0/@source">

-      <details key="start" value="4110"/>

-      <details key="end" value="4146"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.123" references="/0/HtmlReport/@body.1/@body.19/@body.19/@argument.0/@argument.0/@source/@source">

-      <details key="start" value="4110"/>

-      <details key="end" value="4127"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.124" references="/0/HtmlReport/@body.1/@body.19/@body.19/@argument.0/@argument.0/@source/@source/discovery">

-      <details key="start" value="4110"/>

-      <details key="end" value="4119"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.125" references="/0/HtmlReport/@body.1/@body.19/@body.19/@argument.0/@argument.0/@source/@argument.0">

-      <details key="start" value="4138"/>

-      <details key="end" value="4145"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.126" references="/0/HtmlReport/@body.1/@body.19/@body.20">

-      <details key="start" value="4166"/>

-      <details key="end" value="4188"/>

-      <details key="line" value="132"/>

-    </eAnnotations>

-    <eAnnotations source="positions.127" references="/0/HtmlReport/@body.1/@body.19/@body.21">

-      <details key="start" value="4189"/>

-      <details key="end" value="4268"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.128" references="/0/HtmlReport/@body.1/@body.19/@body.21/@argument.0">

-      <details key="start" value="4202"/>

-      <details key="end" value="4267"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.129" references="/0/HtmlReport/@body.1/@body.19/@body.21/@argument.0/@source">

-      <details key="start" value="4202"/>

-      <details key="end" value="4205"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.130" references="/0/HtmlReport/@body.1/@body.19/@body.21/@argument.0/@argument.0">

-      <details key="start" value="4208"/>

-      <details key="end" value="4267"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.131" references="/0/HtmlReport/@body.1/@body.19/@body.21/@argument.0/@argument.0/@source">

-      <details key="start" value="4208"/>

-      <details key="end" value="4244"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.132" references="/0/HtmlReport/@body.1/@body.19/@body.21/@argument.0/@argument.0/@source/@source">

-      <details key="start" value="4208"/>

-      <details key="end" value="4225"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.133" references="/0/HtmlReport/@body.1/@body.19/@body.21/@argument.0/@argument.0/@source/@source/discovery">

-      <details key="start" value="4208"/>

-      <details key="end" value="4217"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.134" references="/0/HtmlReport/@body.1/@body.19/@body.21/@argument.0/@argument.0/@source/@argument.0">

-      <details key="start" value="4236"/>

-      <details key="end" value="4243"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.135" references="/0/HtmlReport/@body.1/@body.19/@body.22">

-      <details key="start" value="4270"/>

-      <details key="end" value="4292"/>

-      <details key="line" value="133"/>

-    </eAnnotations>

-    <eAnnotations source="positions.136" references="/0/HtmlReport/@body.1/@body.19/@body.23">

-      <details key="start" value="4293"/>

-      <details key="end" value="4340"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.137" references="/0/HtmlReport/@body.1/@body.19/@body.23/@source">

-      <details key="start" value="4293"/>

-      <details key="end" value="4329"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.138" references="/0/HtmlReport/@body.1/@body.19/@body.23/@source/@source">

-      <details key="start" value="4293"/>

-      <details key="end" value="4310"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.139" references="/0/HtmlReport/@body.1/@body.19/@body.23/@source/@source/discovery">

-      <details key="start" value="4293"/>

-      <details key="end" value="4302"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.140" references="/0/HtmlReport/@body.1/@body.19/@body.23/@source/@argument.0">

-      <details key="start" value="4321"/>

-      <details key="end" value="4328"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.141" references="/0/HtmlReport/@body.1/@body.19/@body.24">

-      <details key="start" value="4342"/>

-      <details key="end" value="4364"/>

-      <details key="line" value="134"/>

-    </eAnnotations>

-    <eAnnotations source="positions.142" references="/0/HtmlReport/@body.1/@body.19/@body.25">

-      <details key="start" value="4365"/>

-      <details key="end" value="4421"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.143" references="/0/HtmlReport/@body.1/@body.19/@body.25/@source">

-      <details key="start" value="4365"/>

-      <details key="end" value="4401"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.144" references="/0/HtmlReport/@body.1/@body.19/@body.25/@source/@source">

-      <details key="start" value="4365"/>

-      <details key="end" value="4382"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.145" references="/0/HtmlReport/@body.1/@body.19/@body.25/@source/@source/discovery">

-      <details key="start" value="4365"/>

-      <details key="end" value="4374"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.146" references="/0/HtmlReport/@body.1/@body.19/@body.25/@source/@argument.0">

-      <details key="start" value="4393"/>

-      <details key="end" value="4400"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.147" references="/0/HtmlReport/@body.1/@body.19/@body.26">

-      <details key="start" value="4423"/>

-      <details key="end" value="4445"/>

-      <details key="line" value="135"/>

-    </eAnnotations>

-    <eAnnotations source="positions.148" references="/0/HtmlReport/@body.1/@body.19/@body.27">

-      <details key="start" value="4446"/>

-      <details key="end" value="4489"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.149" references="/0/HtmlReport/@body.1/@body.19/@body.27/@argument.0">

-      <details key="start" value="4459"/>

-      <details key="end" value="4488"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.150" references="/0/HtmlReport/@body.1/@body.19/@body.27/@argument.0/@source">

-      <details key="start" value="4459"/>

-      <details key="end" value="4462"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.151" references="/0/HtmlReport/@body.1/@body.19/@body.27/@argument.0/@argument.0">

-      <details key="start" value="4464"/>

-      <details key="end" value="4488"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.152" references="/0/HtmlReport/@body.1/@body.19/@body.27/@argument.0/@argument.0/discovery">

-      <details key="start" value="4464"/>

-      <details key="end" value="4473"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.153" references="/0/HtmlReport/@body.1/@body.19/@body.28">

-      <details key="start" value="4491"/>

-      <details key="end" value="4512"/>

-      <details key="line" value="136"/>

-    </eAnnotations>

-    <eAnnotations source="positions.154" references="/0/HtmlReport/@body.1/@body.19/discovery">

-      <details key="start" value="3438"/>

-      <details key="end" value="3459"/>

-      <details key="line" value="125"/>

-    </eAnnotations>

-    <eAnnotations source="positions.155" references="/0/HtmlReport/@body.1/@body.19/@iterSet">

-      <details key="start" value="3462"/>

-      <details key="end" value="3475"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.156" references="/0/HtmlReport/@body.1/@body.19/@iterSet/b">

-      <details key="start" value="3462"/>

-      <details key="end" value="3463"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.157" references="/0/HtmlReport/@body.1/@body.20">

-      <details key="start" value="4524"/>

-      <details key="end" value="4536"/>

-      <details key="line" value="139"/>

-    </eAnnotations>

-    <eAnnotations source="positions.158" references="/0/HtmlReport/@body.1/@body.21">

-      <details key="start" value="4536"/>

-      <details key="end" value="6197"/>

-      <details key="line" value="141"/>

-    </eAnnotations>

-    <eAnnotations source="positions.159" references="/0/HtmlReport/@body.1/@body.21/@body.0">

-      <details key="start" value="4589"/>

-      <details key="end" value="4629"/>

-      <details key="line" value="142"/>

-    </eAnnotations>

-    <eAnnotations source="positions.160" references="/0/HtmlReport/@body.1/@body.21/@body.1">

-      <details key="start" value="4629"/>

-      <details key="end" value="5404"/>

-      <details key="line" value="144"/>

-    </eAnnotations>

-    <eAnnotations source="positions.161" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.0">

-      <details key="start" value="4676"/>

-      <details key="end" value="4680"/>

-      <details key="line" value="145"/>

-    </eAnnotations>

-    <eAnnotations source="positions.162" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.1">

-      <details key="start" value="4681"/>

-      <details key="end" value="4703"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.163" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.1/@source">

-      <details key="start" value="4681"/>

-      <details key="end" value="4698"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.164" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.1/@source/discovery">

-      <details key="start" value="4681"/>

-      <details key="end" value="4690"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.165" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.2">

-      <details key="start" value="4705"/>

-      <details key="end" value="4727"/>

-      <details key="line" value="145"/>

-    </eAnnotations>

-    <eAnnotations source="positions.166" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.3">

-      <details key="start" value="4728"/>

-      <details key="end" value="4773"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.167" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.3/@source">

-      <details key="start" value="4728"/>

-      <details key="end" value="4750"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.168" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.3/@source/discovery">

-      <details key="start" value="4728"/>

-      <details key="end" value="4737"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.169" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.3/@argument.0">

-      <details key="start" value="4751"/>

-      <details key="end" value="4773"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.170" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.3/@argument.0/@source">

-      <details key="start" value="4751"/>

-      <details key="end" value="4768"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.171" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.3/@argument.0/@source/discovery">

-      <details key="start" value="4751"/>

-      <details key="end" value="4760"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.172" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.4">

-      <details key="start" value="4775"/>

-      <details key="end" value="4782"/>

-      <details key="line" value="145"/>

-    </eAnnotations>

-    <eAnnotations source="positions.173" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.5">

-      <details key="start" value="4783"/>

-      <details key="end" value="4805"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.174" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.5/discovery">

-      <details key="start" value="4783"/>

-      <details key="end" value="4792"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.175" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.6">

-      <details key="start" value="4807"/>

-      <details key="end" value="4817"/>

-      <details key="line" value="145"/>

-    </eAnnotations>

-    <eAnnotations source="positions.176" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7">

-      <details key="start" value="4817"/>

-      <details key="end" value="5397"/>

-      <details key="line" value="146"/>

-    </eAnnotations>

-    <eAnnotations source="positions.177" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.0">

-      <details key="start" value="4888"/>

-      <details key="end" value="5039"/>

-      <details key="line" value="147"/>

-    </eAnnotations>

-    <eAnnotations source="positions.178" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1">

-      <details key="start" value="5039"/>

-      <details key="end" value="5380"/>

-      <details key="line" value="153"/>

-    </eAnnotations>

-    <eAnnotations source="positions.179" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.0">

-      <details key="start" value="5110"/>

-      <details key="end" value="5129"/>

-      <details key="line" value="154"/>

-    </eAnnotations>

-    <eAnnotations source="positions.180" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/i">

-      <details key="start" value="5130"/>

-      <details key="end" value="5131"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.181" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.2">

-      <details key="start" value="5133"/>

-      <details key="end" value="5134"/>

-      <details key="line" value="155"/>

-    </eAnnotations>

-    <eAnnotations source="positions.182" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.3">

-      <details key="start" value="5135"/>

-      <details key="end" value="5163"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.183" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.3/@source">

-      <details key="start" value="5135"/>

-      <details key="end" value="5155"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.184" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.3/@source/discovery">

-      <details key="start" value="5135"/>

-      <details key="end" value="5144"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.185" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.4">

-      <details key="start" value="5165"/>

-      <details key="end" value="5205"/>

-      <details key="line" value="155"/>

-    </eAnnotations>

-    <eAnnotations source="positions.186" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.5">

-      <details key="start" value="5206"/>

-      <details key="end" value="5274"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.187" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.5/@source">

-      <details key="start" value="5206"/>

-      <details key="end" value="5266"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.188" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.5/@source/@source">

-      <details key="start" value="5206"/>

-      <details key="end" value="5247"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.189" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.5/@source/@source/discoveryIteration">

-      <details key="start" value="5206"/>

-      <details key="end" value="5224"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.190" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.5/@source/maxExecutionTime">

-      <details key="start" value="5250"/>

-      <details key="end" value="5266"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.191" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.5/@argument.0">

-      <details key="start" value="5269"/>

-      <details key="end" value="5274"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.192" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.6">

-      <details key="start" value="5276"/>

-      <details key="end" value="5294"/>

-      <details key="line" value="155"/>

-    </eAnnotations>

-    <eAnnotations source="positions.193" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.7">

-      <details key="start" value="5295"/>

-      <details key="end" value="5356"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.194" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.7/@argument.0">

-      <details key="start" value="5308"/>

-      <details key="end" value="5355"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.195" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.7/@argument.0/@source">

-      <details key="start" value="5308"/>

-      <details key="end" value="5311"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.196" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.7/@argument.0/@argument.0">

-      <details key="start" value="5314"/>

-      <details key="end" value="5355"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.197" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.7/@argument.0/@argument.0/discoveryIteration">

-      <details key="start" value="5314"/>

-      <details key="end" value="5332"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.198" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@body.8">

-      <details key="start" value="5358"/>

-      <details key="end" value="5374"/>

-      <details key="line" value="155"/>

-    </eAnnotations>

-    <eAnnotations source="positions.199" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/discoveryIteration">

-      <details key="start" value="5045"/>

-      <details key="end" value="5084"/>

-      <details key="line" value="153"/>

-    </eAnnotations>

-    <eAnnotations source="positions.200" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@iterSet">

-      <details key="start" value="5087"/>

-      <details key="end" value="5107"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.201" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.1/@iterSet/discovery">

-      <details key="start" value="5087"/>

-      <details key="end" value="5096"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.202" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/@body.2">

-      <details key="start" value="5381"/>

-      <details key="end" value="5391"/>

-      <details key="line" value="158"/>

-    </eAnnotations>

-    <eAnnotations source="positions.203" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/maxExecutionTime">

-      <details key="start" value="4822"/>

-      <details key="end" value="4886"/>

-      <details key="line" value="146"/>

-    </eAnnotations>

-    <eAnnotations source="positions.204" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/maxExecutionTime/@initExpression">

-      <details key="start" value="4849"/>

-      <details key="end" value="4887"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.205" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/maxExecutionTime/@initExpression/@argument.0">

-      <details key="start" value="4866"/>

-      <details key="end" value="4886"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.206" references="/0/HtmlReport/@body.1/@body.21/@body.1/@body.7/maxExecutionTime/@initExpression/@argument.0/discovery">

-      <details key="start" value="4866"/>

-      <details key="end" value="4875"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.207" references="/0/HtmlReport/@body.1/@body.21/@body.1/discovery">

-      <details key="start" value="4635"/>

-      <details key="end" value="4656"/>

-      <details key="line" value="144"/>

-    </eAnnotations>

-    <eAnnotations source="positions.208" references="/0/HtmlReport/@body.1/@body.21/@body.1/@iterSet">

-      <details key="start" value="4659"/>

-      <details key="end" value="4672"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.209" references="/0/HtmlReport/@body.1/@body.21/@body.1/@iterSet/b">

-      <details key="start" value="4659"/>

-      <details key="end" value="4660"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.210" references="/0/HtmlReport/@body.1/@body.21/@body.2">

-      <details key="start" value="5405"/>

-      <details key="end" value="5441"/>

-      <details key="line" value="162"/>

-    </eAnnotations>

-    <eAnnotations source="positions.211" references="/0/HtmlReport/@body.1/@body.21/@body.3">

-      <details key="start" value="5441"/>

-      <details key="end" value="6189"/>

-      <details key="line" value="165"/>

-    </eAnnotations>

-    <eAnnotations source="positions.212" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.0">

-      <details key="start" value="5488"/>

-      <details key="end" value="5492"/>

-      <details key="line" value="166"/>

-    </eAnnotations>

-    <eAnnotations source="positions.213" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.1">

-      <details key="start" value="5493"/>

-      <details key="end" value="5515"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.214" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.1/@source">

-      <details key="start" value="5493"/>

-      <details key="end" value="5510"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.215" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.1/@source/discovery">

-      <details key="start" value="5493"/>

-      <details key="end" value="5502"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.216" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.2">

-      <details key="start" value="5517"/>

-      <details key="end" value="5539"/>

-      <details key="line" value="166"/>

-    </eAnnotations>

-    <eAnnotations source="positions.217" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.3">

-      <details key="start" value="5540"/>

-      <details key="end" value="5585"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.218" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.3/@source">

-      <details key="start" value="5540"/>

-      <details key="end" value="5562"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.219" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.3/@source/discovery">

-      <details key="start" value="5540"/>

-      <details key="end" value="5549"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.220" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.3/@argument.0">

-      <details key="start" value="5563"/>

-      <details key="end" value="5585"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.221" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.3/@argument.0/@source">

-      <details key="start" value="5563"/>

-      <details key="end" value="5580"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.222" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.3/@argument.0/@source/discovery">

-      <details key="start" value="5563"/>

-      <details key="end" value="5572"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.223" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.4">

-      <details key="start" value="5587"/>

-      <details key="end" value="5594"/>

-      <details key="line" value="166"/>

-    </eAnnotations>

-    <eAnnotations source="positions.224" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.5">

-      <details key="start" value="5595"/>

-      <details key="end" value="5617"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.225" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.5/discovery">

-      <details key="start" value="5595"/>

-      <details key="end" value="5604"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.226" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.6">

-      <details key="start" value="5619"/>

-      <details key="end" value="5629"/>

-      <details key="line" value="166"/>

-    </eAnnotations>

-    <eAnnotations source="positions.227" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7">

-      <details key="start" value="5629"/>

-      <details key="end" value="6182"/>

-      <details key="line" value="167"/>

-    </eAnnotations>

-    <eAnnotations source="positions.228" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.0">

-      <details key="start" value="5690"/>

-      <details key="end" value="5839"/>

-      <details key="line" value="168"/>

-    </eAnnotations>

-    <eAnnotations source="positions.229" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1">

-      <details key="start" value="5839"/>

-      <details key="end" value="6165"/>

-      <details key="line" value="174"/>

-    </eAnnotations>

-    <eAnnotations source="positions.230" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.0">

-      <details key="start" value="5910"/>

-      <details key="end" value="5929"/>

-      <details key="line" value="175"/>

-    </eAnnotations>

-    <eAnnotations source="positions.231" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/i">

-      <details key="start" value="5930"/>

-      <details key="end" value="5931"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.232" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.2">

-      <details key="start" value="5933"/>

-      <details key="end" value="5934"/>

-      <details key="line" value="176"/>

-    </eAnnotations>

-    <eAnnotations source="positions.233" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.3">

-      <details key="start" value="5935"/>

-      <details key="end" value="5963"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.234" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.3/@source">

-      <details key="start" value="5935"/>

-      <details key="end" value="5955"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.235" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.3/@source/discovery">

-      <details key="start" value="5935"/>

-      <details key="end" value="5944"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.236" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.4">

-      <details key="start" value="5965"/>

-      <details key="end" value="6005"/>

-      <details key="line" value="176"/>

-    </eAnnotations>

-    <eAnnotations source="positions.237" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.5">

-      <details key="start" value="6006"/>

-      <details key="end" value="6064"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.238" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.5/@source">

-      <details key="start" value="6006"/>

-      <details key="end" value="6056"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.239" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.5/@source/@source">

-      <details key="start" value="6006"/>

-      <details key="end" value="6042"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.240" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.5/@source/@source/discoveryIteration">

-      <details key="start" value="6006"/>

-      <details key="end" value="6024"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.241" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.5/@source/maxSaveTime">

-      <details key="start" value="6045"/>

-      <details key="end" value="6056"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.242" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.5/@argument.0">

-      <details key="start" value="6059"/>

-      <details key="end" value="6064"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.243" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.6">

-      <details key="start" value="6066"/>

-      <details key="end" value="6084"/>

-      <details key="line" value="176"/>

-    </eAnnotations>

-    <eAnnotations source="positions.244" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.7">

-      <details key="start" value="6085"/>

-      <details key="end" value="6141"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.245" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.7/@argument.0">

-      <details key="start" value="6098"/>

-      <details key="end" value="6140"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.246" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.7/@argument.0/@source">

-      <details key="start" value="6098"/>

-      <details key="end" value="6101"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.247" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.7/@argument.0/@argument.0">

-      <details key="start" value="6104"/>

-      <details key="end" value="6140"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.248" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.7/@argument.0/@argument.0/discoveryIteration">

-      <details key="start" value="6104"/>

-      <details key="end" value="6122"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.249" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@body.8">

-      <details key="start" value="6143"/>

-      <details key="end" value="6159"/>

-      <details key="line" value="176"/>

-    </eAnnotations>

-    <eAnnotations source="positions.250" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/discoveryIteration">

-      <details key="start" value="5845"/>

-      <details key="end" value="5884"/>

-      <details key="line" value="174"/>

-    </eAnnotations>

-    <eAnnotations source="positions.251" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@iterSet">

-      <details key="start" value="5887"/>

-      <details key="end" value="5907"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.252" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.1/@iterSet/discovery">

-      <details key="start" value="5887"/>

-      <details key="end" value="5896"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.253" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/@body.2">

-      <details key="start" value="6166"/>

-      <details key="end" value="6176"/>

-      <details key="line" value="179"/>

-    </eAnnotations>

-    <eAnnotations source="positions.254" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/maxSaveTime">

-      <details key="start" value="5634"/>

-      <details key="end" value="5688"/>

-      <details key="line" value="167"/>

-    </eAnnotations>

-    <eAnnotations source="positions.255" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/maxSaveTime/@initExpression">

-      <details key="start" value="5656"/>

-      <details key="end" value="5689"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.256" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/maxSaveTime/@initExpression/@argument.0">

-      <details key="start" value="5668"/>

-      <details key="end" value="5688"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.257" references="/0/HtmlReport/@body.1/@body.21/@body.3/@body.7/maxSaveTime/@initExpression/@argument.0/discovery">

-      <details key="start" value="5668"/>

-      <details key="end" value="5677"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.258" references="/0/HtmlReport/@body.1/@body.21/@body.3/discovery">

-      <details key="start" value="5447"/>

-      <details key="end" value="5468"/>

-      <details key="line" value="165"/>

-    </eAnnotations>

-    <eAnnotations source="positions.259" references="/0/HtmlReport/@body.1/@body.21/@body.3/@iterSet">

-      <details key="start" value="5471"/>

-      <details key="end" value="5484"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.260" references="/0/HtmlReport/@body.1/@body.21/@body.3/@iterSet/b">

-      <details key="start" value="5471"/>

-      <details key="end" value="5472"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.261" references="/0/HtmlReport/@body.1/@body.21/@body.4">

-      <details key="start" value="6190"/>

-      <details key="end" value="6192"/>

-      <details key="line" value="183"/>

-    </eAnnotations>

-    <eAnnotations source="positions.262" references="/0/HtmlReport/@body.1/@body.21/@ifExpr">

-      <details key="start" value="4540"/>

-      <details key="end" value="4587"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.263" references="/0/HtmlReport/@body.1/@body.21/@ifExpr/@source">

-      <details key="start" value="4541"/>

-      <details key="end" value="4582"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.264" references="/0/HtmlReport/@body.1/@body.21/@ifExpr/@source/@source">

-      <details key="start" value="4541"/>

-      <details key="end" value="4574"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.265" references="/0/HtmlReport/@body.1/@body.21/@ifExpr/@source/@source/@source">

-      <details key="start" value="4541"/>

-      <details key="end" value="4563"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.266" references="/0/HtmlReport/@body.1/@body.21/@ifExpr/@source/@source/@source/@source">

-      <details key="start" value="4541"/>

-      <details key="end" value="4554"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.267" references="/0/HtmlReport/@body.1/@body.21/@ifExpr/@source/@source/@source/@source/b">

-      <details key="start" value="4541"/>

-      <details key="end" value="4542"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.268" references="/0/HtmlReport/@body.1/@body.21/@ifExpr/@argument.0">

-      <details key="start" value="4585"/>

-      <details key="end" value="4586"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.269" references="/0/HtmlReport/@body.1/@body.22">

-      <details key="start" value="6198"/>

-      <details key="end" value="6372"/>

-      <details key="line" value="186"/>

-    </eAnnotations>

-    <eAnnotations source="positions.270" references="/0/HtmlReport/@body.1/@fileUrl">

-      <details key="start" value="1219"/>

-      <details key="end" value="1241"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.271" references="/0/HtmlReport/@body.1/@charset">

-      <details key="start" value="1250"/>

-      <details key="end" value="1257"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.272" references="/0/HtmlReport/@body.2">

-      <details key="start" value="6380"/>

-      <details key="end" value="6383"/>

-      <details key="line" value="192"/>

-    </eAnnotations>

-    <eAnnotations source="positions.273" references="/0/HtmlReport/@body.3">

-      <details key="start" value="6383"/>

-      <details key="end" value="9717"/>

-      <details key="line" value="195"/>

-    </eAnnotations>

-    <eAnnotations source="positions.274" references="/0/HtmlReport/@body.3/@body.0">

-      <details key="start" value="6430"/>

-      <details key="end" value="9710"/>

-      <details key="line" value="196"/>

-    </eAnnotations>

-    <eAnnotations source="positions.275" references="/0/HtmlReport/@body.3/@body.0/@body.0">

-      <details key="start" value="6519"/>

-      <details key="end" value="7132"/>

-      <details key="line" value="197"/>

-    </eAnnotations>

-    <eAnnotations source="positions.276" references="/0/HtmlReport/@body.3/@body.0/@body.1">

-      <details key="start" value="7133"/>

-      <details key="end" value="7147"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.277" references="/0/HtmlReport/@body.3/@body.0/@body.1/discovery">

-      <details key="start" value="7133"/>

-      <details key="end" value="7142"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.278" references="/0/HtmlReport/@body.3/@body.0/@body.2">

-      <details key="start" value="7149"/>

-      <details key="end" value="7179"/>

-      <details key="line" value="230"/>

-    </eAnnotations>

-    <eAnnotations source="positions.279" references="/0/HtmlReport/@body.3/@body.0/@body.3">

-      <details key="start" value="7180"/>

-      <details key="end" value="7194"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.280" references="/0/HtmlReport/@body.3/@body.0/@body.3/discovery">

-      <details key="start" value="7180"/>

-      <details key="end" value="7189"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.281" references="/0/HtmlReport/@body.3/@body.0/@body.4">

-      <details key="start" value="7196"/>

-      <details key="end" value="7254"/>

-      <details key="line" value="235"/>

-    </eAnnotations>

-    <eAnnotations source="positions.282" references="/0/HtmlReport/@body.3/@body.0/@body.5">

-      <details key="start" value="7255"/>

-      <details key="end" value="7269"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.283" references="/0/HtmlReport/@body.3/@body.0/@body.5/discovery">

-      <details key="start" value="7255"/>

-      <details key="end" value="7264"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.284" references="/0/HtmlReport/@body.3/@body.0/@body.6">

-      <details key="start" value="7271"/>

-      <details key="end" value="7296"/>

-      <details key="line" value="237"/>

-    </eAnnotations>

-    <eAnnotations source="positions.285" references="/0/HtmlReport/@body.3/@body.0/@body.7">

-      <details key="start" value="7297"/>

-      <details key="end" value="7319"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.286" references="/0/HtmlReport/@body.3/@body.0/@body.7/discovery">

-      <details key="start" value="7297"/>

-      <details key="end" value="7306"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.287" references="/0/HtmlReport/@body.3/@body.0/@body.8">

-      <details key="start" value="7321"/>

-      <details key="end" value="7323"/>

-      <details key="line" value="238"/>

-    </eAnnotations>

-    <eAnnotations source="positions.288" references="/0/HtmlReport/@body.3/@body.0/@body.9">

-      <details key="start" value="7324"/>

-      <details key="end" value="7353"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.289" references="/0/HtmlReport/@body.3/@body.0/@body.9/discovery">

-      <details key="start" value="7324"/>

-      <details key="end" value="7333"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.290" references="/0/HtmlReport/@body.3/@body.0/@body.10">

-      <details key="start" value="7355"/>

-      <details key="end" value="7404"/>

-      <details key="line" value="238"/>

-    </eAnnotations>

-    <eAnnotations source="positions.291" references="/0/HtmlReport/@body.3/@body.0/@body.11">

-      <details key="start" value="7405"/>

-      <details key="end" value="7464"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.292" references="/0/HtmlReport/@body.3/@body.0/@body.11/@argument.0">

-      <details key="start" value="7418"/>

-      <details key="end" value="7463"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.293" references="/0/HtmlReport/@body.3/@body.0/@body.11/@argument.0/@source">

-      <details key="start" value="7418"/>

-      <details key="end" value="7421"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.294" references="/0/HtmlReport/@body.3/@body.0/@body.11/@argument.0/@argument.0">

-      <details key="start" value="7424"/>

-      <details key="end" value="7463"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.295" references="/0/HtmlReport/@body.3/@body.0/@body.11/@argument.0/@argument.0/discovery">

-      <details key="start" value="7424"/>

-      <details key="end" value="7433"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.296" references="/0/HtmlReport/@body.3/@body.0/@body.12">

-      <details key="start" value="7466"/>

-      <details key="end" value="7509"/>

-      <details key="line" value="239"/>

-    </eAnnotations>

-    <eAnnotations source="positions.297" references="/0/HtmlReport/@body.3/@body.0/@body.13">

-      <details key="start" value="7510"/>

-      <details key="end" value="7564"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.298" references="/0/HtmlReport/@body.3/@body.0/@body.13/@argument.0">

-      <details key="start" value="7523"/>

-      <details key="end" value="7563"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.299" references="/0/HtmlReport/@body.3/@body.0/@body.13/@argument.0/@source">

-      <details key="start" value="7523"/>

-      <details key="end" value="7526"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.300" references="/0/HtmlReport/@body.3/@body.0/@body.13/@argument.0/@argument.0">

-      <details key="start" value="7529"/>

-      <details key="end" value="7563"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.301" references="/0/HtmlReport/@body.3/@body.0/@body.13/@argument.0/@argument.0/discovery">

-      <details key="start" value="7529"/>

-      <details key="end" value="7538"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.302" references="/0/HtmlReport/@body.3/@body.0/@body.14">

-      <details key="start" value="7566"/>

-      <details key="end" value="7614"/>

-      <details key="line" value="240"/>

-    </eAnnotations>

-    <eAnnotations source="positions.303" references="/0/HtmlReport/@body.3/@body.0/@body.15">

-      <details key="start" value="7615"/>

-      <details key="end" value="7675"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.304" references="/0/HtmlReport/@body.3/@body.0/@body.15/@argument.0">

-      <details key="start" value="7628"/>

-      <details key="end" value="7674"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.305" references="/0/HtmlReport/@body.3/@body.0/@body.15/@argument.0/@source">

-      <details key="start" value="7628"/>

-      <details key="end" value="7631"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.306" references="/0/HtmlReport/@body.3/@body.0/@body.15/@argument.0/@argument.0">

-      <details key="start" value="7634"/>

-      <details key="end" value="7674"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.307" references="/0/HtmlReport/@body.3/@body.0/@body.15/@argument.0/@argument.0/discovery">

-      <details key="start" value="7634"/>

-      <details key="end" value="7643"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.308" references="/0/HtmlReport/@body.3/@body.0/@body.16">

-      <details key="start" value="7677"/>

-      <details key="end" value="7720"/>

-      <details key="line" value="241"/>

-    </eAnnotations>

-    <eAnnotations source="positions.309" references="/0/HtmlReport/@body.3/@body.0/@body.17">

-      <details key="start" value="7721"/>

-      <details key="end" value="7776"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.310" references="/0/HtmlReport/@body.3/@body.0/@body.17/@argument.0">

-      <details key="start" value="7734"/>

-      <details key="end" value="7775"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.311" references="/0/HtmlReport/@body.3/@body.0/@body.17/@argument.0/@source">

-      <details key="start" value="7734"/>

-      <details key="end" value="7737"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.312" references="/0/HtmlReport/@body.3/@body.0/@body.17/@argument.0/@argument.0">

-      <details key="start" value="7740"/>

-      <details key="end" value="7775"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.313" references="/0/HtmlReport/@body.3/@body.0/@body.17/@argument.0/@argument.0/discovery">

-      <details key="start" value="7740"/>

-      <details key="end" value="7749"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.314" references="/0/HtmlReport/@body.3/@body.0/@body.18">

-      <details key="start" value="7778"/>

-      <details key="end" value="7817"/>

-      <details key="line" value="242"/>

-    </eAnnotations>

-    <eAnnotations source="positions.315" references="/0/HtmlReport/@body.3/@body.0/@body.19">

-      <details key="start" value="7818"/>

-      <details key="end" value="7849"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.316" references="/0/HtmlReport/@body.3/@body.0/@body.19/discovery">

-      <details key="start" value="7818"/>

-      <details key="end" value="7827"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.317" references="/0/HtmlReport/@body.3/@body.0/@body.20">

-      <details key="start" value="7851"/>

-      <details key="end" value="7895"/>

-      <details key="line" value="243"/>

-    </eAnnotations>

-    <eAnnotations source="positions.318" references="/0/HtmlReport/@body.3/@body.0/@body.21">

-      <details key="start" value="7896"/>

-      <details key="end" value="7940"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.319" references="/0/HtmlReport/@body.3/@body.0/@body.21/@argument.0">

-      <details key="start" value="7909"/>

-      <details key="end" value="7939"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.320" references="/0/HtmlReport/@body.3/@body.0/@body.21/@argument.0/@source">

-      <details key="start" value="7909"/>

-      <details key="end" value="7912"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.321" references="/0/HtmlReport/@body.3/@body.0/@body.21/@argument.0/@argument.0">

-      <details key="start" value="7915"/>

-      <details key="end" value="7939"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.322" references="/0/HtmlReport/@body.3/@body.0/@body.21/@argument.0/@argument.0/discovery">

-      <details key="start" value="7915"/>

-      <details key="end" value="7924"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.323" references="/0/HtmlReport/@body.3/@body.0/@body.22">

-      <details key="start" value="7942"/>

-      <details key="end" value="8008"/>

-      <details key="line" value="244"/>

-    </eAnnotations>

-    <eAnnotations source="positions.324" references="/0/HtmlReport/@body.3/@body.0/@body.23">

-      <details key="start" value="8009"/>

-      <details key="end" value="8031"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.325" references="/0/HtmlReport/@body.3/@body.0/@body.23/@source">

-      <details key="start" value="8009"/>

-      <details key="end" value="8026"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.326" references="/0/HtmlReport/@body.3/@body.0/@body.23/@source/discovery">

-      <details key="start" value="8009"/>

-      <details key="end" value="8018"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.327" references="/0/HtmlReport/@body.3/@body.0/@body.24">

-      <details key="start" value="8033"/>

-      <details key="end" value="8040"/>

-      <details key="line" value="247"/>

-    </eAnnotations>

-    <eAnnotations source="positions.328" references="/0/HtmlReport/@body.3/@body.0/@body.25">

-      <details key="start" value="8041"/>

-      <details key="end" value="8063"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.329" references="/0/HtmlReport/@body.3/@body.0/@body.25/@source">

-      <details key="start" value="8041"/>

-      <details key="end" value="8058"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.330" references="/0/HtmlReport/@body.3/@body.0/@body.25/@source/discovery">

-      <details key="start" value="8041"/>

-      <details key="end" value="8050"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.331" references="/0/HtmlReport/@body.3/@body.0/@body.26">

-      <details key="start" value="8065"/>

-      <details key="end" value="8105"/>

-      <details key="line" value="247"/>

-    </eAnnotations>

-    <eAnnotations source="positions.332" references="/0/HtmlReport/@body.3/@body.0/@body.27">

-      <details key="start" value="8106"/>

-      <details key="end" value="8153"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.333" references="/0/HtmlReport/@body.3/@body.0/@body.27/@source">

-      <details key="start" value="8106"/>

-      <details key="end" value="8142"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.334" references="/0/HtmlReport/@body.3/@body.0/@body.27/@source/@source">

-      <details key="start" value="8106"/>

-      <details key="end" value="8123"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.335" references="/0/HtmlReport/@body.3/@body.0/@body.27/@source/@source/discovery">

-      <details key="start" value="8106"/>

-      <details key="end" value="8115"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.336" references="/0/HtmlReport/@body.3/@body.0/@body.27/@source/@argument.0">

-      <details key="start" value="8134"/>

-      <details key="end" value="8141"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.337" references="/0/HtmlReport/@body.3/@body.0/@body.28">

-      <details key="start" value="8155"/>

-      <details key="end" value="8203"/>

-      <details key="line" value="248"/>

-    </eAnnotations>

-    <eAnnotations source="positions.338" references="/0/HtmlReport/@body.3/@body.0/@body.29">

-      <details key="start" value="8204"/>

-      <details key="end" value="8260"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.339" references="/0/HtmlReport/@body.3/@body.0/@body.29/@source">

-      <details key="start" value="8204"/>

-      <details key="end" value="8240"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.340" references="/0/HtmlReport/@body.3/@body.0/@body.29/@source/@source">

-      <details key="start" value="8204"/>

-      <details key="end" value="8221"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.341" references="/0/HtmlReport/@body.3/@body.0/@body.29/@source/@source/discovery">

-      <details key="start" value="8204"/>

-      <details key="end" value="8213"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.342" references="/0/HtmlReport/@body.3/@body.0/@body.29/@source/@argument.0">

-      <details key="start" value="8232"/>

-      <details key="end" value="8239"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.343" references="/0/HtmlReport/@body.3/@body.0/@body.30">

-      <details key="start" value="8262"/>

-      <details key="end" value="8303"/>

-      <details key="line" value="249"/>

-    </eAnnotations>

-    <eAnnotations source="positions.344" references="/0/HtmlReport/@body.3/@body.0/@body.31">

-      <details key="start" value="8304"/>

-      <details key="end" value="8383"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.345" references="/0/HtmlReport/@body.3/@body.0/@body.31/@argument.0">

-      <details key="start" value="8317"/>

-      <details key="end" value="8382"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.346" references="/0/HtmlReport/@body.3/@body.0/@body.31/@argument.0/@source">

-      <details key="start" value="8317"/>

-      <details key="end" value="8320"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.347" references="/0/HtmlReport/@body.3/@body.0/@body.31/@argument.0/@argument.0">

-      <details key="start" value="8323"/>

-      <details key="end" value="8382"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.348" references="/0/HtmlReport/@body.3/@body.0/@body.31/@argument.0/@argument.0/@source">

-      <details key="start" value="8323"/>

-      <details key="end" value="8359"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.349" references="/0/HtmlReport/@body.3/@body.0/@body.31/@argument.0/@argument.0/@source/@source">

-      <details key="start" value="8323"/>

-      <details key="end" value="8340"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.350" references="/0/HtmlReport/@body.3/@body.0/@body.31/@argument.0/@argument.0/@source/@source/discovery">

-      <details key="start" value="8323"/>

-      <details key="end" value="8332"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.351" references="/0/HtmlReport/@body.3/@body.0/@body.31/@argument.0/@argument.0/@source/@argument.0">

-      <details key="start" value="8351"/>

-      <details key="end" value="8358"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.352" references="/0/HtmlReport/@body.3/@body.0/@body.32">

-      <details key="start" value="8385"/>

-      <details key="end" value="8419"/>

-      <details key="line" value="250"/>

-    </eAnnotations>

-    <eAnnotations source="positions.353" references="/0/HtmlReport/@body.3/@body.0/@body.33">

-      <details key="start" value="8420"/>

-      <details key="end" value="8474"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.354" references="/0/HtmlReport/@body.3/@body.0/@body.33/@argument.0">

-      <details key="start" value="8433"/>

-      <details key="end" value="8473"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.355" references="/0/HtmlReport/@body.3/@body.0/@body.33/@argument.0/@source">

-      <details key="start" value="8433"/>

-      <details key="end" value="8436"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.356" references="/0/HtmlReport/@body.3/@body.0/@body.33/@argument.0/@argument.0">

-      <details key="start" value="8439"/>

-      <details key="end" value="8473"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.357" references="/0/HtmlReport/@body.3/@body.0/@body.33/@argument.0/@argument.0/@source">

-      <details key="start" value="8439"/>

-      <details key="end" value="8456"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.358" references="/0/HtmlReport/@body.3/@body.0/@body.33/@argument.0/@argument.0/@source/discovery">

-      <details key="start" value="8439"/>

-      <details key="end" value="8448"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.359" references="/0/HtmlReport/@body.3/@body.0/@body.34">

-      <details key="start" value="8476"/>

-      <details key="end" value="8522"/>

-      <details key="line" value="251"/>

-    </eAnnotations>

-    <eAnnotations source="positions.360" references="/0/HtmlReport/@body.3/@body.0/@body.35">

-      <details key="start" value="8523"/>

-      <details key="end" value="8545"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.361" references="/0/HtmlReport/@body.3/@body.0/@body.35/discovery">

-      <details key="start" value="8523"/>

-      <details key="end" value="8532"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.362" references="/0/HtmlReport/@body.3/@body.0/@body.36">

-      <details key="start" value="8547"/>

-      <details key="end" value="8555"/>

-      <details key="line" value="253"/>

-    </eAnnotations>

-    <eAnnotations source="positions.363" references="/0/HtmlReport/@body.3/@body.0/@body.37">

-      <details key="start" value="8555"/>

-      <details key="end" value="8686"/>

-      <details key="line" value="254"/>

-    </eAnnotations>

-    <eAnnotations source="positions.364" references="/0/HtmlReport/@body.3/@body.0/@body.37/@body.0">

-      <details key="start" value="8616"/>

-      <details key="end" value="8648"/>

-      <details key="line" value="255"/>

-    </eAnnotations>

-    <eAnnotations source="positions.365" references="/0/HtmlReport/@body.3/@body.0/@body.37/@body.1">

-      <details key="start" value="8649"/>

-      <details key="end" value="8671"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.366" references="/0/HtmlReport/@body.3/@body.0/@body.37/@body.1/discovery">

-      <details key="start" value="8649"/>

-      <details key="end" value="8658"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.367" references="/0/HtmlReport/@body.3/@body.0/@body.37/@body.2">

-      <details key="start" value="8673"/>

-      <details key="end" value="8681"/>

-      <details key="line" value="255"/>

-    </eAnnotations>

-    <eAnnotations source="positions.368" references="/0/HtmlReport/@body.3/@body.0/@body.37/@ifExpr">

-      <details key="start" value="8559"/>

-      <details key="end" value="8614"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.369" references="/0/HtmlReport/@body.3/@body.0/@body.37/@ifExpr/@source">

-      <details key="start" value="8560"/>

-      <details key="end" value="8610"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.370" references="/0/HtmlReport/@body.3/@body.0/@body.37/@ifExpr/@source/@source">

-      <details key="start" value="8560"/>

-      <details key="end" value="8589"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.371" references="/0/HtmlReport/@body.3/@body.0/@body.37/@ifExpr/@source/@source/@source">

-      <details key="start" value="8560"/>

-      <details key="end" value="8580"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.372" references="/0/HtmlReport/@body.3/@body.0/@body.37/@ifExpr/@source/@source/@source/discovery">

-      <details key="start" value="8560"/>

-      <details key="end" value="8569"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.373" references="/0/HtmlReport/@body.3/@body.0/@body.37/@ifExpr/@argument.0">

-      <details key="start" value="8612"/>

-      <details key="end" value="8613"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.374" references="/0/HtmlReport/@body.3/@body.0/@body.38">

-      <details key="start" value="8687"/>

-      <details key="end" value="8688"/>

-      <details key="line" value="257"/>

-    </eAnnotations>

-    <eAnnotations source="positions.375" references="/0/HtmlReport/@body.3/@body.0/@body.39">

-      <details key="start" value="8688"/>

-      <details key="end" value="9525"/>

-      <details key="line" value="258"/>

-    </eAnnotations>

-    <eAnnotations source="positions.376" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0">

-      <details key="start" value="8728"/>

-      <details key="end" value="9519"/>

-      <details key="line" value="259"/>

-    </eAnnotations>

-    <eAnnotations source="positions.377" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.0">

-      <details key="start" value="8810"/>

-      <details key="end" value="8824"/>

-      <details key="line" value="260"/>

-    </eAnnotations>

-    <eAnnotations source="positions.378" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/i">

-      <details key="start" value="8825"/>

-      <details key="end" value="8826"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.379" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.2">

-      <details key="start" value="8828"/>

-      <details key="end" value="8847"/>

-      <details key="line" value="260"/>

-    </eAnnotations>

-    <eAnnotations source="positions.380" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.3">

-      <details key="start" value="8848"/>

-      <details key="end" value="8871"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.381" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.3/iteration">

-      <details key="start" value="8848"/>

-      <details key="end" value="8857"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.382" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.4">

-      <details key="start" value="8873"/>

-      <details key="end" value="8897"/>

-      <details key="line" value="261"/>

-    </eAnnotations>

-    <eAnnotations source="positions.383" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.5">

-      <details key="start" value="8898"/>

-      <details key="end" value="8945"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.384" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.5/@argument.0">

-      <details key="start" value="8911"/>

-      <details key="end" value="8944"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.385" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.5/@argument.0/@source">

-      <details key="start" value="8911"/>

-      <details key="end" value="8914"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.386" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.5/@argument.0/@argument.0">

-      <details key="start" value="8917"/>

-      <details key="end" value="8944"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.387" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.5/@argument.0/@argument.0/iteration">

-      <details key="start" value="8917"/>

-      <details key="end" value="8926"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.388" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.6">

-      <details key="start" value="8947"/>

-      <details key="end" value="8976"/>

-      <details key="line" value="262"/>

-    </eAnnotations>

-    <eAnnotations source="positions.389" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.7">

-      <details key="start" value="8977"/>

-      <details key="end" value="9029"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.390" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.7/@argument.0">

-      <details key="start" value="8990"/>

-      <details key="end" value="9028"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.391" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.7/@argument.0/@source">

-      <details key="start" value="8990"/>

-      <details key="end" value="8993"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.392" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.7/@argument.0/@argument.0">

-      <details key="start" value="8996"/>

-      <details key="end" value="9028"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.393" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.7/@argument.0/@argument.0/iteration">

-      <details key="start" value="8996"/>

-      <details key="end" value="9005"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.394" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.8">

-      <details key="start" value="9031"/>

-      <details key="end" value="9061"/>

-      <details key="line" value="263"/>

-    </eAnnotations>

-    <eAnnotations source="positions.395" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.9">

-      <details key="start" value="9062"/>

-      <details key="end" value="9112"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.396" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.9/@argument.0">

-      <details key="start" value="9075"/>

-      <details key="end" value="9111"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.397" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.9/@argument.0/@source">

-      <details key="start" value="9075"/>

-      <details key="end" value="9078"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.398" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.9/@argument.0/@argument.0">

-      <details key="start" value="9081"/>

-      <details key="end" value="9111"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.399" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.9/@argument.0/@argument.0/iteration">

-      <details key="start" value="9081"/>

-      <details key="end" value="9090"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.400" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.10">

-      <details key="start" value="9114"/>

-      <details key="end" value="9121"/>

-      <details key="line" value="264"/>

-    </eAnnotations>

-    <eAnnotations source="positions.401" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11">

-      <details key="start" value="9121"/>

-      <details key="end" value="9325"/>

-      <details key="line" value="266"/>

-    </eAnnotations>

-    <eAnnotations source="positions.402" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@body.0">

-      <details key="start" value="9182"/>

-      <details key="end" value="9207"/>

-      <details key="line" value="267"/>

-    </eAnnotations>

-    <eAnnotations source="positions.403" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@body.1">

-      <details key="start" value="9208"/>

-      <details key="end" value="9230"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.404" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@body.1/discovery">

-      <details key="start" value="9208"/>

-      <details key="end" value="9217"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.405" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@body.2">

-      <details key="start" value="9232"/>

-      <details key="end" value="9233"/>

-      <details key="line" value="267"/>

-    </eAnnotations>

-    <eAnnotations source="positions.406" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@body.3">

-      <details key="start" value="9234"/>

-      <details key="end" value="9310"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.407" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@body.3/@source">

-      <details key="start" value="9234"/>

-      <details key="end" value="9289"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.408" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@body.3/@source/@source">

-      <details key="start" value="9234"/>

-      <details key="end" value="9268"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.409" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@body.3/@source/@source/@source">

-      <details key="start" value="9234"/>

-      <details key="end" value="9257"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.410" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@body.3/@source/@source/@source/iteration">

-      <details key="start" value="9234"/>

-      <details key="end" value="9243"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.411" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@body.3/@source/@argument.0">

-      <details key="start" value="9280"/>

-      <details key="end" value="9283"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.412" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@body.3/@source/@argument.1">

-      <details key="start" value="9285"/>

-      <details key="end" value="9288"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.413" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@body.3/@argument.0">

-      <details key="start" value="9301"/>

-      <details key="end" value="9304"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.414" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@body.3/@argument.1">

-      <details key="start" value="9306"/>

-      <details key="end" value="9309"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.415" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@body.4">

-      <details key="start" value="9312"/>

-      <details key="end" value="9320"/>

-      <details key="line" value="267"/>

-    </eAnnotations>

-    <eAnnotations source="positions.416" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@ifExpr">

-      <details key="start" value="9125"/>

-      <details key="end" value="9180"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.417" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@ifExpr/@source">

-      <details key="start" value="9126"/>

-      <details key="end" value="9176"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.418" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@ifExpr/@source/@source">

-      <details key="start" value="9126"/>

-      <details key="end" value="9155"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.419" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@ifExpr/@source/@source/@source">

-      <details key="start" value="9126"/>

-      <details key="end" value="9146"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.420" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@ifExpr/@source/@source/@source/discovery">

-      <details key="start" value="9126"/>

-      <details key="end" value="9135"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.421" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.11/@ifExpr/@argument.0">

-      <details key="start" value="9178"/>

-      <details key="end" value="9179"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.422" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.12">

-      <details key="start" value="9326"/>

-      <details key="end" value="9327"/>

-      <details key="line" value="269"/>

-    </eAnnotations>

-    <eAnnotations source="positions.423" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.13">

-      <details key="start" value="9327"/>

-      <details key="end" value="9512"/>

-      <details key="line" value="270"/>

-    </eAnnotations>

-    <eAnnotations source="positions.424" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.13/@body.0">

-      <details key="start" value="9381"/>

-      <details key="end" value="9426"/>

-      <details key="line" value="271"/>

-    </eAnnotations>

-    <eAnnotations source="positions.425" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.13/@body.1">

-      <details key="start" value="9426"/>

-      <details key="end" value="9506"/>

-      <details key="line" value="273"/>

-    </eAnnotations>

-    <eAnnotations source="positions.426" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.13/@body.1/error">

-      <details key="start" value="9479"/>

-      <details key="end" value="9484"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.427" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.13/@body.1/@body.1">

-      <details key="start" value="9486"/>

-      <details key="end" value="9500"/>

-      <details key="line" value="274"/>

-    </eAnnotations>

-    <eAnnotations source="positions.428" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.13/@body.1/error.1">

-      <details key="start" value="9432"/>

-      <details key="end" value="9446"/>

-      <details key="line" value="273"/>

-    </eAnnotations>

-    <eAnnotations source="positions.429" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.13/@body.1/@iterSet">

-      <details key="start" value="9449"/>

-      <details key="end" value="9474"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.430" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.13/@body.1/@iterSet/iteration">

-      <details key="start" value="9449"/>

-      <details key="end" value="9458"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.431" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.13/@ifExpr">

-      <details key="start" value="9331"/>

-      <details key="end" value="9379"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.432" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.13/@ifExpr/@source">

-      <details key="start" value="9336"/>

-      <details key="end" value="9378"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.433" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.13/@ifExpr/@source/@source">

-      <details key="start" value="9336"/>

-      <details key="end" value="9361"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.434" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@body.13/@ifExpr/@source/@source/iteration">

-      <details key="start" value="9336"/>

-      <details key="end" value="9345"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.435" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/iteration">

-      <details key="start" value="8734"/>

-      <details key="end" value="8764"/>

-      <details key="line" value="259"/>

-    </eAnnotations>

-    <eAnnotations source="positions.436" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@iterSet">

-      <details key="start" value="8767"/>

-      <details key="end" value="8787"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.437" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@iterSet/discovery">

-      <details key="start" value="8767"/>

-      <details key="end" value="8776"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.438" references="/0/HtmlReport/@body.3/@body.0/@body.39/@body.0/@each">

-      <details key="start" value="8800"/>

-      <details key="end" value="8807"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.439" references="/0/HtmlReport/@body.3/@body.0/@body.39/@ifExpr">

-      <details key="start" value="8692"/>

-      <details key="end" value="8726"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.440" references="/0/HtmlReport/@body.3/@body.0/@body.39/@ifExpr/@source">

-      <details key="start" value="8693"/>

-      <details key="end" value="8721"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.441" references="/0/HtmlReport/@body.3/@body.0/@body.39/@ifExpr/@source/@source">

-      <details key="start" value="8693"/>

-      <details key="end" value="8713"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.442" references="/0/HtmlReport/@body.3/@body.0/@body.39/@ifExpr/@source/@source/discovery">

-      <details key="start" value="8693"/>

-      <details key="end" value="8702"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.443" references="/0/HtmlReport/@body.3/@body.0/@body.39/@ifExpr/@argument.0">

-      <details key="start" value="8724"/>

-      <details key="end" value="8725"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.444" references="/0/HtmlReport/@body.3/@body.0/@body.40">

-      <details key="start" value="9526"/>

-      <details key="end" value="9703"/>

-      <details key="line" value="280"/>

-    </eAnnotations>

-    <eAnnotations source="positions.445" references="/0/HtmlReport/@body.3/@body.0/@fileUrl">

-      <details key="start" value="6437"/>

-      <details key="end" value="6500"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.446" references="/0/HtmlReport/@body.3/@body.0/@fileUrl/@source">

-      <details key="start" value="6437"/>

-      <details key="end" value="6492"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.447" references="/0/HtmlReport/@body.3/@body.0/@fileUrl/@source/@source">

-      <details key="start" value="6437"/>

-      <details key="end" value="6469"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.448" references="/0/HtmlReport/@body.3/@body.0/@fileUrl/@source/@source/@source">

-      <details key="start" value="6437"/>

-      <details key="end" value="6446"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.449" references="/0/HtmlReport/@body.3/@body.0/@fileUrl/@source/@source/@argument.0">

-      <details key="start" value="6447"/>

-      <details key="end" value="6469"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.450" references="/0/HtmlReport/@body.3/@body.0/@fileUrl/@source/@source/@argument.0/discovery">

-      <details key="start" value="6447"/>

-      <details key="end" value="6456"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.451" references="/0/HtmlReport/@body.3/@body.0/@fileUrl/@source/@argument.0">

-      <details key="start" value="6470"/>

-      <details key="end" value="6492"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.452" references="/0/HtmlReport/@body.3/@body.0/@fileUrl/@source/@argument.0/@source">

-      <details key="start" value="6470"/>

-      <details key="end" value="6487"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.453" references="/0/HtmlReport/@body.3/@body.0/@fileUrl/@source/@argument.0/@source/discovery">

-      <details key="start" value="6470"/>

-      <details key="end" value="6479"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.454" references="/0/HtmlReport/@body.3/@body.0/@fileUrl/@argument.0">

-      <details key="start" value="6493"/>

-      <details key="end" value="6500"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.455" references="/0/HtmlReport/@body.3/@body.0/@charset">

-      <details key="start" value="6509"/>

-      <details key="end" value="6516"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.456" references="/0/HtmlReport/@body.3/discovery">

-      <details key="start" value="6389"/>

-      <details key="end" value="6410"/>

-      <details key="line" value="195"/>

-    </eAnnotations>

-    <eAnnotations source="positions.457" references="/0/HtmlReport/@body.3/@iterSet">

-      <details key="start" value="6413"/>

-      <details key="end" value="6426"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.458" references="/0/HtmlReport/@body.3/@iterSet/b">

-      <details key="start" value="6413"/>

-      <details key="end" value="6414"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.459" references="/0/HtmlReport/@body.4">

-      <details key="start" value="9718"/>

-      <details key="end" value="9720"/>

-      <details key="line" value="290"/>

-    </eAnnotations>

-    <eAnnotations source="positions.460" references="/0/HtmlReport/@body.5">

-      <details key="start" value="9720"/>

-      <details key="end" value="15333"/>

-      <details key="line" value="292"/>

-    </eAnnotations>

-    <eAnnotations source="positions.461" references="/0/HtmlReport/@body.5/@body.0">

-      <details key="start" value="9761"/>

-      <details key="end" value="15326"/>

-      <details key="line" value="293"/>

-    </eAnnotations>

-    <eAnnotations source="positions.462" references="/0/HtmlReport/@body.5/@body.0/@body.0">

-      <details key="start" value="9817"/>

-      <details key="end" value="10430"/>

-      <details key="line" value="294"/>

-    </eAnnotations>

-    <eAnnotations source="positions.463" references="/0/HtmlReport/@body.5/@body.0/@body.1">

-      <details key="start" value="10431"/>

-      <details key="end" value="10462"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.464" references="/0/HtmlReport/@body.5/@body.0/@body.1/@source">

-      <details key="start" value="10431"/>

-      <details key="end" value="10457"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.465" references="/0/HtmlReport/@body.5/@body.0/@body.1/@source/project">

-      <details key="start" value="10431"/>

-      <details key="end" value="10438"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.466" references="/0/HtmlReport/@body.5/@body.0/@body.1/@source/@argument.0">

-      <details key="start" value="10449"/>

-      <details key="end" value="10456"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.467" references="/0/HtmlReport/@body.5/@body.0/@body.2">

-      <details key="start" value="10464"/>

-      <details key="end" value="10494"/>

-      <details key="line" value="327"/>

-    </eAnnotations>

-    <eAnnotations source="positions.468" references="/0/HtmlReport/@body.5/@body.0/@body.3">

-      <details key="start" value="10495"/>

-      <details key="end" value="10526"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.469" references="/0/HtmlReport/@body.5/@body.0/@body.3/@source">

-      <details key="start" value="10495"/>

-      <details key="end" value="10521"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.470" references="/0/HtmlReport/@body.5/@body.0/@body.3/@source/project">

-      <details key="start" value="10495"/>

-      <details key="end" value="10502"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.471" references="/0/HtmlReport/@body.5/@body.0/@body.3/@source/@argument.0">

-      <details key="start" value="10513"/>

-      <details key="end" value="10520"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.472" references="/0/HtmlReport/@body.5/@body.0/@body.4">

-      <details key="start" value="10528"/>

-      <details key="end" value="10601"/>

-      <details key="line" value="332"/>

-    </eAnnotations>

-    <eAnnotations source="positions.473" references="/0/HtmlReport/@body.5/@body.0/@body.5">

-      <details key="start" value="10602"/>

-      <details key="end" value="10633"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.474" references="/0/HtmlReport/@body.5/@body.0/@body.5/@source">

-      <details key="start" value="10602"/>

-      <details key="end" value="10628"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.475" references="/0/HtmlReport/@body.5/@body.0/@body.5/@source/project">

-      <details key="start" value="10602"/>

-      <details key="end" value="10609"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.476" references="/0/HtmlReport/@body.5/@body.0/@body.5/@source/@argument.0">

-      <details key="start" value="10620"/>

-      <details key="end" value="10627"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.477" references="/0/HtmlReport/@body.5/@body.0/@body.6">

-      <details key="start" value="10635"/>

-      <details key="end" value="10642"/>

-      <details key="line" value="335"/>

-    </eAnnotations>

-    <eAnnotations source="positions.478" references="/0/HtmlReport/@body.5/@body.0/@body.7">

-      <details key="start" value="10643"/>

-      <details key="end" value="10674"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.479" references="/0/HtmlReport/@body.5/@body.0/@body.7/@source">

-      <details key="start" value="10643"/>

-      <details key="end" value="10669"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.480" references="/0/HtmlReport/@body.5/@body.0/@body.7/@source/project">

-      <details key="start" value="10643"/>

-      <details key="end" value="10650"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.481" references="/0/HtmlReport/@body.5/@body.0/@body.7/@source/@argument.0">

-      <details key="start" value="10661"/>

-      <details key="end" value="10668"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.482" references="/0/HtmlReport/@body.5/@body.0/@body.8">

-      <details key="start" value="10676"/>

-      <details key="end" value="10716"/>

-      <details key="line" value="335"/>

-    </eAnnotations>

-    <eAnnotations source="positions.483" references="/0/HtmlReport/@body.5/@body.0/@body.9">

-      <details key="start" value="10717"/>

-      <details key="end" value="10754"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.484" references="/0/HtmlReport/@body.5/@body.0/@body.9/@source">

-      <details key="start" value="10717"/>

-      <details key="end" value="10743"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.485" references="/0/HtmlReport/@body.5/@body.0/@body.9/@source/project">

-      <details key="start" value="10717"/>

-      <details key="end" value="10724"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.486" references="/0/HtmlReport/@body.5/@body.0/@body.9/@source/@argument.0">

-      <details key="start" value="10735"/>

-      <details key="end" value="10742"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.487" references="/0/HtmlReport/@body.5/@body.0/@body.10">

-      <details key="start" value="10756"/>

-      <details key="end" value="10804"/>

-      <details key="line" value="336"/>

-    </eAnnotations>

-    <eAnnotations source="positions.488" references="/0/HtmlReport/@body.5/@body.0/@body.11">

-      <details key="start" value="10805"/>

-      <details key="end" value="10851"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.489" references="/0/HtmlReport/@body.5/@body.0/@body.11/@source">

-      <details key="start" value="10805"/>

-      <details key="end" value="10831"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.490" references="/0/HtmlReport/@body.5/@body.0/@body.11/@source/project">

-      <details key="start" value="10805"/>

-      <details key="end" value="10812"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.491" references="/0/HtmlReport/@body.5/@body.0/@body.11/@source/@argument.0">

-      <details key="start" value="10823"/>

-      <details key="end" value="10830"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.492" references="/0/HtmlReport/@body.5/@body.0/@body.12">

-      <details key="start" value="10853"/>

-      <details key="end" value="10894"/>

-      <details key="line" value="337"/>

-    </eAnnotations>

-    <eAnnotations source="positions.493" references="/0/HtmlReport/@body.5/@body.0/@body.13">

-      <details key="start" value="10895"/>

-      <details key="end" value="10964"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.494" references="/0/HtmlReport/@body.5/@body.0/@body.13/@argument.0">

-      <details key="start" value="10908"/>

-      <details key="end" value="10963"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.495" references="/0/HtmlReport/@body.5/@body.0/@body.13/@argument.0/@source">

-      <details key="start" value="10908"/>

-      <details key="end" value="10911"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.496" references="/0/HtmlReport/@body.5/@body.0/@body.13/@argument.0/@argument.0">

-      <details key="start" value="10914"/>

-      <details key="end" value="10963"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.497" references="/0/HtmlReport/@body.5/@body.0/@body.13/@argument.0/@argument.0/@source">

-      <details key="start" value="10914"/>

-      <details key="end" value="10940"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.498" references="/0/HtmlReport/@body.5/@body.0/@body.13/@argument.0/@argument.0/@source/project">

-      <details key="start" value="10914"/>

-      <details key="end" value="10921"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.499" references="/0/HtmlReport/@body.5/@body.0/@body.13/@argument.0/@argument.0/@source/@argument.0">

-      <details key="start" value="10932"/>

-      <details key="end" value="10939"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.500" references="/0/HtmlReport/@body.5/@body.0/@body.14">

-      <details key="start" value="10966"/>

-      <details key="end" value="11000"/>

-      <details key="line" value="338"/>

-    </eAnnotations>

-    <eAnnotations source="positions.501" references="/0/HtmlReport/@body.5/@body.0/@body.15">

-      <details key="start" value="11001"/>

-      <details key="end" value="11045"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.502" references="/0/HtmlReport/@body.5/@body.0/@body.15/@argument.0">

-      <details key="start" value="11014"/>

-      <details key="end" value="11044"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.503" references="/0/HtmlReport/@body.5/@body.0/@body.15/@argument.0/@source">

-      <details key="start" value="11014"/>

-      <details key="end" value="11017"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.504" references="/0/HtmlReport/@body.5/@body.0/@body.15/@argument.0/@argument.0">

-      <details key="start" value="11020"/>

-      <details key="end" value="11044"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.505" references="/0/HtmlReport/@body.5/@body.0/@body.15/@argument.0/@argument.0/project">

-      <details key="start" value="11020"/>

-      <details key="end" value="11027"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.506" references="/0/HtmlReport/@body.5/@body.0/@body.16">

-      <details key="start" value="11047"/>

-      <details key="end" value="11507"/>

-      <details key="line" value="339"/>

-    </eAnnotations>

-    <eAnnotations source="positions.507" references="/0/HtmlReport/@body.5/@body.0/@body.17">

-      <details key="start" value="11507"/>

-      <details key="end" value="12619"/>

-      <details key="line" value="359"/>

-    </eAnnotations>

-    <eAnnotations source="positions.508" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0">

-      <details key="start" value="11554"/>

-      <details key="end" value="12612"/>

-      <details key="line" value="360"/>

-    </eAnnotations>

-    <eAnnotations source="positions.509" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.0">

-      <details key="start" value="11587"/>

-      <details key="end" value="11627"/>

-      <details key="line" value="361"/>

-    </eAnnotations>

-    <eAnnotations source="positions.510" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.1">

-      <details key="start" value="11628"/>

-      <details key="end" value="11650"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.511" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.1/@source">

-      <details key="start" value="11628"/>

-      <details key="end" value="11645"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.512" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.1/@source/discovery">

-      <details key="start" value="11628"/>

-      <details key="end" value="11637"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.513" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.2">

-      <details key="start" value="11652"/>

-      <details key="end" value="11659"/>

-      <details key="line" value="362"/>

-    </eAnnotations>

-    <eAnnotations source="positions.514" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.3">

-      <details key="start" value="11660"/>

-      <details key="end" value="11682"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.515" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.3/@source">

-      <details key="start" value="11660"/>

-      <details key="end" value="11677"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.516" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.3/@source/discovery">

-      <details key="start" value="11660"/>

-      <details key="end" value="11669"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.517" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.4">

-      <details key="start" value="11684"/>

-      <details key="end" value="11710"/>

-      <details key="line" value="362"/>

-    </eAnnotations>

-    <eAnnotations source="positions.518" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.5">

-      <details key="start" value="11711"/>

-      <details key="end" value="11756"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.519" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.5/@source">

-      <details key="start" value="11711"/>

-      <details key="end" value="11733"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.520" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.5/@source/discovery">

-      <details key="start" value="11711"/>

-      <details key="end" value="11720"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.521" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.5/@argument.0">

-      <details key="start" value="11734"/>

-      <details key="end" value="11756"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.522" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.5/@argument.0/@source">

-      <details key="start" value="11734"/>

-      <details key="end" value="11751"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.523" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.5/@argument.0/@source/discovery">

-      <details key="start" value="11734"/>

-      <details key="end" value="11743"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.524" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.6">

-      <details key="start" value="11758"/>

-      <details key="end" value="11765"/>

-      <details key="line" value="363"/>

-    </eAnnotations>

-    <eAnnotations source="positions.525" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.7">

-      <details key="start" value="11766"/>

-      <details key="end" value="11788"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.526" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.7/discovery">

-      <details key="start" value="11766"/>

-      <details key="end" value="11775"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.527" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.8">

-      <details key="start" value="11790"/>

-      <details key="end" value="11816"/>

-      <details key="line" value="363"/>

-    </eAnnotations>

-    <eAnnotations source="positions.528" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.9">

-      <details key="start" value="11817"/>

-      <details key="end" value="11876"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.529" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.9/@argument.0">

-      <details key="start" value="11830"/>

-      <details key="end" value="11875"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.530" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.9/@argument.0/@source">

-      <details key="start" value="11830"/>

-      <details key="end" value="11833"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.531" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.9/@argument.0/@argument.0">

-      <details key="start" value="11836"/>

-      <details key="end" value="11875"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.532" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.9/@argument.0/@argument.0/discovery">

-      <details key="start" value="11836"/>

-      <details key="end" value="11845"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.533" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.10">

-      <details key="start" value="11878"/>

-      <details key="end" value="11890"/>

-      <details key="line" value="364"/>

-    </eAnnotations>

-    <eAnnotations source="positions.534" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.11">

-      <details key="start" value="11891"/>

-      <details key="end" value="11951"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.535" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.11/@argument.0">

-      <details key="start" value="11904"/>

-      <details key="end" value="11950"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.536" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.11/@argument.0/@source">

-      <details key="start" value="11904"/>

-      <details key="end" value="11907"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.537" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.11/@argument.0/@argument.0">

-      <details key="start" value="11910"/>

-      <details key="end" value="11950"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.538" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.11/@argument.0/@argument.0/discovery">

-      <details key="start" value="11910"/>

-      <details key="end" value="11919"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.539" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.12">

-      <details key="start" value="11953"/>

-      <details key="end" value="11977"/>

-      <details key="line" value="364"/>

-    </eAnnotations>

-    <eAnnotations source="positions.540" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.13">

-      <details key="start" value="11978"/>

-      <details key="end" value="12032"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.541" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.13/@argument.0">

-      <details key="start" value="11991"/>

-      <details key="end" value="12031"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.542" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.13/@argument.0/@source">

-      <details key="start" value="11991"/>

-      <details key="end" value="11994"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.543" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.13/@argument.0/@argument.0">

-      <details key="start" value="11997"/>

-      <details key="end" value="12031"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.544" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.13/@argument.0/@argument.0/discovery">

-      <details key="start" value="11997"/>

-      <details key="end" value="12006"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.545" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.14">

-      <details key="start" value="12034"/>

-      <details key="end" value="12046"/>

-      <details key="line" value="365"/>

-    </eAnnotations>

-    <eAnnotations source="positions.546" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.15">

-      <details key="start" value="12047"/>

-      <details key="end" value="12102"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.547" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.15/@argument.0">

-      <details key="start" value="12060"/>

-      <details key="end" value="12101"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.548" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.15/@argument.0/@source">

-      <details key="start" value="12060"/>

-      <details key="end" value="12063"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.549" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.15/@argument.0/@argument.0">

-      <details key="start" value="12066"/>

-      <details key="end" value="12101"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.550" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.15/@argument.0/@argument.0/discovery">

-      <details key="start" value="12066"/>

-      <details key="end" value="12075"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.551" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.16">

-      <details key="start" value="12104"/>

-      <details key="end" value="12128"/>

-      <details key="line" value="365"/>

-    </eAnnotations>

-    <eAnnotations source="positions.552" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.17">

-      <details key="start" value="12129"/>

-      <details key="end" value="12160"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.553" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.17/discovery">

-      <details key="start" value="12129"/>

-      <details key="end" value="12138"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.554" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.18">

-      <details key="start" value="12162"/>

-      <details key="end" value="12184"/>

-      <details key="line" value="366"/>

-    </eAnnotations>

-    <eAnnotations source="positions.555" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.19">

-      <details key="start" value="12185"/>

-      <details key="end" value="12258"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.556" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.19/@argument.0">

-      <details key="start" value="12198"/>

-      <details key="end" value="12257"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.557" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.19/@argument.0/@source">

-      <details key="start" value="12198"/>

-      <details key="end" value="12201"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.558" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.19/@argument.0/@argument.0">

-      <details key="start" value="12204"/>

-      <details key="end" value="12257"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.559" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.19/@argument.0/@argument.0/@source">

-      <details key="start" value="12204"/>

-      <details key="end" value="12240"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.560" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.19/@argument.0/@argument.0/@source/@source">

-      <details key="start" value="12204"/>

-      <details key="end" value="12221"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.561" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.19/@argument.0/@argument.0/@source/@source/discovery">

-      <details key="start" value="12204"/>

-      <details key="end" value="12213"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.562" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.19/@argument.0/@argument.0/@source/@argument.0">

-      <details key="start" value="12232"/>

-      <details key="end" value="12239"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.563" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.20">

-      <details key="start" value="12260"/>

-      <details key="end" value="12282"/>

-      <details key="line" value="367"/>

-    </eAnnotations>

-    <eAnnotations source="positions.564" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.21">

-      <details key="start" value="12283"/>

-      <details key="end" value="12362"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.565" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.21/@argument.0">

-      <details key="start" value="12296"/>

-      <details key="end" value="12361"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.566" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.21/@argument.0/@source">

-      <details key="start" value="12296"/>

-      <details key="end" value="12299"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.567" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.21/@argument.0/@argument.0">

-      <details key="start" value="12302"/>

-      <details key="end" value="12361"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.568" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.21/@argument.0/@argument.0/@source">

-      <details key="start" value="12302"/>

-      <details key="end" value="12338"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.569" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.21/@argument.0/@argument.0/@source/@source">

-      <details key="start" value="12302"/>

-      <details key="end" value="12319"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.570" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.21/@argument.0/@argument.0/@source/@source/discovery">

-      <details key="start" value="12302"/>

-      <details key="end" value="12311"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.571" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.21/@argument.0/@argument.0/@source/@argument.0">

-      <details key="start" value="12330"/>

-      <details key="end" value="12337"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.572" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.22">

-      <details key="start" value="12364"/>

-      <details key="end" value="12386"/>

-      <details key="line" value="368"/>

-    </eAnnotations>

-    <eAnnotations source="positions.573" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.23">

-      <details key="start" value="12387"/>

-      <details key="end" value="12434"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.574" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.23/@source">

-      <details key="start" value="12387"/>

-      <details key="end" value="12423"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.575" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.23/@source/@source">

-      <details key="start" value="12387"/>

-      <details key="end" value="12404"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.576" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.23/@source/@source/discovery">

-      <details key="start" value="12387"/>

-      <details key="end" value="12396"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.577" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.23/@source/@argument.0">

-      <details key="start" value="12415"/>

-      <details key="end" value="12422"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.578" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.24">

-      <details key="start" value="12436"/>

-      <details key="end" value="12458"/>

-      <details key="line" value="369"/>

-    </eAnnotations>

-    <eAnnotations source="positions.579" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.25">

-      <details key="start" value="12459"/>

-      <details key="end" value="12515"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.580" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.25/@source">

-      <details key="start" value="12459"/>

-      <details key="end" value="12495"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.581" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.25/@source/@source">

-      <details key="start" value="12459"/>

-      <details key="end" value="12476"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.582" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.25/@source/@source/discovery">

-      <details key="start" value="12459"/>

-      <details key="end" value="12468"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.583" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.25/@source/@argument.0">

-      <details key="start" value="12487"/>

-      <details key="end" value="12494"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.584" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.26">

-      <details key="start" value="12517"/>

-      <details key="end" value="12539"/>

-      <details key="line" value="370"/>

-    </eAnnotations>

-    <eAnnotations source="positions.585" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.27">

-      <details key="start" value="12540"/>

-      <details key="end" value="12583"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.586" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.27/@argument.0">

-      <details key="start" value="12553"/>

-      <details key="end" value="12582"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.587" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.27/@argument.0/@source">

-      <details key="start" value="12553"/>

-      <details key="end" value="12556"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.588" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.27/@argument.0/@argument.0">

-      <details key="start" value="12558"/>

-      <details key="end" value="12582"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.589" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.27/@argument.0/@argument.0/discovery">

-      <details key="start" value="12558"/>

-      <details key="end" value="12567"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.590" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@body.28">

-      <details key="start" value="12585"/>

-      <details key="end" value="12606"/>

-      <details key="line" value="371"/>

-    </eAnnotations>

-    <eAnnotations source="positions.591" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@ifExpr">

-      <details key="start" value="11558"/>

-      <details key="end" value="11585"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.592" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@ifExpr/@source">

-      <details key="start" value="11559"/>

-      <details key="end" value="11576"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.593" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@ifExpr/@source/discovery">

-      <details key="start" value="11559"/>

-      <details key="end" value="11568"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.594" references="/0/HtmlReport/@body.5/@body.0/@body.17/@body.0/@ifExpr/project">

-      <details key="start" value="11577"/>

-      <details key="end" value="11584"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.595" references="/0/HtmlReport/@body.5/@body.0/@body.17/discovery">

-      <details key="start" value="11513"/>

-      <details key="end" value="11534"/>

-      <details key="line" value="359"/>

-    </eAnnotations>

-    <eAnnotations source="positions.596" references="/0/HtmlReport/@body.5/@body.0/@body.17/@iterSet">

-      <details key="start" value="11537"/>

-      <details key="end" value="11550"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.597" references="/0/HtmlReport/@body.5/@body.0/@body.17/@iterSet/b">

-      <details key="start" value="11537"/>

-      <details key="end" value="11538"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.598" references="/0/HtmlReport/@body.5/@body.0/@body.18">

-      <details key="start" value="12620"/>

-      <details key="end" value="12663"/>

-      <details key="line" value="375"/>

-    </eAnnotations>

-    <eAnnotations source="positions.599" references="/0/HtmlReport/@body.5/@body.0/@body.19">

-      <details key="start" value="12663"/>

-      <details key="end" value="13642"/>

-      <details key="line" value="379"/>

-    </eAnnotations>

-    <eAnnotations source="positions.600" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0">

-      <details key="start" value="12710"/>

-      <details key="end" value="13635"/>

-      <details key="line" value="380"/>

-    </eAnnotations>

-    <eAnnotations source="positions.601" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0">

-      <details key="start" value="12745"/>

-      <details key="end" value="13628"/>

-      <details key="line" value="381"/>

-    </eAnnotations>

-    <eAnnotations source="positions.602" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.0">

-      <details key="start" value="12785"/>

-      <details key="end" value="12844"/>

-      <details key="line" value="382"/>

-    </eAnnotations>

-    <eAnnotations source="positions.603" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.1">

-      <details key="start" value="12845"/>

-      <details key="end" value="12867"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.604" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.1/@source">

-      <details key="start" value="12845"/>

-      <details key="end" value="12862"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.605" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.1/@source/discovery">

-      <details key="start" value="12845"/>

-      <details key="end" value="12854"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.606" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.2">

-      <details key="start" value="12869"/>

-      <details key="end" value="12876"/>

-      <details key="line" value="384"/>

-    </eAnnotations>

-    <eAnnotations source="positions.607" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.3">

-      <details key="start" value="12877"/>

-      <details key="end" value="12899"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.608" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.3/@source">

-      <details key="start" value="12877"/>

-      <details key="end" value="12894"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.609" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.3/@source/discovery">

-      <details key="start" value="12877"/>

-      <details key="end" value="12886"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.610" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.4">

-      <details key="start" value="12901"/>

-      <details key="end" value="12920"/>

-      <details key="line" value="384"/>

-    </eAnnotations>

-    <eAnnotations source="positions.611" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.5">

-      <details key="start" value="12921"/>

-      <details key="end" value="12966"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.612" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.5/@source">

-      <details key="start" value="12921"/>

-      <details key="end" value="12943"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.613" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.5/@source/discovery">

-      <details key="start" value="12921"/>

-      <details key="end" value="12930"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.614" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.5/@argument.0">

-      <details key="start" value="12944"/>

-      <details key="end" value="12966"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.615" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.5/@argument.0/@source">

-      <details key="start" value="12944"/>

-      <details key="end" value="12961"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.616" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.5/@argument.0/@source/discovery">

-      <details key="start" value="12944"/>

-      <details key="end" value="12953"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.617" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.6">

-      <details key="start" value="12968"/>

-      <details key="end" value="12975"/>

-      <details key="line" value="384"/>

-    </eAnnotations>

-    <eAnnotations source="positions.618" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.7">

-      <details key="start" value="12976"/>

-      <details key="end" value="12998"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.619" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.7/discovery">

-      <details key="start" value="12976"/>

-      <details key="end" value="12985"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.620" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.8">

-      <details key="start" value="13000"/>

-      <details key="end" value="13010"/>

-      <details key="line" value="384"/>

-    </eAnnotations>

-    <eAnnotations source="positions.621" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9">

-      <details key="start" value="13013"/>

-      <details key="end" value="13620"/>

-      <details key="line" value="385"/>

-    </eAnnotations>

-    <eAnnotations source="positions.622" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.0">

-      <details key="start" value="13084"/>

-      <details key="end" value="13246"/>

-      <details key="line" value="386"/>

-    </eAnnotations>

-    <eAnnotations source="positions.623" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1">

-      <details key="start" value="13249"/>

-      <details key="end" value="13597"/>

-      <details key="line" value="392"/>

-    </eAnnotations>

-    <eAnnotations source="positions.624" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.0">

-      <details key="start" value="13320"/>

-      <details key="end" value="13341"/>

-      <details key="line" value="393"/>

-    </eAnnotations>

-    <eAnnotations source="positions.625" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/i">

-      <details key="start" value="13342"/>

-      <details key="end" value="13343"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.626" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.2">

-      <details key="start" value="13345"/>

-      <details key="end" value="13346"/>

-      <details key="line" value="394"/>

-    </eAnnotations>

-    <eAnnotations source="positions.627" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.3">

-      <details key="start" value="13347"/>

-      <details key="end" value="13375"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.628" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.3/@source">

-      <details key="start" value="13347"/>

-      <details key="end" value="13367"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.629" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.3/@source/discovery">

-      <details key="start" value="13347"/>

-      <details key="end" value="13356"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.630" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.4">

-      <details key="start" value="13377"/>

-      <details key="end" value="13417"/>

-      <details key="line" value="394"/>

-    </eAnnotations>

-    <eAnnotations source="positions.631" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.5">

-      <details key="start" value="13418"/>

-      <details key="end" value="13486"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.632" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.5/@source">

-      <details key="start" value="13418"/>

-      <details key="end" value="13478"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.633" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.5/@source/@source">

-      <details key="start" value="13418"/>

-      <details key="end" value="13459"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.634" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.5/@source/@source/discoveryIteration">

-      <details key="start" value="13418"/>

-      <details key="end" value="13436"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.635" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.5/@source/maxExecutionTime">

-      <details key="start" value="13462"/>

-      <details key="end" value="13478"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.636" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.5/@argument.0">

-      <details key="start" value="13481"/>

-      <details key="end" value="13486"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.637" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.6">

-      <details key="start" value="13488"/>

-      <details key="end" value="13506"/>

-      <details key="line" value="394"/>

-    </eAnnotations>

-    <eAnnotations source="positions.638" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.7">

-      <details key="start" value="13507"/>

-      <details key="end" value="13568"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.639" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.7/@argument.0">

-      <details key="start" value="13520"/>

-      <details key="end" value="13567"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.640" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.7/@argument.0/@source">

-      <details key="start" value="13520"/>

-      <details key="end" value="13523"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.641" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.7/@argument.0/@argument.0">

-      <details key="start" value="13526"/>

-      <details key="end" value="13567"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.642" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.7/@argument.0/@argument.0/discoveryIteration">

-      <details key="start" value="13526"/>

-      <details key="end" value="13544"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.643" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@body.8">

-      <details key="start" value="13570"/>

-      <details key="end" value="13588"/>

-      <details key="line" value="394"/>

-    </eAnnotations>

-    <eAnnotations source="positions.644" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/discoveryIteration">

-      <details key="start" value="13255"/>

-      <details key="end" value="13294"/>

-      <details key="line" value="392"/>

-    </eAnnotations>

-    <eAnnotations source="positions.645" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@iterSet">

-      <details key="start" value="13297"/>

-      <details key="end" value="13317"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.646" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.1/@iterSet/discovery">

-      <details key="start" value="13297"/>

-      <details key="end" value="13306"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.647" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/@body.2">

-      <details key="start" value="13598"/>

-      <details key="end" value="13611"/>

-      <details key="line" value="397"/>

-    </eAnnotations>

-    <eAnnotations source="positions.648" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/maxExecutionTime">

-      <details key="start" value="13018"/>

-      <details key="end" value="13082"/>

-      <details key="line" value="385"/>

-    </eAnnotations>

-    <eAnnotations source="positions.649" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/maxExecutionTime/@initExpression">

-      <details key="start" value="13045"/>

-      <details key="end" value="13083"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.650" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/maxExecutionTime/@initExpression/@argument.0">

-      <details key="start" value="13062"/>

-      <details key="end" value="13082"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.651" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@body.9/maxExecutionTime/@initExpression/@argument.0/discovery">

-      <details key="start" value="13062"/>

-      <details key="end" value="13071"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.652" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@ifExpr">

-      <details key="start" value="12749"/>

-      <details key="end" value="12783"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.653" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@ifExpr/@source">

-      <details key="start" value="12750"/>

-      <details key="end" value="12778"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.654" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@ifExpr/@source/@source">

-      <details key="start" value="12750"/>

-      <details key="end" value="12770"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.655" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@ifExpr/@source/@source/discovery">

-      <details key="start" value="12750"/>

-      <details key="end" value="12759"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.656" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@body.0/@ifExpr/@argument.0">

-      <details key="start" value="12781"/>

-      <details key="end" value="12782"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.657" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@ifExpr">

-      <details key="start" value="12714"/>

-      <details key="end" value="12741"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.658" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@ifExpr/@source">

-      <details key="start" value="12715"/>

-      <details key="end" value="12732"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.659" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@ifExpr/@source/discovery">

-      <details key="start" value="12715"/>

-      <details key="end" value="12724"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.660" references="/0/HtmlReport/@body.5/@body.0/@body.19/@body.0/@ifExpr/project">

-      <details key="start" value="12733"/>

-      <details key="end" value="12740"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.661" references="/0/HtmlReport/@body.5/@body.0/@body.19/discovery">

-      <details key="start" value="12669"/>

-      <details key="end" value="12690"/>

-      <details key="line" value="379"/>

-    </eAnnotations>

-    <eAnnotations source="positions.662" references="/0/HtmlReport/@body.5/@body.0/@body.19/@iterSet">

-      <details key="start" value="12693"/>

-      <details key="end" value="12706"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.663" references="/0/HtmlReport/@body.5/@body.0/@body.19/@iterSet/b">

-      <details key="start" value="12693"/>

-      <details key="end" value="12694"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.664" references="/0/HtmlReport/@body.5/@body.0/@body.20">

-      <details key="start" value="13643"/>

-      <details key="end" value="13645"/>

-      <details key="line" value="403"/>

-    </eAnnotations>

-    <eAnnotations source="positions.665" references="/0/HtmlReport/@body.5/@body.0/@body.21">

-      <details key="start" value="13645"/>

-      <details key="end" value="14585"/>

-      <details key="line" value="405"/>

-    </eAnnotations>

-    <eAnnotations source="positions.666" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0">

-      <details key="start" value="13692"/>

-      <details key="end" value="14578"/>

-      <details key="line" value="406"/>

-    </eAnnotations>

-    <eAnnotations source="positions.667" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0">

-      <details key="start" value="13727"/>

-      <details key="end" value="14571"/>

-      <details key="line" value="407"/>

-    </eAnnotations>

-    <eAnnotations source="positions.668" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.0">

-      <details key="start" value="13767"/>

-      <details key="end" value="13819"/>

-      <details key="line" value="408"/>

-    </eAnnotations>

-    <eAnnotations source="positions.669" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.1">

-      <details key="start" value="13820"/>

-      <details key="end" value="13842"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.670" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.1/@source">

-      <details key="start" value="13820"/>

-      <details key="end" value="13837"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.671" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.1/@source/discovery">

-      <details key="start" value="13820"/>

-      <details key="end" value="13829"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.672" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.2">

-      <details key="start" value="13844"/>

-      <details key="end" value="13851"/>

-      <details key="line" value="410"/>

-    </eAnnotations>

-    <eAnnotations source="positions.673" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.3">

-      <details key="start" value="13852"/>

-      <details key="end" value="13874"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.674" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.3/@source">

-      <details key="start" value="13852"/>

-      <details key="end" value="13869"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.675" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.3/@source/discovery">

-      <details key="start" value="13852"/>

-      <details key="end" value="13861"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.676" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.4">

-      <details key="start" value="13876"/>

-      <details key="end" value="13895"/>

-      <details key="line" value="410"/>

-    </eAnnotations>

-    <eAnnotations source="positions.677" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.5">

-      <details key="start" value="13896"/>

-      <details key="end" value="13941"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.678" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.5/@source">

-      <details key="start" value="13896"/>

-      <details key="end" value="13918"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.679" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.5/@source/discovery">

-      <details key="start" value="13896"/>

-      <details key="end" value="13905"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.680" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.5/@argument.0">

-      <details key="start" value="13919"/>

-      <details key="end" value="13941"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.681" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.5/@argument.0/@source">

-      <details key="start" value="13919"/>

-      <details key="end" value="13936"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.682" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.5/@argument.0/@source/discovery">

-      <details key="start" value="13919"/>

-      <details key="end" value="13928"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.683" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.6">

-      <details key="start" value="13943"/>

-      <details key="end" value="13950"/>

-      <details key="line" value="410"/>

-    </eAnnotations>

-    <eAnnotations source="positions.684" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.7">

-      <details key="start" value="13951"/>

-      <details key="end" value="13973"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.685" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.7/discovery">

-      <details key="start" value="13951"/>

-      <details key="end" value="13960"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.686" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.8">

-      <details key="start" value="13975"/>

-      <details key="end" value="13985"/>

-      <details key="line" value="410"/>

-    </eAnnotations>

-    <eAnnotations source="positions.687" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9">

-      <details key="start" value="13987"/>

-      <details key="end" value="14563"/>

-      <details key="line" value="411"/>

-    </eAnnotations>

-    <eAnnotations source="positions.688" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.0">

-      <details key="start" value="14048"/>

-      <details key="end" value="14205"/>

-      <details key="line" value="412"/>

-    </eAnnotations>

-    <eAnnotations source="positions.689" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1">

-      <details key="start" value="14207"/>

-      <details key="end" value="14542"/>

-      <details key="line" value="418"/>

-    </eAnnotations>

-    <eAnnotations source="positions.690" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.0">

-      <details key="start" value="14278"/>

-      <details key="end" value="14302"/>

-      <details key="line" value="419"/>

-    </eAnnotations>

-    <eAnnotations source="positions.691" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/i">

-      <details key="start" value="14303"/>

-      <details key="end" value="14304"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.692" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.2">

-      <details key="start" value="14306"/>

-      <details key="end" value="14307"/>

-      <details key="line" value="420"/>

-    </eAnnotations>

-    <eAnnotations source="positions.693" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.3">

-      <details key="start" value="14308"/>

-      <details key="end" value="14336"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.694" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.3/@source">

-      <details key="start" value="14308"/>

-      <details key="end" value="14328"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.695" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.3/@source/discovery">

-      <details key="start" value="14308"/>

-      <details key="end" value="14317"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.696" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.4">

-      <details key="start" value="14338"/>

-      <details key="end" value="14378"/>

-      <details key="line" value="420"/>

-    </eAnnotations>

-    <eAnnotations source="positions.697" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.5">

-      <details key="start" value="14379"/>

-      <details key="end" value="14437"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.698" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.5/@source">

-      <details key="start" value="14379"/>

-      <details key="end" value="14429"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.699" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.5/@source/@source">

-      <details key="start" value="14379"/>

-      <details key="end" value="14415"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.700" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.5/@source/@source/discoveryIteration">

-      <details key="start" value="14379"/>

-      <details key="end" value="14397"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.701" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.5/@source/maxSaveTime">

-      <details key="start" value="14418"/>

-      <details key="end" value="14429"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.702" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.5/@argument.0">

-      <details key="start" value="14432"/>

-      <details key="end" value="14437"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.703" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.6">

-      <details key="start" value="14439"/>

-      <details key="end" value="14457"/>

-      <details key="line" value="420"/>

-    </eAnnotations>

-    <eAnnotations source="positions.704" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.7">

-      <details key="start" value="14458"/>

-      <details key="end" value="14514"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.705" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.7/@argument.0">

-      <details key="start" value="14471"/>

-      <details key="end" value="14513"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.706" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.7/@argument.0/@source">

-      <details key="start" value="14471"/>

-      <details key="end" value="14474"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.707" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.7/@argument.0/@argument.0">

-      <details key="start" value="14477"/>

-      <details key="end" value="14513"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.708" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.7/@argument.0/@argument.0/discoveryIteration">

-      <details key="start" value="14477"/>

-      <details key="end" value="14495"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.709" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@body.8">

-      <details key="start" value="14516"/>

-      <details key="end" value="14534"/>

-      <details key="line" value="420"/>

-    </eAnnotations>

-    <eAnnotations source="positions.710" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/discoveryIteration">

-      <details key="start" value="14213"/>

-      <details key="end" value="14252"/>

-      <details key="line" value="418"/>

-    </eAnnotations>

-    <eAnnotations source="positions.711" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@iterSet">

-      <details key="start" value="14255"/>

-      <details key="end" value="14275"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.712" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.1/@iterSet/discovery">

-      <details key="start" value="14255"/>

-      <details key="end" value="14264"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.713" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/@body.2">

-      <details key="start" value="14543"/>

-      <details key="end" value="14555"/>

-      <details key="line" value="423"/>

-    </eAnnotations>

-    <eAnnotations source="positions.714" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/maxSaveTime">

-      <details key="start" value="13992"/>

-      <details key="end" value="14046"/>

-      <details key="line" value="411"/>

-    </eAnnotations>

-    <eAnnotations source="positions.715" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/maxSaveTime/@initExpression">

-      <details key="start" value="14014"/>

-      <details key="end" value="14047"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.716" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/maxSaveTime/@initExpression/@argument.0">

-      <details key="start" value="14026"/>

-      <details key="end" value="14046"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.717" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@body.9/maxSaveTime/@initExpression/@argument.0/discovery">

-      <details key="start" value="14026"/>

-      <details key="end" value="14035"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.718" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@ifExpr">

-      <details key="start" value="13731"/>

-      <details key="end" value="13765"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.719" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@ifExpr/@source">

-      <details key="start" value="13732"/>

-      <details key="end" value="13760"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.720" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@ifExpr/@source/@source">

-      <details key="start" value="13732"/>

-      <details key="end" value="13752"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.721" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@ifExpr/@source/@source/discovery">

-      <details key="start" value="13732"/>

-      <details key="end" value="13741"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.722" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@body.0/@ifExpr/@argument.0">

-      <details key="start" value="13763"/>

-      <details key="end" value="13764"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.723" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@ifExpr">

-      <details key="start" value="13696"/>

-      <details key="end" value="13723"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.724" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@ifExpr/@source">

-      <details key="start" value="13697"/>

-      <details key="end" value="13714"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.725" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@ifExpr/@source/discovery">

-      <details key="start" value="13697"/>

-      <details key="end" value="13706"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.726" references="/0/HtmlReport/@body.5/@body.0/@body.21/@body.0/@ifExpr/project">

-      <details key="start" value="13715"/>

-      <details key="end" value="13722"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.727" references="/0/HtmlReport/@body.5/@body.0/@body.21/discovery">

-      <details key="start" value="13651"/>

-      <details key="end" value="13672"/>

-      <details key="line" value="405"/>

-    </eAnnotations>

-    <eAnnotations source="positions.728" references="/0/HtmlReport/@body.5/@body.0/@body.21/@iterSet">

-      <details key="start" value="13675"/>

-      <details key="end" value="13688"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.729" references="/0/HtmlReport/@body.5/@body.0/@body.21/@iterSet/b">

-      <details key="start" value="13675"/>

-      <details key="end" value="13676"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.730" references="/0/HtmlReport/@body.5/@body.0/@body.22">

-      <details key="start" value="14586"/>

-      <details key="end" value="14587"/>

-      <details key="line" value="429"/>

-    </eAnnotations>

-    <eAnnotations source="positions.731" references="/0/HtmlReport/@body.5/@body.0/@body.23">

-      <details key="start" value="14587"/>

-      <details key="end" value="15144"/>

-      <details key="line" value="430"/>

-    </eAnnotations>

-    <eAnnotations source="positions.732" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0">

-      <details key="start" value="14634"/>

-      <details key="end" value="15137"/>

-      <details key="line" value="431"/>

-    </eAnnotations>

-    <eAnnotations source="positions.733" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0">

-      <details key="start" value="14669"/>

-      <details key="end" value="15130"/>

-      <details key="line" value="432"/>

-    </eAnnotations>

-    <eAnnotations source="positions.734" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0">

-      <details key="start" value="14734"/>

-      <details key="end" value="15121"/>

-      <details key="line" value="433"/>

-    </eAnnotations>

-    <eAnnotations source="positions.735" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.0">

-      <details key="start" value="14788"/>

-      <details key="end" value="14849"/>

-      <details key="line" value="434"/>

-    </eAnnotations>

-    <eAnnotations source="positions.736" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.1">

-      <details key="start" value="14850"/>

-      <details key="end" value="14895"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.737" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.1/@source">

-      <details key="start" value="14850"/>

-      <details key="end" value="14872"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.738" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.1/@source/discovery">

-      <details key="start" value="14850"/>

-      <details key="end" value="14859"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.739" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.1/@argument.0">

-      <details key="start" value="14873"/>

-      <details key="end" value="14895"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.740" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.1/@argument.0/@source">

-      <details key="start" value="14873"/>

-      <details key="end" value="14890"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.741" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.1/@argument.0/@source/discovery">

-      <details key="start" value="14873"/>

-      <details key="end" value="14882"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.742" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.2">

-      <details key="start" value="14897"/>

-      <details key="end" value="14904"/>

-      <details key="line" value="435"/>

-    </eAnnotations>

-    <eAnnotations source="positions.743" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.3">

-      <details key="start" value="14905"/>

-      <details key="end" value="14927"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.744" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.3/discovery">

-      <details key="start" value="14905"/>

-      <details key="end" value="14914"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.745" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.4">

-      <details key="start" value="14929"/>

-      <details key="end" value="14946"/>

-      <details key="line" value="435"/>

-    </eAnnotations>

-    <eAnnotations source="positions.746" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.5">

-      <details key="start" value="14947"/>

-      <details key="end" value="14969"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.747" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.5/@source">

-      <details key="start" value="14947"/>

-      <details key="end" value="14964"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.748" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.5/@source/discovery">

-      <details key="start" value="14947"/>

-      <details key="end" value="14956"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.749" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.6">

-      <details key="start" value="14971"/>

-      <details key="end" value="14978"/>

-      <details key="line" value="435"/>

-    </eAnnotations>

-    <eAnnotations source="positions.750" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.7">

-      <details key="start" value="14979"/>

-      <details key="end" value="15001"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.751" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.7/@source">

-      <details key="start" value="14979"/>

-      <details key="end" value="14996"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.752" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.7/@source/discovery">

-      <details key="start" value="14979"/>

-      <details key="end" value="14988"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.753" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.8">

-      <details key="start" value="15003"/>

-      <details key="end" value="15014"/>

-      <details key="line" value="435"/>

-    </eAnnotations>

-    <eAnnotations source="positions.754" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.9">

-      <details key="start" value="15018"/>

-      <details key="end" value="15112"/>

-      <details key="line" value="436"/>

-    </eAnnotations>

-    <eAnnotations source="positions.755" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.9/@body.0">

-      <details key="start" value="15070"/>

-      <details key="end" value="15075"/>

-      <details key="line" value="437"/>

-    </eAnnotations>

-    <eAnnotations source="positions.756" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.9/error">

-      <details key="start" value="15076"/>

-      <details key="end" value="15081"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.757" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.9/@body.2">

-      <details key="start" value="15083"/>

-      <details key="end" value="15102"/>

-      <details key="line" value="437"/>

-    </eAnnotations>

-    <eAnnotations source="positions.758" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.9/error.1">

-      <details key="start" value="15024"/>

-      <details key="end" value="15038"/>

-      <details key="line" value="436"/>

-    </eAnnotations>

-    <eAnnotations source="positions.759" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.9/@iterSet">

-      <details key="start" value="15041"/>

-      <details key="end" value="15066"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.760" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@body.9/@iterSet/iteration">

-      <details key="start" value="15041"/>

-      <details key="end" value="15050"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.761" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@ifExpr">

-      <details key="start" value="14738"/>

-      <details key="end" value="14786"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.762" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@ifExpr/@source">

-      <details key="start" value="14743"/>

-      <details key="end" value="14785"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.763" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@ifExpr/@source/@source">

-      <details key="start" value="14743"/>

-      <details key="end" value="14768"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.764" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@body.0/@ifExpr/@source/@source/iteration">

-      <details key="start" value="14743"/>

-      <details key="end" value="14752"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.765" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/iteration">

-      <details key="start" value="14675"/>

-      <details key="end" value="14705"/>

-      <details key="line" value="432"/>

-    </eAnnotations>

-    <eAnnotations source="positions.766" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@iterSet">

-      <details key="start" value="14708"/>

-      <details key="end" value="14728"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.767" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@body.0/@iterSet/discovery">

-      <details key="start" value="14708"/>

-      <details key="end" value="14717"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.768" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@ifExpr">

-      <details key="start" value="14638"/>

-      <details key="end" value="14665"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.769" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@ifExpr/@source">

-      <details key="start" value="14639"/>

-      <details key="end" value="14656"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.770" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@ifExpr/@source/discovery">

-      <details key="start" value="14639"/>

-      <details key="end" value="14648"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.771" references="/0/HtmlReport/@body.5/@body.0/@body.23/@body.0/@ifExpr/project">

-      <details key="start" value="14657"/>

-      <details key="end" value="14664"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.772" references="/0/HtmlReport/@body.5/@body.0/@body.23/discovery">

-      <details key="start" value="14593"/>

-      <details key="end" value="14614"/>

-      <details key="line" value="430"/>

-    </eAnnotations>

-    <eAnnotations source="positions.773" references="/0/HtmlReport/@body.5/@body.0/@body.23/@iterSet">

-      <details key="start" value="14617"/>

-      <details key="end" value="14630"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.774" references="/0/HtmlReport/@body.5/@body.0/@body.23/@iterSet/b">

-      <details key="start" value="14617"/>

-      <details key="end" value="14618"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.775" references="/0/HtmlReport/@body.5/@body.0/@body.24">

-      <details key="start" value="15145"/>

-      <details key="end" value="15319"/>

-      <details key="line" value="444"/>

-    </eAnnotations>

-    <eAnnotations source="positions.776" references="/0/HtmlReport/@body.5/@body.0/@fileUrl">

-      <details key="start" value="9768"/>

-      <details key="end" value="9798"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.777" references="/0/HtmlReport/@body.5/@body.0/@fileUrl/@source">

-      <details key="start" value="9768"/>

-      <details key="end" value="9790"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.778" references="/0/HtmlReport/@body.5/@body.0/@fileUrl/@source/@source">

-      <details key="start" value="9768"/>

-      <details key="end" value="9777"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.779" references="/0/HtmlReport/@body.5/@body.0/@fileUrl/@source/@argument.0">

-      <details key="start" value="9778"/>

-      <details key="end" value="9790"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.780" references="/0/HtmlReport/@body.5/@body.0/@fileUrl/@source/@argument.0/project">

-      <details key="start" value="9778"/>

-      <details key="end" value="9785"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.781" references="/0/HtmlReport/@body.5/@body.0/@fileUrl/@argument.0">

-      <details key="start" value="9791"/>

-      <details key="end" value="9798"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.782" references="/0/HtmlReport/@body.5/@body.0/@charset">

-      <details key="start" value="9807"/>

-      <details key="end" value="9814"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.783" references="/0/HtmlReport/@body.5/project">

-      <details key="start" value="9726"/>

-      <details key="end" value="9744"/>

-      <details key="line" value="292"/>

-    </eAnnotations>

-    <eAnnotations source="positions.784" references="/0/HtmlReport/@body.5/@iterSet">

-      <details key="start" value="9747"/>

-      <details key="end" value="9757"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.785" references="/0/HtmlReport/@body.5/@iterSet/b">

-      <details key="start" value="9747"/>

-      <details key="end" value="9748"/>

-      <details key="line" value="0"/>

-    </eAnnotations>

-    <eAnnotations source="positions.786" references="/0/HtmlReport/@body.6">

-      <details key="start" value="15334"/>

-      <details key="end" value="15335"/>

-      <details key="line" value="451"/>

-    </eAnnotations>

-    <eAnnotations source="positions.787" references="/0/HtmlReport/b">

-      <details key="start" value="1174"/>

-      <details key="end" value="1187"/>

-      <details key="line" value="9"/>

-    </eAnnotations>

-  </ecore:EAnnotation>

-</xmi:XMI>

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/HtmlReport.java b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/HtmlReport.java
index 79c9b89..93e3905 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/HtmlReport.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/HtmlReport.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2011 Obeo.
+ * Copyright (c) 2008, 2015 Obeo and Mia-Software.
  * 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
@@ -7,7 +7,9 @@
  * 
  * Contributors:
  *     Obeo - initial API and implementation
- *     Guillaume Doux - INRIA
+ *     Guillaume Doux (INRIA)
+ *     Grégoire Dupé (Mia-Software) - Bug 482672 - Benchmark command line interface
+ *     Grégoire Dupé (Mia-Software) - Bug 482857 - Discoverer Benchmark Report : wrong namespaces
  *******************************************************************************/
 package org.eclipse.modisco.infra.discovery.benchmark.core.internal.reporting;
 
@@ -36,7 +38,7 @@
      *
      * @generated
      */
-    public static final String MODULE_FILE_NAME = "/org/eclipse/modisco/infra/discovery/benchmark/reporting/HtmlReport";
+    public static final String MODULE_FILE_NAME = "/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/HtmlReport";
     
     /**
      * The name of the templates that are to be generated.
@@ -130,6 +132,13 @@
                 List<String> arguments = new ArrayList<String>();
                 
                 /*
+                 * If you want to change the content of this method, do NOT forget to change the "@generated"
+                 * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+                 * of the Acceleo module with the main template that has caused the creation of this class will
+                 * revert your modifications.
+                 */
+
+                /*
                  * Add in this list all the arguments used by the starting point of the generation
                  * If your main template is called on an element of your model and a String, you can
                  * add in "arguments" this "String" attribute.
@@ -139,14 +148,12 @@
                 
                 /*
                  * Add the properties from the launch arguments.
-                 * If you want to programmatically add new arguments, add them in "propertiesFiles"
+                 * If you want to programmatically add new properties, add them in "propertiesFiles"
                  * You can add the absolute path of a properties files, or even a project relative path.
                  * If you want to add another "protocol" for your properties files, please override 
                  * "getPropertiesLoaderService(AcceleoService)" in order to return a new property loader.
-                 * The basic properties loader will look for properties in the current project if the path
-                 * of the properties file is like this "packagea.packageb.packagec.default" for a properties
-                 * file named default.properties, or if the path is an absolute path. With a new property
-                 * loader you could for example, look for properties files in a bundle.
+                 * The behavior of the properties loader service is explained in the Acceleo documentation
+                 * (Help -> Help Contents).
                  */
                  
                 for (int i = 2; i < args.length; i++) {
@@ -183,6 +190,11 @@
 
         //org.eclipse.emf.ecore.util.EcoreUtil.resolveAll(model);
 
+        /*
+         * If you want to check for potential errors in your models before the launch of the generation, you
+         * use the code below.
+         */
+
         //if (model != null && model.eResource() != null) {
         //    List<org.eclipse.emf.ecore.resource.Resource.Diagnostic> errors = model.eResource().getErrors();
         //    for (org.eclipse.emf.ecore.resource.Resource.Diagnostic diagnostic : errors) {
@@ -261,13 +273,38 @@
     @Override
     public List<String> getProperties() {
         /*
+         * If you want to change the content of this method, do NOT forget to change the "@generated"
+         * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+         * of the Acceleo module with the main template that has caused the creation of this class will
+         * revert your modifications.
+         */
+
+        /*
          * TODO if your generation module requires access to properties files, add their qualified path to the list here.
-         * Properties files are expected to be in source folders, and the path here to be the qualified path as if referring
-         * to a Java class. For example, if you have a file named "messages.properties" in package "org.eclipse.acceleo.sample",
-         * the path that needs be added to this list is "org.eclipse.acceleo.sample.messages". If you want to change the content
-         * of this method, do NOT forget to change the "@generated" tag in the Javadoc of this method to "@generated NOT".
-         * Without this new tag, any compilation of the Acceleo module with the main template that has caused the creation of 
-         * this class will revert your modifications.
+         * 
+         * Properties files can be located in an Eclipse plug-in or in the file system (all Acceleo projects are Eclipse
+         * plug-in). In order to use properties files located in an Eclipse plugin, you need to add the path of the properties
+         * files to the "propertiesFiles" list:
+         * 
+         * final String prefix = "platform:/plugin/";
+         * final String pluginName = "org.eclipse.acceleo.module.sample";
+         * final String packagePath = "/org/eclipse/acceleo/module/sample/properties/";
+         * final String fileName = "default.properties";
+         * propertiesFiles.add(prefix + pluginName + packagePath + fileName);
+         * 
+         * With this mechanism, you can load properties files from your plugin or from another plugin.
+         * 
+         * You may want to load properties files from the file system, for that you need to add the absolute path of the file:
+         * 
+         * propertiesFiles.add("C:\Users\MyName\MyFile.properties");
+         * 
+         * If you want to let your users add properties files located in the same folder as the model:
+         *
+         * if (EMFPlugin.IS_ECLIPSE_RUNNING && model != null && model.eResource() != null) { 
+         *     propertiesFiles.addAll(AcceleoEngineUtils.getPropertiesFilesNearModel(model.eResource()));
+         * }
+         * 
+         * To learn more about Properties Files, have a look at the Acceleo documentation (Help -> Help Contents).
          */
         return propertiesFiles;
     }
@@ -280,6 +317,9 @@
      * @generated
      * @since 3.1
      */
+    /*
+    @Override
+    */
     public void addPropertiesFile(String propertiesFile) {
         this.propertiesFiles.add(propertiesFile);
     }
@@ -305,35 +345,42 @@
     @Override
     public void registerPackages(ResourceSet resourceSet) {
         super.registerPackages(resourceSet);
-        //gdupe> The method isInWorkspace() does not exists in Helios. This avoid
-        // to be install MoDisco on an Helios. The code generator is not used in a
-        // workspace context : we do not need explicit load of the meta-models
-        // That why I've commented the following lines.
         /*
+         * If you want to change the content of this method, do NOT forget to change the "@generated"
+         * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+         * of the Acceleo module with the main template that has caused the creation of this class will
+         * revert your modifications.
+         */
         if (!isInWorkspace(org.eclipse.modisco.infra.discovery.catalog.CatalogPackage.class)) {
             resourceSet.getPackageRegistry().put(org.eclipse.modisco.infra.discovery.catalog.CatalogPackage.eINSTANCE.getNsURI(), org.eclipse.modisco.infra.discovery.catalog.CatalogPackage.eINSTANCE);
         }
         if (!isInWorkspace(org.eclipse.modisco.infra.discovery.launch.LaunchPackage.class)) {
             resourceSet.getPackageRegistry().put(org.eclipse.modisco.infra.discovery.launch.LaunchPackage.eINSTANCE.getNsURI(), org.eclipse.modisco.infra.discovery.launch.LaunchPackage.eINSTANCE);
         }
-        */
+        
         /*
-         * TODO If you need additional package registrations, you can register them here. The following line
-         * (in comment) is an example of the package registration for UML. If you want to change the content
-         * of this method, do NOT forget to change the "@generated" tag in the Javadoc of this method to
-         * "@generated NOT". Without this new tag, any compilation of the Acceleo module with the main template
-         * that has caused the creation of this class will revert your modifications. You can use the method
-         * "isInWorkspace(Class c)" to check if the package that you are about to register is in the workspace.
-         * To register a package properly, please follow the following conventions:
+         * If you need additional package registrations, you can register them here. The following line
+         * (in comment) is an example of the package registration for UML.
          * 
+         * You can use the method  "isInWorkspace(Class c)" to check if the package that you are about to
+         * register is in the workspace.
+         * 
+         * To register a package properly, please follow the following conventions:
+         *
+         * If the package is located in another plug-in, already installed in Eclipse. The following content should
+         * have been generated at the beginning of this method. Do not register the package using this mechanism if
+         * the metamodel is located in the workspace.
+         *  
          * if (!isInWorkspace(UMLPackage.class)) {
          *     // The normal package registration if your metamodel is in a plugin.
          *     resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
-         * } else {
-         *     // The package registration that will be used if the metamodel is not deployed in a plugin.
-         *     // This should be used if your metamodel is in your workspace and if you are using binary resource serialization.
-         *     resourceSet.getPackageRegistry().put("/myproject/myfolder/mysubfolder/MyUMLMetamodel.ecore", UMLPackage.eINSTANCE);
          * }
+         * 
+         * If the package is located in another project in your workspace, the plugin containing the package has not
+         * been register by EMF and Acceleo should register it automatically. If you want to use the generator in
+         * stand alone, the regular registration (seen a couple lines before) is needed.
+         * 
+         * To learn more about Package Registration, have a look at the Acceleo documentation (Help -> Help Contents).
          */
     }
 
@@ -348,11 +395,19 @@
     public void registerResourceFactories(ResourceSet resourceSet) {
         super.registerResourceFactories(resourceSet);
         /*
+         * If you want to change the content of this method, do NOT forget to change the "@generated"
+         * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+         * of the Acceleo module with the main template that has caused the creation of this class will
+         * revert your modifications.
+         */
+        
+        /*
          * TODO If you need additional resource factories registrations, you can register them here. the following line
-         * (in comment) is an example of the resource factory registration for UML. If you want to change the content
-         * of this method, do NOT forget to change the "@generated" tag in the Javadoc of this method to "@generated NOT".
-         * Without this new tag, any compilation of the Acceleo module with the main template that has caused the creation
-         * of this class will revert your modifications. 
+         * (in comment) is an example of the resource factory registration for UML.
+         *
+         * If you want to use the generator in stand alone, the resource factory registration will be required.
+         *  
+         * To learn more about the registration of Resource Factories, have a look at the Acceleo documentation (Help -> Help Contents). 
          */ 
         
         // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/HtmlReport.mtl b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/HtmlReport.mtl
index 1dd5b60..09c7362 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/HtmlReport.mtl
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/HtmlReport.mtl
@@ -1,148 +1,110 @@
 [comment encoding = UTF-8 /]
 [comment /*******************************************************************************
- * Copyright (c) 2012 INRIA. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse
- * Public License v1.0 which accompanies this distribution, and is available at
+ * Copyright (c) 2012, 2015 INRIA, and Mia-Software.
+ * All rights reserved. This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License v1.0 which 
+ * accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  * 
- * Contributors: Guillaume Doux - INRIA - Initial API and implementation
- * 
+ * Contributors:
+ *    Guillaume Doux (INRIA) - Initial API and implementation
+ *    Grégoire Dupé (Mia-Software) - Bug 482672 - Benchmark command line interface
+ *    Grégoire Dupé (Mia-Software) - Bug 482857 - Discoverer Benchmark Report : wrong namespaces
+ *    Grégoire Dupé (Mia-Software) - Bug 483400 - The input size should be computable by the discoverer
  ******************************************************************************/ /]
-[module HtmlReport('http://www.eclipse.org/modisco/infra/discovery/0.1.incubation/benchmark','http://www.eclipse.org/MoDisco/Discovery/0.1.incubation/discovery/catalog','http://www.eclipse.org/MoDisco/Discovery/0.1.incubation/discovery/launch')/]
+[module HtmlReport(
+	'http://www.eclipse.org/modisco/infra/discovery/benchmark/0.11.incubation/internal/benchmark',
+	'http://www.eclipse.org/MoDisco/Discovery/0.1.incubation/discovery/catalog',
+	'http://www.eclipse.org/MoDisco/Discovery/0.1.incubation/discovery/launch')
+/]
 
-[query public maxExecutionTime (iterations : Set(DiscoveryIteration)) : Real = invoke('org.eclipse.modisco.infra.discovery.benchmark.reporting.internal.ReportingUtilities', 'maxExecutionTime(java.util.Collection)', Sequence{iterations})/]
-[query public maxSaveTime (iterations : Set(DiscoveryIteration)) : Real = invoke('org.eclipse.modisco.infra.discovery.benchmark.reporting.internal.ReportingUtilities', 'maxSaveTime(java.util.Collection)', Sequence{iterations})/]
-[query public sizeWithUnit (value : Real) : String = invoke('org.eclipse.modisco.infra.discovery.benchmark.reporting.internal.ReportingUtilities', 'sizeWithUnit(java.lang.Double)', Sequence{value})/]
-[query public timeWithUnit (value : Real) : String = invoke('org.eclipse.modisco.infra.discovery.benchmark.reporting.internal.ReportingUtilities', 'timeWithUnit(java.lang.Double)', Sequence{value})/]
+[query public maxExecutionTime (iterations : Set(DiscoveryIteration)) : Real = invoke('org.eclipse.modisco.infra.discovery.benchmark.core.internal.reporting.internal.ReportingUtilities', 'maxExecutionTime(java.util.Collection)', Sequence{iterations})/]
+[query public maxSaveTime (iterations : Set(DiscoveryIteration)) : Real = invoke('org.eclipse.modisco.infra.discovery.benchmark.core.internal.reporting.internal.ReportingUtilities', 'maxSaveTime(java.util.Collection)', Sequence{iterations})/]
+[query public sizeWithUnit (value : Real) : String = invoke('org.eclipse.modisco.infra.discovery.benchmark.core.internal.reporting.internal.ReportingUtilities', 'sizeWithUnit(java.lang.Double)', Sequence{value})/]
+[query public timeWithUnit (value : Real) : String = invoke('org.eclipse.modisco.infra.discovery.benchmark.core.internal.reporting.internal.ReportingUtilities', 'timeWithUnit(java.lang.Double)', Sequence{value})/]
+[query public indexOf (list : Sequence(OclAny), object : OclAny) : Integer = 
+	invoke(
+		'org.eclipse.modisco.infra.discovery.benchmark.core.internal.reporting.internal.ReportingUtilities',
+		'indexOf(java.util.List, java.lang.Object)', Sequence{list, object})/]
 
 [template public HtmlReport(b : Benchmark)]
-	
-	[comment @main /]
-	[file ('discoveryReport.html', false, 'UTF-8')]
-	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
-<head>
+[comment @main /]
+[reportIndex(b)/]
+[for (discovery : Discovery | b.discoveries) ]
+[discovererReport(discovery)/]
+[/for]
+[for (discovery : Discovery | b.discoveries) ]
+	[discoveryReport(discovery)/]
+[/for]
+[for (project : Project | b.projects) ]
+	[projectReport(project, b)/]
+[/for]
+[/template]
 
-<style type="text/css">
-  .graph {
-    background-color: #E0E0E0;
-    border: solid 1px black;
-  }
-  .graph td {
-    font-family: verdana, arial, sans serif;
-  }
-  .bar {
-    background-color: white;
-    text-align: right;
-    border: solid 1px black;
-    width: 400px;
-  }
-  .bar div { 
-    background-color: #A0A0FF;
-    text-align: right;
-    float: left;
-    height: 20px;
-  }
-  body {
-    background-color: white;
-  }
-  td {
-    text-align: center;
-  }
-</style>
-
-<title>MoDisco Java Discover Benchmark</title>
-</head>
-
-<body>
-
-
-
+[template private reportIndex(b : Benchmark)]
+[file ('discoveryReport.html', false, 'UTF-8')]
+[head('MoDisco Java Discover Benchmark')/]
 <h2>System Information</h2>
   <table border="1" cellpadding="2" cellspacing="0">
     <tr>
        <th>OS name</th>
        <td>[b.osName/]</td>
     </tr>
-       
     <tr>
        <th>OS version</th>
        <td>[b.osVersion/]</td>
     </tr>
-       
     <tr>
        <th>OS architecture</th>
        <td>[b.osArchitecture/]</td>
     </tr>
-       
     <tr>
        <th>Number of processor cores</th>
        <td>[b.processorCount/]</td>
     </tr>
-
     <tr>
        <th>Processor name</th>
        <td>[b.processorName/]</td>
     </tr>
-
     <tr>
        <th>Processor description</th>
        <td>[b.processorDescription/]</td>
     </tr>
-
     <tr>
        <th>Processor cache size</th>
        <td>[b.processorCacheSize/]</td>
     </tr>
-
     <tr>
        <th>System memory</th>
        <td>[b.systemMemory/]</td>
     </tr>
   </table>
-
-
 <h2>Execution time by project size</h2>
-
 <img src="DiscoveryTimeByProjectSizeOverall.png"/>
-
-
 [if (b.discoveries->first().iterations->first().maxUsedMemoryInBytes<>0)]
 <h2>Memory use time by project size</h2>
-
 <img src="memoryByProjectSizeOverall.png"/>
-
 [/if]
-
-
 <h2>Results Overview</h2>
-
   <table border="1" cellpadding="2" cellspacing="0">
     <tr>
        <th>Project</th>
-	   <th>Discoverer</th>
+       <th>Discoverer</th>
+       <th>Discoveries</th>
+       <th>Project size</th>
        <th>Average discovery time</th>
        <th>Average save time</th>
        <th>Number of model elements</th>
-       <th>Total size</th>
-       <th>Average file size</th>
-       <th>Total lines</th>
-       <th>Average lines per file</th>
-       <th>XMI size</th>
      </tr>
      [for (discovery : Discovery | b.discoveries) ]
-       	  <tr>
+          <tr>
             <td><a href="Report/[discovery.project.name/].html">[discovery.project.name/]</a></td>
-			<td><a href="Report/[discovery.discovererId+discovery.project.name/].html">[discovery.discovererId/]</a></td>
+            <td><a href="Report/[discovery.discovererId/].html">[discovery.discovererId/]</a></td>
+            			<td><a href="Report/[discovery.project.name+'/'+discovery.discovererId/].html">Discoveries</a></td>
+            <td>[discovery.project.oclAsType(Project).inputSize/][discovery.project.oclAsType(Project).inputSizeUnit/]</td>
             <td>[timeWithUnit(0.0 + discovery.discoveryTimeAverageInSeconds)/] (&sigma; = [timeWithUnit(0.0 + discovery.executionTimeStandardDeviation)/]s)</td>
             <td>[timeWithUnit(0.0 + discovery.saveTimeAverageInSeconds)/] (&sigma; = [timeWithUnit(0.0 + discovery.saveTimeStandardDeviation)/]s)</td>
             <td>[discovery.numberOfModelElements/]</td>
-            <td>[sizeWithUnit(0.0 + discovery.project.oclAsType(Project).totalSizeInBytes)/]</td>
-            <td>[sizeWithUnit(0.0 + discovery.project.oclAsType(Project).averageFileSizeInBytes)/]</td>
-            <td>[discovery.project.oclAsType(Project).totalLines/]</td>
-            <td>[discovery.project.oclAsType(Project).averageLinesPerFile/]</td>
-            <td>[sizeWithUnit(0.0 +discovery.xmiSizeInBytes)/]</td>
          </tr>
      [/for]
   </table>
@@ -170,78 +132,32 @@
 [/for]
 
 <h2>Save times per iteration</h2>
-
 [for (discovery : Discovery | b.discoveries) ]
 <h3>[discovery.project.name/] with <a href="Report/[discovery.discovererId+discovery.project.name/].html">[discovery.discovererId/]</a></h3>
 [let maxSaveTime : Real = maxSaveTime(discovery.iterations)]
-
 <table width="600" class="graph" cellspacing="6" cellpadding="0">
   <tr>
     <th>iteration</th><th>relative save time</th><th>time(s)</th>
   </tr>
-
 [for (discoveryIteration : DiscoveryIteration | discovery.iterations)]
     <tr>
       <td>[i/]/[discovery.iterations->size()/]</td><td class="bar"><div style="width: [discoveryIteration.saveTimeInSeconds / maxSaveTime * 100.0/]%"></div></td><td>[timeWithUnit(0.0 + discoveryIteration.saveTimeInSeconds)/]</td>
     </tr>
 [/for]
 </table>
-
 [/let]
 [/for]
-
-
 [/if]
-
 <p/>
 <hr/>
 <font size="-1"><i>This report has been generated with <a href="http://www.eclipse.org/MoDisco/">MoDisco</a> Java Discoverer Benchmark.</i></font>
 </body></html>
 [/file]
+[/template]
 
-
-
-[for (discovery : Discovery | b.discoveries) ]
-[file ('Report/'+discovery.discovererId+discovery.project.name+'.html', false, 'UTF-8')]
-	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
-<head>
-
-<style type="text/css">
-  .graph {
-    background-color: #E0E0E0;
-    border: solid 1px black;
-  }
-  .graph td {
-    font-family: verdana, arial, sans serif;
-  }
-  .bar {
-    background-color: white;
-    text-align: right;
-    border: solid 1px black;
-    width: 400px;
-  }
-  .bar div { 
-    background-color: #A0A0FF;
-    text-align: right;
-    float: left;
-    height: 20px;
-  }
-  body {
-    background-color: white;
-  }
-  td {
-    text-align: center;
-  }
-</style>
-
-<title>[discovery.name/]</title>
-</head>
-
-<body>
-
-<h1>[discovery.name/]</h1>
+[template public discoveryReport(discovery : Discovery)]
+[file ('Report/'+discovery.project.name+'/'+discovery.discovererId+'.html', false, 'UTF-8')]
+[head(discovery.name+' on '+discovery.project.name)/]
 <h2>General discovery information</h2>
 <b>name</b>: [discovery.name/]<br/>
 <b>discoverer</b>: [discovery.discovererId/] ([discovery.discovererClassName/])<br/>
@@ -251,94 +167,37 @@
 <b>save time standard deviation</b>: [timeWithUnit(0.0 + discovery.saveTimeStandardDeviation)/]<br/>
 <b>number of model elements</b>: [discovery.numberOfModelElements/]<br/>
 <b>size of the xmi file in bytes</b>: [sizeWithUnit(0.0 + discovery.xmiSizeInBytes)/]<br/>
-
 <h3>Project information</h3>
 <b>Project name</b>: <a href="[discovery.project.name/].html">[discovery.project.name/]</a><br/>
 <b>total number of lines</b>: [discovery.project.oclAsType(Project).totalLines/]<br/>
 <b>average number of lines per files</b>: [discovery.project.oclAsType(Project).averageLinesPerFile/]<br/>
 <b>average file size in bytes</b>: [sizeWithUnit(0.0 + discovery.project.oclAsType(Project).averageFileSizeInBytes)/]<br/>
 <b>total size in bytes</b>: [sizeWithUnit(0.0 + discovery.project.totalSizeInBytes)/]<br/>
-
-<img src="../DiscoveryTimeByProjectSize[discovery.discovererId/].png"/>
-[if (discovery.iterations->first().maxUsedMemoryInBytes<>0)]
-<img src="../memoryByProjectSize[discovery.discovererId/].png"/>
-[/if]
-
-[if (discovery.iterations->size() > 1)]
-[for (iteration : DiscoveryIteration | discovery.iterations) separator ('<hr/>')]
-<h2>iteration [i/]</h2>
-<b>date</b>: [iteration.discoveryDate/]<br/>
-<b>save time</b>: [timeWithUnit(0.0 + iteration.saveTimeInSeconds)/]<br/>
-<b>discovery time</b>: [timeWithUnit(0.0 + iteration.discoveryTimeInSeconds)/]<br/>
-<b>max used memory</b>: [sizeWithUnit(0.0 + iteration.maxUsedMemoryInBytes)/]<br/>
-
-[if (discovery.iterations->first().maxUsedMemoryInBytes<>0)]
-<img src="../memoryByTime[discovery.discovererId/]_[iteration.discoveryDate.toString().replaceAll(' ', '_').replaceAll(':', '-')/].png"/>
-[/if]
-
-[if (not iteration.discoveryErrors.oclIsUndefined())]
-<font color="red">
-<h3>discovery errors</h3>
-[for (error : String | iteration.discoveryErrors) ]
-[error/]<br/>
-</font>
-[/for]
-[/if]
-[/for]
-[/if]
-
-
-
-
-<p/>
+	[for (iteration : DiscoveryIteration | discovery.iterations) separator ('<hr/>')]
+	<h2>iteration [i/]</h2>
+	<b>date</b>: [iteration.discoveryDate/]<br/>
+	<b>save time</b>: [timeWithUnit(0.0 + iteration.saveTimeInSeconds)/]<br/>
+	<b>discovery time</b>: [timeWithUnit(0.0 + iteration.discoveryTimeInSeconds)/]<br/>
+	<b>max used memory</b>: [sizeWithUnit(0.0 + iteration.maxUsedMemoryInBytes)/]<br/>
+	<img src="[discovery.discovererId/]/memoryByTime-[indexOf(discovery.iterations->asSequence(),iteration)/].png"/>
+		[if (not iteration.discoveryErrors.oclIsUndefined())]
+		<font color="red">
+		<h3>discovery errors</h3>
+			[for (error : String | iteration.discoveryErrors) ]
+			[error/]<br/>
+			</font>
+			[/for]
+		[/if]
+	[/for]
 <hr/>
 <font size="-1"><i>This report has been generated with <a href="http://www.eclipse.org/MoDisco/">MoDisco</a> Java Discoverer Benchmark.</i></font>
 </body></html>
 [/file]
-[/for]
+[/template]
 
-
-[for (project : Resource | b.projects) ]
+[template private projectReport(project : Project, b : Benchmark)]
 [file ('Report/'+project.name+'.html', false, 'UTF-8')]
-	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
-<head>
-
-<style type="text/css">
-  .graph {
-    background-color: #E0E0E0;
-    border: solid 1px black;
-  }
-  .graph td {
-    font-family: verdana, arial, sans serif;
-  }
-  .bar {
-    background-color: white;
-    text-align: right;
-    border: solid 1px black;
-    width: 400px;
-  }
-  .bar div { 
-    background-color: #A0A0FF;
-    text-align: right;
-    float: left;
-    height: 20px;
-  }
-  body {
-    background-color: white;
-  }
-  td {
-    text-align: center;
-  }
-</style>
-
-<title>[project.oclAsType(Project).name/]</title>
-</head>
-
-<body>
-
-<h1>[project.oclAsType(Project).name/]</h1>
+[head(project.oclAsType(Project).name)/]
 
 <h2>Project information</h2>
 <b>Project name</b>: <a href="Report/[project.oclAsType(Project).name/].html">[project.oclAsType(Project).name/]</a><br/>
@@ -346,11 +205,8 @@
 <b>average number of lines per files</b>: [project.oclAsType(Project).averageLinesPerFile/]<br/>
 <b>average file size in bytes</b>: [sizeWithUnit(0.0 + project.oclAsType(Project).averageFileSizeInBytes)/]<br/>
 <b>total size in bytes</b>: [sizeWithUnit(0.0 + project.totalSizeInBytes)/]<br/>
-
 <h2>Discoveries on the project</h2>
-
 <h3>Results Overview</h3>
-
   <table border="1" cellpadding="2" cellspacing="0">
     <tr>
        <th>Project</th>
@@ -364,12 +220,11 @@
        <th>Average lines per file</th>
        <th>XMI size</th>
      </tr>
-
 [for (discovery : Discovery | b.discoveries)]
 	[if (discovery.project=project)]
        	  <tr>
             <td><a href="[discovery.project.name/].html">[discovery.project.name/]</a></td>
-			<td><a href="[discovery.discovererId+discovery.project.name/].html">[discovery.discovererId/]</a></td>
+			<td><a href="[discovery.project.name+'/'+discovery.discovererId/].html">[discovery.discovererId/]</a></td>
             <td>[timeWithUnit(0.0 + discovery.discoveryTimeAverageInSeconds)/] (&sigma; = [timeWithUnit(0.0 + discovery.executionTimeStandardDeviation)/]s)</td>
             <td>[timeWithUnit(0.0 + discovery.saveTimeAverageInSeconds)/] (&sigma; = [timeWithUnit(0.0 + discovery.saveTimeStandardDeviation)/]s)</td>
             <td>[discovery.numberOfModelElements/]</td>
@@ -382,9 +237,7 @@
 	[/if]
 [/for]
   </table>
-
 <h3>Detailed Information</h3>
-
 [for (discovery : Discovery | b.discoveries)]
 	[if (discovery.project=project)]
 		[if (discovery.iterations->size() > 1)]
@@ -400,8 +253,8 @@
 
 			[for (discoveryIteration : DiscoveryIteration | discovery.iterations)]
 			<tr>
-     			 <td>[i/]/[discovery.iterations->size()/]</td><td class="bar"><div style="width: [discoveryIteration.discoveryTimeInSeconds / maxExecutionTime * 100.0/]%"></div></td><td>[timeWithUnit(0.0 + discoveryIteration.discoveryTimeInSeconds)/]</td>
-    		</tr>
+				<td>[i/]/[discovery.iterations->size()/]</td><td class="bar"><div style="width: [discoveryIteration.discoveryTimeInSeconds / maxExecutionTime * 100.0/]%"></div></td><td>[timeWithUnit(0.0 + discoveryIteration.discoveryTimeInSeconds)/]</td>
+			</tr>
 			[/for]
 			</table>
 
@@ -409,33 +262,28 @@
 		[/if]
 	[/if]
 [/for]
-
-
 [for (discovery : Discovery | b.discoveries)]
 	[if (discovery.project=project)]
 		[if (discovery.iterations->size() > 1)]
 		<h4>Save times per iteration</h4>
-
 		<h5><a href="[discovery.project.name/].html">[discovery.project.name/]</a> with <a href="[discovery.discovererId+discovery.project.name/].html">[discovery.discovererId/]</a></h5>
 		[let maxSaveTime : Real = maxSaveTime(discovery.iterations)]
-
 		<table width="600" class="graph" cellspacing="6" cellpadding="0">
-  		<tr>
-    		<th>iteration</th><th>relative save time</th><th>time(s)</th>
-  		</tr>
-
+		<tr>
+			<th>iteration</th><th>relative save time</th><th>time(s)</th>
+		</tr>
 		[for (discoveryIteration : DiscoveryIteration | discovery.iterations)]
-    		<tr>
-      			<td>[i/]/[discovery.iterations->size()/]</td><td class="bar"><div style="width: [discoveryIteration.saveTimeInSeconds / maxSaveTime * 100.0/]%"></div></td><td>[timeWithUnit(0.0 + discoveryIteration.saveTimeInSeconds)/]</td>
-    		</tr>
+		<tr>
+			<td>[i/]/[discovery.iterations->size()/]</td>
+			<td class="bar"><div style="width: [discoveryIteration.saveTimeInSeconds / maxSaveTime * 100.0/]%"></div></td>
+			<td>[timeWithUnit(0.0 + discoveryIteration.saveTimeInSeconds)/]</td>
+		</tr>
 		[/for]
 		</table>
-
 		[/let]
 		[/if]
 	[/if]
 [/for]
-
 [for (discovery : Discovery | b.discoveries)]
 	[if (discovery.project=project)]
 		[for (iteration : DiscoveryIteration | discovery.iterations)]
@@ -450,12 +298,75 @@
 		[/for]
 	[/if]
 [/for]
-
 <p/>
 <hr/>
 <font size="-1"><i>This report has been generated with <a href="http://www.eclipse.org/MoDisco/">MoDisco</a> Java Discoverer Benchmark.</i></font>
 </body></html>
 [/file]
-[/for]
+[/template]
 
+[template private discovererReport(discovery : Discovery)]
+[file ('Report/'+discovery.discovererId+'.html', false, 'UTF-8')]
+	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+[style()/]
+<title>[discovery.name/]</title>
+</head>
+<body>
+<h1>[discovery.name/]</h1>
+<h2>General discovery information</h2>
+<b>name</b>: [discovery.name/]<br/>
+<b>discoverer</b>: [discovery.discovererId/] ([discovery.discovererClassName/])<br/>
+<img src="avgTimeBySize_[discovery.discovererId/].png"/>
+[if (discovery.iterations->first().maxUsedMemoryInBytes<>0)]
+<img src="avgMemoryByProjectSize_[discovery.discovererId/].png"/>
+[/if]
+<hr/>
+<font size="-1"><i>This report has been generated with <a href="http://www.eclipse.org/MoDisco/">MoDisco</a> Java Discoverer Benchmark.</i></font>
+</body></html>
+[/file]
+[/template]
+
+[template private style(any : OclAny)]
+<style type="text/css">
+  .graph {
+    background-color: #E0E0E0;
+    border: solid 1px black;
+  }
+  .graph td {
+    font-family: verdana, arial, sans serif;
+  }
+  .bar {
+    background-color: white;
+    text-align: right;
+    border: solid 1px black;
+    width: 400px;
+  }
+  .bar div { 
+    background-color: #A0A0FF;
+    text-align: right;
+    float: left;
+    height: 20px;
+  }
+  body {
+    background-color: white;
+  }
+  td {
+    text-align: center;
+  }
+</style>
+[/template]
+
+[template private head(title : String)]
+	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+[style()/]
+<title>[title/]</title>
+</head>
+<body>
+<h1>[title/]</h1>
 [/template]
diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/internal/BenchmarkChartGeneration.java b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/internal/BenchmarkChartGeneration.java
index 543071c..2bd7363 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/internal/BenchmarkChartGeneration.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/internal/BenchmarkChartGeneration.java
@@ -1,11 +1,13 @@
 /*******************************************************************************

- * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- * accompanying materials are made available under the terms of the Eclipse

- * Public License v1.0 which accompanies this distribution, and is available at

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials are made

+ * available under the terms of the Eclipse Public License v1.0 which 

+ * accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

  * 

- * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- * 

+ * Contributors:

+ *     Guillaume Doux - INRIA - Initial API and implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  ******************************************************************************/

 

 package org.eclipse.modisco.infra.discovery.benchmark.core.internal.reporting.internal;

@@ -14,11 +16,13 @@
 import java.util.ArrayList;

 import java.util.List;

 

+import org.eclipse.modisco.infra.discovery.benchmark.core.internal.Messages;

 import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Benchmark;

 import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Discovery;

 import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.DiscoveryIteration;

 import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Event;

 import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.MemoryMeasurement;

+import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project;

 import org.eclipse.modisco.utils.chart.birt.core.internal.exported.BirtGraphHelper;

 import org.eclipse.modisco.utils.chart.metamodel.internal.chart.Axe;

 import org.eclipse.modisco.utils.chart.metamodel.internal.chart.Chart;

@@ -26,6 +30,7 @@
 import org.eclipse.modisco.utils.chart.metamodel.internal.chart.Coordinate;

 import org.eclipse.modisco.utils.chart.metamodel.internal.chart.Point;

 import org.eclipse.modisco.utils.chart.metamodel.internal.chart.Serie;

+import org.eclipse.osgi.util.NLS;

 

 /**

  * Class preparing and launching the chart generation in Birt

@@ -34,10 +39,10 @@
  */

 public class BenchmarkChartGeneration {

 

-	private File location;

-	private boolean measureMemory;

-	private ChartFactory factory;

-	private BirtGraphHelper helper;

+	private final File location;

+	private final boolean measureMemory;

+	private final ChartFactory factory;

+	private final BirtGraphHelper helper;

 

 	public static final double MEGABYTE = 1024.0 * 1024.0;

 

@@ -61,7 +66,7 @@
 

 	public void createDiscoveryTimeAsProjectSizeFull(final Benchmark b) throws Exception {

 		createDiscoveryTimeAsProjectSizeOverallAveraged(b);

-		List<String> testedDiscoverers = new ArrayList<String>();

+		final List<String> testedDiscoverers = new ArrayList<String>();

 		for (Discovery d : b.getDiscoveries()) {

 			if (!testedDiscoverers.contains(d.getDiscovererId())) {

 				createDiscoveryTimeAsProjectSizeAveraged(b, d);

@@ -71,45 +76,54 @@
 	}

 

 	private void createDiscoveryTimeAsProjectSizeAveraged(final Benchmark b, final Discovery d) throws Exception {

-		Chart chart = this.factory.createChart();

-		chart.setTitle("Discovery time by project size for" + d.getDiscovererId());

-		Serie s = this.factory.createSerie();

-		s.setName(d.getDiscovererId());

-		chart.getSeries().add(s);

-		Axe size = this.factory.createAxe();

-		Axe time = this.factory.createAxe();

-		size.setUnit("megabytes");

-		size.setLegend("project size");

-		time.setUnit("secondes");

-		time.setLegend("Discovery Time");

+		final Chart chart = this.factory.createChart();

+		final String title = NLS.bind(

+				Messages.BenchmarkChartGeneration_AvgTimeByPrjSizeFor,

+				d.getDiscovererId());

+		chart.setTitle(title);

+		final Serie series = this.factory.createSerie();

+		series.setName(d.getDiscovererId());

+		chart.getSeries().add(series);

+		final Axe size = this.factory.createAxe();

+		final Axe time = this.factory.createAxe();

+		size.setLegend(Messages.BenchmarkChartGeneration_PrjSize);

+		time.setUnit("secondes"); //$NON-NLS-1$

+		time.setLegend(Messages.BenchmarkChartGeneration_DiscoTime);

 		chart.getAxes().add(size);

 		chart.getAxes().add(time);

 		for (Discovery dtemp : b.getDiscoveries()) {

 			if (dtemp.getDiscovererId().equals(d.getDiscovererId())) {

-				Point p = this.factory.createPoint();

-				p.setSerie(s);

-				Coordinate t = this.factory.createCoordinate();

+				final Point point = this.factory.createPoint();

+				point.setSerie(series);

+				final Coordinate t = this.factory.createCoordinate();

 				t.setAxe(size);

-				t.setValue(dtemp.getProject().getTotalSizeInBytes() / MEGABYTE);

-				Coordinate m = this.factory.createCoordinate();

+				final Project project = (Project) dtemp.getProject();

+				size.setUnit(project.getInputSizeUnit());

+				t.setValue(project.getInputSize());

+				final Coordinate m = this.factory.createCoordinate();

 				m.setAxe(time);

 				m.setValue(dtemp.getDiscoveryTimeAverageInSeconds());

-				p.getCoordinates().add(t);

-				p.getCoordinates().add(m);

+				point.getCoordinates().add(t);

+				point.getCoordinates().add(m);

 			}

 		}

-		this.helper.createBirtGraph(chart, this.location, "DiscoveryTimeByProjectSize" + d.getDiscovererId());

+		final String fileName = String.format("avgTimeBySize_%s", //$NON-NLS-1$

+				d.getDiscovererId());

+		final File reportDir = new File(this.location, "Report"); //$NON-NLS-1$

+		if (!reportDir.exists()) {

+			reportDir.mkdirs();

+		}

+		this.helper.createBirtGraph(chart, reportDir, fileName);

 	}

 

 	private void createDiscoveryTimeAsProjectSizeOverallAveraged(final Benchmark b) throws Exception {

 		Chart chart = this.factory.createChart();

-		chart.setTitle("Discovery time by project size overall");

+		chart.setTitle(Messages.BenchmarkChartGeneration_DiscoTimeByPrjSizeOverall);

 		Axe size = this.factory.createAxe();

 		Axe time = this.factory.createAxe();

-		size.setUnit("megabytes");

-		size.setLegend("project size");

-		time.setUnit("secondes");

-		time.setLegend("Discovery Time");

+		size.setLegend(Messages.BenchmarkChartGeneration_PrjSize);

+		time.setUnit("secondes"); //$NON-NLS-1$

+		time.setLegend(Messages.BenchmarkChartGeneration_DiscoTime);

 		chart.getAxes().add(size);

 		chart.getAxes().add(time);

 		List<String> testedDiscoverers = new ArrayList<String>();

@@ -124,7 +138,9 @@
 						p.setSerie(s);

 						Coordinate t = this.factory.createCoordinate();

 						t.setAxe(size);

-						t.setValue(dtemp.getProject().getTotalSizeInBytes() / MEGABYTE);

+						final Project project = (Project) dtemp.getProject();

+						size.setUnit(project.getInputSizeUnit());

+						t.setValue(project.getInputSize());

 						Coordinate m = this.factory.createCoordinate();

 						m.setAxe(time);

 						m.setValue(dtemp.getDiscoveryTimeAverageInSeconds());

@@ -135,7 +151,8 @@
 				testedDiscoverers.add(d.getDiscovererId());

 			}

 		}

-		this.helper.createBirtGraph(chart, this.location, "DiscoveryTimeByProjectSizeOverall");

+		this.helper.createBirtGraph(chart, this.location,

+				"DiscoveryTimeByProjectSizeOverall"); //$NON-NLS-1$

 	}

 

 

@@ -155,16 +172,18 @@
 

 	private void createMemoryUsedAsProjectSizeAveraged(final Benchmark b, final Discovery d) throws Exception {

 		Chart chart = this.factory.createChart();

-		chart.setTitle("Memory used by project size for" + d.getDiscovererId());

+		final String title = NLS.bind(

+				Messages.BenchmarkChartGeneration_AvgUsedMemByPrjSizeFor,

+				d.getDiscovererId());

+		chart.setTitle(title);

 		Serie s = this.factory.createSerie();

 		s.setName(d.getDiscovererId());

 		chart.getSeries().add(s);

 		Axe size = this.factory.createAxe();

 		Axe memory = this.factory.createAxe();

-		size.setUnit("megabytes");

-		size.setLegend("project size");

-		memory.setUnit("megabytes");

-		memory.setLegend("memory used");

+		size.setLegend(Messages.BenchmarkChartGeneration_PrjSize);

+		memory.setUnit("MB"); //$NON-NLS-1$

+		memory.setLegend(Messages.BenchmarkChartGeneration_UsedMem);

 		chart.getAxes().add(size);

 		chart.getAxes().add(memory);

 		for (Discovery dtemp : b.getDiscoveries()) {

@@ -173,7 +192,9 @@
 				p.setSerie(s);

 				Coordinate t = this.factory.createCoordinate();

 				t.setAxe(size);

-				t.setValue(dtemp.getProject().getTotalSizeInBytes() / MEGABYTE);

+				final Project project = (Project) dtemp.getProject();

+				size.setUnit(project.getInputSizeUnit());

+				t.setValue(project.getInputSize());

 				Coordinate m = this.factory.createCoordinate();

 				m.setAxe(memory);

 				m.setValue(dtemp.getIterations().get(0).getMaxUsedMemoryInBytes() / MEGABYTE);

@@ -181,18 +202,23 @@
 				p.getCoordinates().add(m);

 			}

 		}

-		this.helper.createBirtGraph(chart, this.location, "memoryByProjectSize" + d.getDiscovererId());

+		final String fileName = String.format("avgMemoryByProjectSize_%s", //$NON-NLS-1$

+				d.getDiscovererId());

+		final File reportDir = new File(this.location, "Report"); //$NON-NLS-1$

+		if (!reportDir.exists()) {

+			reportDir.mkdirs();

+		}

+		this.helper.createBirtGraph(chart, reportDir, fileName);

 	}

 

 	private void createMemoryUsedAsProjectSizeOverallAveraged(final Benchmark b) throws Exception {

 		Chart chart = this.factory.createChart();

-		chart.setTitle("Memory used by project size overall");

+		chart.setTitle(Messages.BenchmarkChartGeneration_UsedMemByPrjSize);

 		Axe size = this.factory.createAxe();

 		Axe memory = this.factory.createAxe();

-		size.setUnit("megabytes");

-		size.setLegend("project size");

-		memory.setUnit("megabytes");

-		memory.setLegend("memory used");

+		size.setLegend(Messages.BenchmarkChartGeneration_PrjSize);

+		memory.setUnit("megabytes"); //$NON-NLS-1$

+		memory.setLegend(Messages.BenchmarkChartGeneration_UsedMem);

 		chart.getAxes().add(size);

 		chart.getAxes().add(memory);

 		List<String> testedDiscoverers = new ArrayList<String>();

@@ -207,7 +233,9 @@
 						p.setSerie(s);

 						Coordinate t = this.factory.createCoordinate();

 						t.setAxe(size);

-						t.setValue(dtemp.getProject().getTotalSizeInBytes() / MEGABYTE);

+						final Project project = (Project) dtemp.getProject();

+						size.setUnit(project.getInputSizeUnit());

+						t.setValue(project.getInputSize());

 						Coordinate m = this.factory.createCoordinate();

 						m.setAxe(memory);

 						m.setValue(dtemp.getIterations().get(0).getMaxUsedMemoryInBytes() / MEGABYTE);

@@ -218,22 +246,30 @@
 				testedDiscoverers.add(d.getDiscovererId());

 			}

 		}

-		this.helper.createBirtGraph(chart, this.location, "memoryByProjectSizeOverall");

+		this.helper.createBirtGraph(chart, this.location,

+				"memoryByProjectSizeOverall"); //$NON-NLS-1$

 	}

 

 

 	public void createMemoryUseByTime(final Discovery d, final DiscoveryIteration di) throws Exception {

 		Chart chart = this.factory.createChart();

-		chart.setTitle("Memory used by time for " + d.getDiscovererId() + " on " + d.getProject().getName() + " the " + di.getDiscoveryDate());

+		final String title = NLS.bind(

+				Messages.BenchmarkChartGeneration_UsedMEmByTimeForOnThe,

+				new Object[]{

+					d.getDiscovererId(),

+					d.getProject().getName(),

+					di.getDiscoveryDate().toString()

+				});

+		chart.setTitle(title);

 		Serie s = this.factory.createSerie();

 		s.setName(d.getDiscovererId());

 		chart.getSeries().add(s);

 		Axe time = this.factory.createAxe();

 		Axe memory = this.factory.createAxe();

-		time.setUnit("ms");

-		time.setLegend("time");

-		memory.setUnit("megabytes");

-		memory.setLegend("memory used");

+		time.setUnit("ms"); //$NON-NLS-1$

+		time.setLegend(Messages.BenchmarkChartGeneration_time);

+		memory.setUnit("megabytes"); //$NON-NLS-1$

+		memory.setLegend(Messages.BenchmarkChartGeneration_UsedMem);

 		chart.getAxes().add(time);

 		chart.getAxes().add(memory);

 		

@@ -252,7 +288,15 @@
 				p.getCoordinates().add(m);

 			}

 		}

-		this.helper.createBirtGraph(chart, this.location, "memoryByTime" + d.getDiscovererId() + "_" + di.getDiscoveryDate().toString().replaceAll(" ", "_").replaceAll(":", "-"));

+		final String fileName = String.format("memoryByTime-%s", //$NON-NLS-1$

+				Integer.toString(d.getIterations().indexOf(di)));

+		final File reportDir = new File(this.location, "Report"); //$NON-NLS-1$

+		final File projectDir = new File(reportDir, d.getProject().getName());

+		final File targetFolder = new File(projectDir, d.getDiscovererId());

+		if (!targetFolder.exists()) {

+			targetFolder.mkdirs();

+		}

+		this.helper.createBirtGraph(chart, targetFolder, fileName);

 	}

 

 }

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/internal/ReportingUtilities.java b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/internal/ReportingUtilities.java
index 5abfe7d..3347b4e 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/internal/ReportingUtilities.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.core/src/org/eclipse/modisco/infra/discovery/benchmark/core/internal/reporting/internal/ReportingUtilities.java
@@ -1,17 +1,20 @@
 /*******************************************************************************

- * Copyright (c) 2011 Mia-Software and INRIA. All rights reserved. This program and the

- * accompanying materials are made available under the terms of the Eclipse

- * Public License v1.0 which accompanies this distribution, and is available at

+ * Copyright (c) 2011, 2015 Mia-Software and INRIA.

+ * All rights reserved. This program and the accompanying materials are made 

+ * available under the terms of the Eclipse Public License v1.0 which 

+ * accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors: Nicolas Bros (Mia-Software) - initial API and implementation

- * 				 Guillaume Doux (INRIA) - Moving to the org.eclipse.modisco.infra.discovery.benchmark.core plug-in

- * 

+ *

+ * Contributors:

+ *     Nicolas Bros (Mia-Software) - initial API and implementation

+ *     Guillaume Doux (INRIA) - Moving to the org.eclipse.modisco.infra.discovery.benchmark.core plug-in

+ *     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  ******************************************************************************/

 

 package org.eclipse.modisco.infra.discovery.benchmark.core.internal.reporting.internal;

 

 import java.util.Collection;

+import java.util.List;

 

 import org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.DiscoveryIteration;

 

@@ -96,5 +99,8 @@
 		}

 		return String.format("%.2f", remainder) + "s"; //$NON-NLS-1$ //$NON-NLS-2$

 	}

-	

+

+	public static int indexOf(final List<Object> list, final Object object) {

+		return list.indexOf(object);

+	}

 }

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/META-INF/MANIFEST.MF b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/META-INF/MANIFEST.MF
index a074ca2..f28a3fa 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/META-INF/MANIFEST.MF
@@ -7,9 +7,14 @@
 Bundle-Vendor: %Bundle-Vendor
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;x-friends:="org.eclipse.modisco.infra.discovery.benchmark.core"
+Export-Package: org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;
+  x-friends:="org.eclipse.modisco.infra.discovery.benchmark.core",
+ org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl;x-internal:=true,
+ org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.util;x-internal:=true
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.facet.util.emf.catalog;visibility:=reexport,
  org.eclipse.ui;bundle-version="3.6.0",
- org.eclipse.modisco.infra.discovery
+ org.eclipse.modisco.infra.discovery;visibility:=reexport,
+ org.eclipse.emf.facet.util.emf.core;visibility:=reexport
 Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/model/benchmark.ecore b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/model/benchmark.ecore
index 3b468ef..c1a7a01 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/model/benchmark.ecore
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/model/benchmark.ecore
@@ -1,98 +1,101 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="internal" nsURI="http://www.eclipse.org/modisco/infra/discovery/benchmark/0.11.incubation/internal"

-    nsPrefix="internal">

-  <eSubpackages name="benchmark" nsURI="http://www.eclipse.org/modisco/infra/discovery/benchmark/0.11.incubation/internal/benchmark"

-      nsPrefix="benchmark">

-    <eClassifiers xsi:type="ecore:EClass" name="MemoryMeasurement" eSuperTypes="#//benchmark/Event">

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="memoryUsed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="Event">

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="time" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

-      <eStructuralFeatures xsi:type="ecore:EReference" name="eventType" lowerBound="1"

-          eType="#//benchmark/EventType"/>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="EventType">

-      <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="BeginEvent" eSuperTypes="#//benchmark/Event"/>

-    <eClassifiers xsi:type="ecore:EClass" name="EndEvent" eSuperTypes="#//benchmark/Event">

-      <eStructuralFeatures xsi:type="ecore:EReference" name="beginning" lowerBound="1"

-          eType="#//benchmark/BeginEvent"/>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="File">

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="sizeInBytes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="lines" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="filepath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="Resource" abstract="true">

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="totalSizeInBytes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="Project" eSuperTypes="#//benchmark/Resource">

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="totalLines" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="averageFileSizeInBytes"

-          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="averageLinesPerFile"

-          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

-      <eStructuralFeatures xsi:type="ecore:EReference" name="files" upperBound="-1"

-          eType="#//benchmark/File" containment="true"/>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="Benchmark">

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="jvmMaxHeapInMiB" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="processorName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="processorDescription"

-          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="processorCount" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="processorCacheSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="systemMemory" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="osName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="osVersion" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="osArchitecture" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

-      <eStructuralFeatures xsi:type="ecore:EReference" name="projects" upperBound="-1"

-          eType="#//benchmark/Resource" containment="true"/>

-      <eStructuralFeatures xsi:type="ecore:EReference" name="discoveries" upperBound="-1"

-          eType="#//benchmark/Discovery" containment="true"/>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="Discovery">

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="discovererId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="discovererClassName"

-          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="discoveryTimeAverageInSeconds"

-          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="saveTimeAverageInSeconds"

-          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="executionTimeStandardDeviation"

-          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="saveTimeStandardDeviation"

-          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="numberOfModelElements"

-          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmiSizeInBytes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

-      <eStructuralFeatures xsi:type="ecore:EReference" name="project" lowerBound="1"

-          eType="#//benchmark/Resource"/>

-      <eStructuralFeatures xsi:type="ecore:EReference" name="iterations" upperBound="-1"

-          eType="#//benchmark/DiscoveryIteration" containment="true"/>

-      <eStructuralFeatures xsi:type="ecore:EReference" name="discovererLaunchConfiguration"

-          eType="ecore:EClass platform:/plugin/org.eclipse.modisco.infra.discovery/model/discovery.ecore#//launch/LaunchConfiguration"

-          containment="true"/>

-      <eStructuralFeatures xsi:type="ecore:EReference" name="copyOfDiscovererDescription"

-          eType="ecore:EClass platform:/plugin/org.eclipse.modisco.infra.discovery/model/discovery.ecore#//catalog/DiscovererDescription"

-          containment="true"/>

-    </eClassifiers>

-    <eClassifiers xsi:type="ecore:EClass" name="DiscoveryIteration">

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="discoveryDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="discoveryTimeInSeconds"

-          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="saveTimeInSeconds" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxUsedMemoryInBytes"

-          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

-      <eStructuralFeatures xsi:type="ecore:EAttribute" name="discoveryErrors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

-      <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1"

-          eType="#//benchmark/Event" containment="true" resolveProxies="false"/>

-      <eStructuralFeatures xsi:type="ecore:EReference" name="memoryMeasurements" upperBound="-1"

-          eType="#//benchmark/Event" derived="true"/>

-    </eClassifiers>

-  </eSubpackages>

+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="benchmark" nsURI="http://www.eclipse.org/modisco/infra/discovery/benchmark/0.11.incubation/internal/benchmark"

+    nsPrefix="benchmark">

+  <eClassifiers xsi:type="ecore:EClass" name="MemoryMeasurement" eSuperTypes="#//Event">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="memoryUsed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Event">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="time" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="eventType" lowerBound="1"

+        eType="#//EventType"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="EventType">

+    <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="BeginEvent" eSuperTypes="#//Event"/>

+  <eClassifiers xsi:type="ecore:EClass" name="EndEvent" eSuperTypes="#//Event">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="beginning" lowerBound="1"

+        eType="#//BeginEvent"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="File">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="sizeInBytes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lines" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="filepath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Resource" abstract="true">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="totalSizeInBytes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Project" eSuperTypes="#//Resource">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="totalLines" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong">

+      <eAnnotations source="@Depreacted"/>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="averageFileSizeInBytes"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong">

+      <eAnnotations source="@Depreacted"/>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="averageLinesPerFile" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong">

+      <eAnnotations source="@Depreacted"/>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="files" upperBound="-1"

+        eType="#//File" containment="true">

+      <eAnnotations source="@Depreacted"/>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="inputSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="inputSizeUnit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Benchmark">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="jvmMaxHeapInMiB" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="processorName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="processorDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="processorCount" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="processorCacheSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="systemMemory" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="osName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="osVersion" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="osArchitecture" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="projects" upperBound="-1"

+        eType="#//Resource" containment="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="discoveries" upperBound="-1"

+        eType="#//Discovery" containment="true"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Discovery">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="discovererId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="discovererClassName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="discoveryTimeAverageInSeconds"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="saveTimeAverageInSeconds"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="executionTimeStandardDeviation"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="saveTimeStandardDeviation"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="numberOfModelElements"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="xmiSizeInBytes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="project" lowerBound="1"

+        eType="#//Resource"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="iterations" upperBound="-1"

+        eType="#//DiscoveryIteration" containment="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="discovererLaunchConfiguration"

+        eType="ecore:EClass platform:/plugin/org.eclipse.modisco.infra.discovery/model/discovery.ecore#//launch/LaunchConfiguration"

+        containment="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="copyOfDiscovererDescription"

+        eType="ecore:EClass platform:/plugin/org.eclipse.modisco.infra.discovery/model/discovery.ecore#//catalog/DiscovererDescription"

+        containment="true"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="DiscoveryIteration">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="discoveryDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="discoveryTimeInSeconds"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="saveTimeInSeconds" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxUsedMemoryInBytes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="discoveryErrors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1"

+        eType="#//Event" containment="true" resolveProxies="false"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="memoryMeasurements" upperBound="-1"

+        eType="#//Event" derived="true"/>

+  </eClassifiers>

 </ecore:EPackage>

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/model/benchmark.genmodel b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/model/benchmark.genmodel
index c84357c..a70224f 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/model/benchmark.genmodel
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/model/benchmark.genmodel
@@ -1,17 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <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" copyrightText="*******************************************************************************&#xD;&#xA; * Copyright (c) 2012 INRIA. All rights reserved. This program and the&#xD;&#xA; * accompanying materials are made available under the terms of the Eclipse&#xD;&#xA; * Public License v1.0 which accompanies this distribution, and is available at&#xD;&#xA; * http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; * &#xD;&#xA; * Contributors: Guillaume Doux - INRIA - Initial API and implementation&#xD;&#xA; * &#xD;&#xA; ******************************************************************************&#xD;&#xA;"

+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2012, 2015 INRIA and Mia-Software.&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA;     Guillaume Doux (INRIA) - Initial API and implementation&#xD;&#xA;     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage&#xD;&#xA;     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer&#xD;&#xA;"

     modelDirectory="/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src"

     modelPluginID="org.eclipse.modisco.infra.discovery.benchmark.metamodel" modelName="Benchmark"

-    importerID="org.eclipse.emf.importer.ecore" complianceLevel="6.0" runtimeVersion="2.5"

+    importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" runtimeVersion="2.6"

     usedGenPackages="platform:/plugin/org.eclipse.emf.facet.util.emf.catalog/model/catalog.genmodel#//catalog platform:/plugin/org.eclipse.modisco.infra.discovery/model/discovery.genmodel#//discovery platform:/plugin/org.eclipse.emf.facet.util.emf.core/model/serialization.genmodel#//serialization">

   <foreignModel>benchmark.ecore</foreignModel>

-  <genPackages prefix="Internal" basePackage="org.eclipse.modisco.infra.discovery.benchmark.metamodel"

-      disposableProviderFactory="true" interfacePackageSuffix="metamodel.benchmark"

-      metaDataPackageSuffix="metamodel.benchmark" classPackageSuffix="metamodel.benchmark.impl"

-      utilityPackageSuffix="metamodel.benchmark.util" providerPackageSuffix="metamodel.benchmark.provider"

-      presentationPackageSuffix="metamodel.benchmark.presentation" testsPackageSuffix="metamodel.tests"

-      ecorePackage="benchmark.ecore#/">

+  <genPackages prefix="Benchmark" basePackage="org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal"

+      disposableProviderFactory="true" ecorePackage="benchmark.ecore#/">

     <genClasses ecoreClass="benchmark.ecore#//MemoryMeasurement">

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//MemoryMeasurement/memoryUsed"/>

     </genClasses>

@@ -39,7 +35,9 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//Project/totalLines"/>

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//Project/averageFileSizeInBytes"/>

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//Project/averageLinesPerFile"/>

-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference benchmark.ecore#//Project/files"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference benchmark.ecore#//Project/files"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//Project/inputSize"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//Project/inputSizeUnit"/>

     </genClasses>

     <genClasses ecoreClass="benchmark.ecore#//Benchmark">

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//Benchmark/jvmMaxHeapInMiB"/>

@@ -51,8 +49,8 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//Benchmark/osName"/>

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//Benchmark/osVersion"/>

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//Benchmark/osArchitecture"/>

-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference benchmark.ecore#//Benchmark/projects"/>

-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference benchmark.ecore#//Benchmark/discoveries"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference benchmark.ecore#//Benchmark/projects"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference benchmark.ecore#//Benchmark/discoveries"/>

     </genClasses>

     <genClasses ecoreClass="benchmark.ecore#//Discovery">

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//Discovery/name"/>

@@ -65,9 +63,9 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//Discovery/numberOfModelElements"/>

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//Discovery/xmiSizeInBytes"/>

       <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference benchmark.ecore#//Discovery/project"/>

-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference benchmark.ecore#//Discovery/iterations"/>

-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference benchmark.ecore#//Discovery/discovererLaunchConfiguration"/>

-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference benchmark.ecore#//Discovery/copyOfDiscovererDescription"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference benchmark.ecore#//Discovery/iterations"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference benchmark.ecore#//Discovery/discovererLaunchConfiguration"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference benchmark.ecore#//Discovery/copyOfDiscovererDescription"/>

     </genClasses>

     <genClasses ecoreClass="benchmark.ecore#//DiscoveryIteration">

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//DiscoveryIteration/discoveryDate"/>

@@ -75,9 +73,8 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//DiscoveryIteration/saveTimeInSeconds"/>

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//DiscoveryIteration/maxUsedMemoryInBytes"/>

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute benchmark.ecore#//DiscoveryIteration/discoveryErrors"/>

-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference benchmark.ecore#//DiscoveryIteration/events"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference benchmark.ecore#//DiscoveryIteration/events"/>

       <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference benchmark.ecore#//DiscoveryIteration/memoryMeasurements"/>

     </genClasses>

-    <nestedGenPackages prefix="Benchmark" disposableProviderFactory="true" ecorePackage="benchmark.ecore#//benchmark"/>

   </genPackages>

 </genmodel:GenModel>

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/plugin.properties b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/plugin.properties
index b4a4198..8c21e84 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/plugin.properties
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/plugin.properties
@@ -10,4 +10,3 @@
 ###############################################################################

 Bundle-Vendor = Eclipse Modeling Project

 Bundle-Name = MoDisco Infra Discovery Benchmark Metamodel (Incubation)

-

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/BeginEvent.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/BeginEvent.java
index 49c48a1..2074066 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/BeginEvent.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/BeginEvent.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;

 

@@ -29,6 +29,6 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 } // BeginEvent

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Benchmark.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Benchmark.java
index ba130e7..d356502 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Benchmark.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Benchmark.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;

 

@@ -23,6 +23,7 @@
  *

  * <p>

  * The following features are supported:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Benchmark#getJvmMaxHeapInMiB <em>Jvm Max Heap In Mi B</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Benchmark#getProcessorName <em>Processor Name</em>}</li>

@@ -36,7 +37,6 @@
  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Benchmark#getProjects <em>Projects</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Benchmark#getDiscoveries <em>Discoveries</em>}</li>

  * </ul>

- * </p>

  *

  * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkPackage#getBenchmark()

  * @model

@@ -48,7 +48,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * Returns the value of the '<em><b>Jvm Max Heap In Mi B</b></em>' attribute.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/BenchmarkFactory.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/BenchmarkFactory.java
index 4c7ddc1..4ff354c 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/BenchmarkFactory.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/BenchmarkFactory.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;

 

@@ -28,7 +28,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * The singleton instance of the factory.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/BenchmarkPackage.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/BenchmarkPackage.java
index 5003f6f..d44f6c2 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/BenchmarkPackage.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/BenchmarkPackage.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;

 

@@ -38,7 +38,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * The package name.

@@ -414,13 +414,31 @@
 	int PROJECT__FILES = RESOURCE_FEATURE_COUNT + 3;

 

 	/**

+	 * The feature id for the '<em><b>Input Size</b></em>' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 * @ordered

+	 */

+	int PROJECT__INPUT_SIZE = RESOURCE_FEATURE_COUNT + 4;

+

+	/**

+	 * The feature id for the '<em><b>Input Size Unit</b></em>' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 * @ordered

+	 */

+	int PROJECT__INPUT_SIZE_UNIT = RESOURCE_FEATURE_COUNT + 5;

+

+	/**

 	 * The number of structural features of the '<em>Project</em>' class.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

 	 * @generated

 	 * @ordered

 	 */

-	int PROJECT_FEATURE_COUNT = RESOURCE_FEATURE_COUNT + 4;

+	int PROJECT_FEATURE_COUNT = RESOURCE_FEATURE_COUNT + 6;

 

 	/**

 	 * The meta object id for the '{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.BenchmarkImpl <em>Benchmark</em>}' class.

@@ -994,6 +1012,28 @@
 	EReference getProject_Files();

 

 	/**

+	 * Returns the meta object for the attribute '{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project#getInputSize <em>Input Size</em>}'.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @return the meta object for the attribute '<em>Input Size</em>'.

+	 * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project#getInputSize()

+	 * @see #getProject()

+	 * @generated

+	 */

+	EAttribute getProject_InputSize();

+

+	/**

+	 * Returns the meta object for the attribute '{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project#getInputSizeUnit <em>Input Size Unit</em>}'.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @return the meta object for the attribute '<em>Input Size Unit</em>'.

+	 * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project#getInputSizeUnit()

+	 * @see #getProject()

+	 * @generated

+	 */

+	EAttribute getProject_InputSizeUnit();

+

+	/**

 	 * Returns the meta object for class '{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Benchmark <em>Benchmark</em>}'.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -1579,6 +1619,22 @@
 		EReference PROJECT__FILES = eINSTANCE.getProject_Files();

 

 		/**

+		 * The meta object literal for the '<em><b>Input Size</b></em>' attribute feature.

+		 * <!-- begin-user-doc -->

+		 * <!-- end-user-doc -->

+		 * @generated

+		 */

+		EAttribute PROJECT__INPUT_SIZE = eINSTANCE.getProject_InputSize();

+

+		/**

+		 * The meta object literal for the '<em><b>Input Size Unit</b></em>' attribute feature.

+		 * <!-- begin-user-doc -->

+		 * <!-- end-user-doc -->

+		 * @generated

+		 */

+		EAttribute PROJECT__INPUT_SIZE_UNIT = eINSTANCE.getProject_InputSizeUnit();

+

+		/**

 		 * The meta object literal for the '{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.BenchmarkImpl <em>Benchmark</em>}' class.

 		 * <!-- begin-user-doc -->

 		 * <!-- end-user-doc -->

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Discovery.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Discovery.java
index 9304cd3..c28c867 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Discovery.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Discovery.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;

 

@@ -27,6 +27,7 @@
  *

  * <p>

  * The following features are supported:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Discovery#getName <em>Name</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Discovery#getDiscovererId <em>Discoverer Id</em>}</li>

@@ -42,7 +43,6 @@
  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Discovery#getDiscovererLaunchConfiguration <em>Discoverer Launch Configuration</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Discovery#getCopyOfDiscovererDescription <em>Copy Of Discoverer Description</em>}</li>

  * </ul>

- * </p>

  *

  * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkPackage#getDiscovery()

  * @model

@@ -54,7 +54,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * Returns the value of the '<em><b>Name</b></em>' attribute.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/DiscoveryIteration.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/DiscoveryIteration.java
index aff8658..d20625b 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/DiscoveryIteration.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/DiscoveryIteration.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;

 

@@ -25,6 +25,7 @@
  *

  * <p>

  * The following features are supported:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.DiscoveryIteration#getDiscoveryDate <em>Discovery Date</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.DiscoveryIteration#getDiscoveryTimeInSeconds <em>Discovery Time In Seconds</em>}</li>

@@ -34,7 +35,6 @@
  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.DiscoveryIteration#getEvents <em>Events</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.DiscoveryIteration#getMemoryMeasurements <em>Memory Measurements</em>}</li>

  * </ul>

- * </p>

  *

  * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkPackage#getDiscoveryIteration()

  * @model

@@ -46,7 +46,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * Returns the value of the '<em><b>Discovery Date</b></em>' attribute.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/EndEvent.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/EndEvent.java
index 02ebac2..2cffd7b 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/EndEvent.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/EndEvent.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;

 

@@ -20,10 +20,10 @@
  *

  * <p>

  * The following features are supported:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.EndEvent#getBeginning <em>Beginning</em>}</li>

  * </ul>

- * </p>

  *

  * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkPackage#getEndEvent()

  * @model

@@ -35,7 +35,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * Returns the value of the '<em><b>Beginning</b></em>' reference.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Event.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Event.java
index acf7a40..c82e13d 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Event.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Event.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;

 

@@ -21,11 +21,11 @@
  *

  * <p>

  * The following features are supported:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Event#getTime <em>Time</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Event#getEventType <em>Event Type</em>}</li>

  * </ul>

- * </p>

  *

  * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkPackage#getEvent()

  * @model

@@ -37,7 +37,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * Returns the value of the '<em><b>Time</b></em>' attribute.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/EventType.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/EventType.java
index 060a7b5..85e502d 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/EventType.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/EventType.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;

 

@@ -21,10 +21,10 @@
  *

  * <p>

  * The following features are supported:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.EventType#getName <em>Name</em>}</li>

  * </ul>

- * </p>

  *

  * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkPackage#getEventType()

  * @model

@@ -36,7 +36,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * Returns the value of the '<em><b>Name</b></em>' attribute.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/File.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/File.java
index e7f35bf..837e611 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/File.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/File.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;

 

@@ -21,12 +21,12 @@
  *

  * <p>

  * The following features are supported:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.File#getSizeInBytes <em>Size In Bytes</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.File#getLines <em>Lines</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.File#getFilepath <em>Filepath</em>}</li>

  * </ul>

- * </p>

  *

  * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkPackage#getFile()

  * @model

@@ -38,7 +38,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * Returns the value of the '<em><b>Size In Bytes</b></em>' attribute.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/MemoryMeasurement.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/MemoryMeasurement.java
index 7cdfaa2..34b4fba 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/MemoryMeasurement.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/MemoryMeasurement.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;

 

@@ -20,10 +20,10 @@
  *

  * <p>

  * The following features are supported:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.MemoryMeasurement#getMemoryUsed <em>Memory Used</em>}</li>

  * </ul>

- * </p>

  *

  * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkPackage#getMemoryMeasurement()

  * @model

@@ -35,7 +35,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * Returns the value of the '<em><b>Memory Used</b></em>' attribute.

@@ -46,12 +46,12 @@
 	 * </p>

 	 * <!-- end-user-doc -->

 	 * @return the value of the '<em>Memory Used</em>' attribute.

-	 * @see #setMemoryUsed(int)

+	 * @see #setMemoryUsed(long)

 	 * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkPackage#getMemoryMeasurement_MemoryUsed()

 	 * @model

 	 * @generated

 	 */

-	int getMemoryUsed();

+	long getMemoryUsed();

 

 	/**

 	 * Sets the value of the '{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.MemoryMeasurement#getMemoryUsed <em>Memory Used</em>}' attribute.

@@ -61,6 +61,6 @@
 	 * @see #getMemoryUsed()

 	 * @generated

 	 */

-	void setMemoryUsed(int value);

+	void setMemoryUsed(long value);

 

 } // MemoryMeasurement

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Project.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Project.java
index c46c673..ac789ea 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Project.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Project.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;

 

@@ -21,13 +21,15 @@
  *

  * <p>

  * The following features are supported:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project#getTotalLines <em>Total Lines</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project#getAverageFileSizeInBytes <em>Average File Size In Bytes</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project#getAverageLinesPerFile <em>Average Lines Per File</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project#getFiles <em>Files</em>}</li>

+ *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project#getInputSize <em>Input Size</em>}</li>

+ *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project#getInputSizeUnit <em>Input Size Unit</em>}</li>

  * </ul>

- * </p>

  *

  * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkPackage#getProject()

  * @model

@@ -39,7 +41,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * Returns the value of the '<em><b>Total Lines</b></em>' attribute.

@@ -135,4 +137,56 @@
 	 */

 	EList<File> getFiles();

 

+	/**

+	 * Returns the value of the '<em><b>Input Size</b></em>' attribute.

+	 * <!-- begin-user-doc -->

+	 * <p>

+	 * If the meaning of the '<em>Input Size</em>' attribute isn't clear,

+	 * there really should be more of a description here...

+	 * </p>

+	 * <!-- end-user-doc -->

+	 * @return the value of the '<em>Input Size</em>' attribute.

+	 * @see #setInputSize(double)

+	 * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkPackage#getProject_InputSize()

+	 * @model

+	 * @generated

+	 */

+	double getInputSize();

+

+	/**

+	 * Sets the value of the '{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project#getInputSize <em>Input Size</em>}' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @param value the new value of the '<em>Input Size</em>' attribute.

+	 * @see #getInputSize()

+	 * @generated

+	 */

+	void setInputSize(double value);

+

+	/**

+	 * Returns the value of the '<em><b>Input Size Unit</b></em>' attribute.

+	 * <!-- begin-user-doc -->

+	 * <p>

+	 * If the meaning of the '<em>Input Size 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>Input Size Unit</em>' attribute.

+	 * @see #setInputSizeUnit(String)

+	 * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkPackage#getProject_InputSizeUnit()

+	 * @model

+	 * @generated

+	 */

+	String getInputSizeUnit();

+

+	/**

+	 * Sets the value of the '{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Project#getInputSizeUnit <em>Input Size Unit</em>}' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @param value the new value of the '<em>Input Size Unit</em>' attribute.

+	 * @see #getInputSizeUnit()

+	 * @generated

+	 */

+	void setInputSizeUnit(String value);

+

 } // Project

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Resource.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Resource.java
index 640d322..2a9d4b2 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Resource.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/Resource.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark;

 

@@ -21,11 +21,11 @@
  *

  * <p>

  * The following features are supported:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Resource#getName <em>Name</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.Resource#getTotalSizeInBytes <em>Total Size In Bytes</em>}</li>

  * </ul>

- * </p>

  *

  * @see org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.BenchmarkPackage#getResource()

  * @model abstract="true"

@@ -37,7 +37,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * Returns the value of the '<em><b>Name</b></em>' attribute.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BeginEventImpl.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BeginEventImpl.java
index 5210954..ccb5b34 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BeginEventImpl.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BeginEventImpl.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl;

 

@@ -21,8 +21,6 @@
  * <!-- begin-user-doc -->

  * An implementation of the model object '<em><b>Begin Event</b></em>'.

  * <!-- end-user-doc -->

- * <p>

- * </p>

  *

  * @generated

  */

@@ -32,7 +30,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * <!-- begin-user-doc -->

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BenchmarkFactoryImpl.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BenchmarkFactoryImpl.java
index 48abcfc..26bdd9e 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BenchmarkFactoryImpl.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BenchmarkFactoryImpl.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl;

 

@@ -34,7 +34,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * Creates the default factory implementation.

@@ -44,7 +44,7 @@
 	 */

 	public static BenchmarkFactory init() {

 		try {

-			BenchmarkFactory theBenchmarkFactory = (BenchmarkFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/modisco/infra/discovery/benchmark/0.11.incubation/internal/benchmark"); 

+			BenchmarkFactory theBenchmarkFactory = (BenchmarkFactory)EPackage.Registry.INSTANCE.getEFactory(BenchmarkPackage.eNS_URI);

 			if (theBenchmarkFactory != null) {

 				return theBenchmarkFactory;

 			}

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BenchmarkImpl.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BenchmarkImpl.java
index 8c6ce27..1b13910 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BenchmarkImpl.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BenchmarkImpl.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl;

 

@@ -39,6 +39,7 @@
  * <!-- end-user-doc -->

  * <p>

  * The following features are implemented:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.BenchmarkImpl#getJvmMaxHeapInMiB <em>Jvm Max Heap In Mi B</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.BenchmarkImpl#getProcessorName <em>Processor Name</em>}</li>

@@ -52,7 +53,6 @@
  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.BenchmarkImpl#getProjects <em>Projects</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.BenchmarkImpl#getDiscoveries <em>Discoveries</em>}</li>

  * </ul>

- * </p>

  *

  * @generated

  */

@@ -62,7 +62,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * The default value of the '{@link #getJvmMaxHeapInMiB() <em>Jvm Max Heap In Mi B</em>}' attribute.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BenchmarkPackageImpl.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BenchmarkPackageImpl.java
index 3cf1a7f..302bfdb 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BenchmarkPackageImpl.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/BenchmarkPackageImpl.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl;

 

@@ -49,7 +49,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * <!-- begin-user-doc -->

@@ -396,6 +396,24 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

+	public EAttribute getProject_InputSize() {

+		return (EAttribute)projectEClass.getEStructuralFeatures().get(4);

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public EAttribute getProject_InputSizeUnit() {

+		return (EAttribute)projectEClass.getEStructuralFeatures().get(5);

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

 	public EClass getBenchmark() {

 		return benchmarkEClass;

 	}

@@ -754,6 +772,8 @@
 		createEAttribute(projectEClass, PROJECT__AVERAGE_FILE_SIZE_IN_BYTES);

 		createEAttribute(projectEClass, PROJECT__AVERAGE_LINES_PER_FILE);

 		createEReference(projectEClass, PROJECT__FILES);

+		createEAttribute(projectEClass, PROJECT__INPUT_SIZE);

+		createEAttribute(projectEClass, PROJECT__INPUT_SIZE_UNIT);

 

 		benchmarkEClass = createEClass(BENCHMARK);

 		createEAttribute(benchmarkEClass, BENCHMARK__JVM_MAX_HEAP_IN_MI_B);

@@ -832,7 +852,7 @@
 

 		// Initialize classes and features; add operations and parameters

 		initEClass(memoryMeasurementEClass, MemoryMeasurement.class, "MemoryMeasurement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(getMemoryMeasurement_MemoryUsed(), ecorePackage.getEInt(), "memoryUsed", null, 0, 1, MemoryMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

+		initEAttribute(getMemoryMeasurement_MemoryUsed(), ecorePackage.getELong(), "memoryUsed", null, 0, 1, MemoryMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 

 		initEClass(eventEClass, Event.class, "Event", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

 		initEAttribute(getEvent_Time(), ecorePackage.getELong(), "time", null, 0, 1, Event.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

@@ -860,6 +880,8 @@
 		initEAttribute(getProject_AverageFileSizeInBytes(), ecorePackage.getELong(), "averageFileSizeInBytes", null, 0, 1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 		initEAttribute(getProject_AverageLinesPerFile(), ecorePackage.getELong(), "averageLinesPerFile", null, 0, 1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 		initEReference(getProject_Files(), this.getFile(), null, "files", null, 0, -1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

+		initEAttribute(getProject_InputSize(), ecorePackage.getEDouble(), "inputSize", null, 0, 1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

+		initEAttribute(getProject_InputSizeUnit(), ecorePackage.getEString(), "inputSizeUnit", null, 0, 1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 

 		initEClass(benchmarkEClass, Benchmark.class, "Benchmark", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

 		initEAttribute(getBenchmark_JvmMaxHeapInMiB(), ecorePackage.getELong(), "jvmMaxHeapInMiB", null, 0, 1, Benchmark.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

@@ -900,6 +922,40 @@
 

 		// Create resource

 		createResource(eNS_URI);

+

+		// Create annotations

+		// @Depreacted

+		create_DepreactedAnnotations();

+	}

+

+	/**

+	 * Initializes the annotations for <b>@Depreacted</b>.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	protected void create_DepreactedAnnotations() {

+		String source = "@Depreacted";	

+		addAnnotation

+		  (getProject_TotalLines(), 

+		   source, 

+		   new String[] {

+		   });	

+		addAnnotation

+		  (getProject_AverageFileSizeInBytes(), 

+		   source, 

+		   new String[] {

+		   });	

+		addAnnotation

+		  (getProject_AverageLinesPerFile(), 

+		   source, 

+		   new String[] {

+		   });	

+		addAnnotation

+		  (getProject_Files(), 

+		   source, 

+		   new String[] {

+		   });

 	}

 

 } //BenchmarkPackageImpl

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/DiscoveryImpl.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/DiscoveryImpl.java
index c04f6b3..f5100fc 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/DiscoveryImpl.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/DiscoveryImpl.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl;

 

@@ -43,6 +43,7 @@
  * <!-- end-user-doc -->

  * <p>

  * The following features are implemented:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.DiscoveryImpl#getName <em>Name</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.DiscoveryImpl#getDiscovererId <em>Discoverer Id</em>}</li>

@@ -58,7 +59,6 @@
  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.DiscoveryImpl#getDiscovererLaunchConfiguration <em>Discoverer Launch Configuration</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.DiscoveryImpl#getCopyOfDiscovererDescription <em>Copy Of Discoverer Description</em>}</li>

  * </ul>

- * </p>

  *

  * @generated

  */

@@ -68,7 +68,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/DiscoveryIterationImpl.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/DiscoveryIterationImpl.java
index 9e631d9..e9a1588 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/DiscoveryIterationImpl.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/DiscoveryIterationImpl.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl;

 

@@ -40,6 +40,7 @@
  * <!-- end-user-doc -->

  * <p>

  * The following features are implemented:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.DiscoveryIterationImpl#getDiscoveryDate <em>Discovery Date</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.DiscoveryIterationImpl#getDiscoveryTimeInSeconds <em>Discovery Time In Seconds</em>}</li>

@@ -49,7 +50,6 @@
  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.DiscoveryIterationImpl#getEvents <em>Events</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.DiscoveryIterationImpl#getMemoryMeasurements <em>Memory Measurements</em>}</li>

  * </ul>

- * </p>

  *

  * @generated

  */

@@ -59,7 +59,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * The default value of the '{@link #getDiscoveryDate() <em>Discovery Date</em>}' attribute.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/EndEventImpl.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/EndEventImpl.java
index 7997274..32b4b5f 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/EndEventImpl.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/EndEventImpl.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl;

 

@@ -29,10 +29,10 @@
  * <!-- end-user-doc -->

  * <p>

  * The following features are implemented:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.EndEventImpl#getBeginning <em>Beginning</em>}</li>

  * </ul>

- * </p>

  *

  * @generated

  */

@@ -42,7 +42,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * The cached value of the '{@link #getBeginning() <em>Beginning</em>}' reference.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/EventImpl.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/EventImpl.java
index 4da05b7..cd91e6e 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/EventImpl.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/EventImpl.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl;

 

@@ -30,11 +30,11 @@
  * <!-- end-user-doc -->

  * <p>

  * The following features are implemented:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.EventImpl#getTime <em>Time</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.EventImpl#getEventType <em>Event Type</em>}</li>

  * </ul>

- * </p>

  *

  * @generated

  */

@@ -44,7 +44,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * The default value of the '{@link #getTime() <em>Time</em>}' attribute.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/EventTypeImpl.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/EventTypeImpl.java
index a3a3598..e5eeca1 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/EventTypeImpl.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/EventTypeImpl.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl;

 

@@ -28,10 +28,10 @@
  * <!-- end-user-doc -->

  * <p>

  * The following features are implemented:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.EventTypeImpl#getName <em>Name</em>}</li>

  * </ul>

- * </p>

  *

  * @generated

  */

@@ -41,7 +41,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/FileImpl.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/FileImpl.java
index 271f1d7..6679bfd 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/FileImpl.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/FileImpl.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl;

 

@@ -28,12 +28,12 @@
  * <!-- end-user-doc -->

  * <p>

  * The following features are implemented:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.FileImpl#getSizeInBytes <em>Size In Bytes</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.FileImpl#getLines <em>Lines</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.FileImpl#getFilepath <em>Filepath</em>}</li>

  * </ul>

- * </p>

  *

  * @generated

  */

@@ -43,7 +43,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * The default value of the '{@link #getSizeInBytes() <em>Size In Bytes</em>}' attribute.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/MemoryMeasurementImpl.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/MemoryMeasurementImpl.java
index 86e952e..ab05cf0 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/MemoryMeasurementImpl.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/MemoryMeasurementImpl.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl;

 

@@ -27,10 +27,10 @@
  * <!-- end-user-doc -->

  * <p>

  * The following features are implemented:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.MemoryMeasurementImpl#getMemoryUsed <em>Memory Used</em>}</li>

  * </ul>

- * </p>

  *

  * @generated

  */

@@ -40,7 +40,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * The default value of the '{@link #getMemoryUsed() <em>Memory Used</em>}' attribute.

@@ -50,7 +50,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	protected static final int MEMORY_USED_EDEFAULT = 0;

+	protected static final long MEMORY_USED_EDEFAULT = 0L;

 

 	/**

 	 * The cached value of the '{@link #getMemoryUsed() <em>Memory Used</em>}' attribute.

@@ -60,7 +60,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	protected int memoryUsed = MEMORY_USED_EDEFAULT;

+	protected long memoryUsed = MEMORY_USED_EDEFAULT;

 

 	/**

 	 * <!-- begin-user-doc -->

@@ -86,7 +86,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public int getMemoryUsed() {

+	public long getMemoryUsed() {

 		return memoryUsed;

 	}

 

@@ -95,8 +95,8 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public void setMemoryUsed(int newMemoryUsed) {

-		int oldMemoryUsed = memoryUsed;

+	public void setMemoryUsed(long newMemoryUsed) {

+		long oldMemoryUsed = memoryUsed;

 		memoryUsed = newMemoryUsed;

 		if (eNotificationRequired())

 			eNotify(new ENotificationImpl(this, Notification.SET, BenchmarkPackage.MEMORY_MEASUREMENT__MEMORY_USED, oldMemoryUsed, memoryUsed));

@@ -125,7 +125,7 @@
 	public void eSet(int featureID, Object newValue) {

 		switch (featureID) {

 			case BenchmarkPackage.MEMORY_MEASUREMENT__MEMORY_USED:

-				setMemoryUsed((Integer)newValue);

+				setMemoryUsed((Long)newValue);

 				return;

 		}

 		super.eSet(featureID, newValue);

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/ProjectImpl.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/ProjectImpl.java
index 50289ae..111d6b3 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/ProjectImpl.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/ProjectImpl.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl;

 

@@ -37,13 +37,15 @@
  * <!-- end-user-doc -->

  * <p>

  * The following features are implemented:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.ProjectImpl#getTotalLines <em>Total Lines</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.ProjectImpl#getAverageFileSizeInBytes <em>Average File Size In Bytes</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.ProjectImpl#getAverageLinesPerFile <em>Average Lines Per File</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.ProjectImpl#getFiles <em>Files</em>}</li>

+ *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.ProjectImpl#getInputSize <em>Input Size</em>}</li>

+ *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.ProjectImpl#getInputSizeUnit <em>Input Size Unit</em>}</li>

  * </ul>

- * </p>

  *

  * @generated

  */

@@ -53,7 +55,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * The default value of the '{@link #getTotalLines() <em>Total Lines</em>}' attribute.

@@ -126,6 +128,46 @@
 	protected EList<File> files;

 

 	/**

+	 * The default value of the '{@link #getInputSize() <em>Input Size</em>}' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see #getInputSize()

+	 * @generated

+	 * @ordered

+	 */

+	protected static final double INPUT_SIZE_EDEFAULT = 0.0;

+

+	/**

+	 * The cached value of the '{@link #getInputSize() <em>Input Size</em>}' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see #getInputSize()

+	 * @generated

+	 * @ordered

+	 */

+	protected double inputSize = INPUT_SIZE_EDEFAULT;

+

+	/**

+	 * The default value of the '{@link #getInputSizeUnit() <em>Input Size Unit</em>}' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see #getInputSizeUnit()

+	 * @generated

+	 * @ordered

+	 */

+	protected static final String INPUT_SIZE_UNIT_EDEFAULT = null;

+

+	/**

+	 * The cached value of the '{@link #getInputSizeUnit() <em>Input Size Unit</em>}' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see #getInputSizeUnit()

+	 * @generated

+	 * @ordered

+	 */

+	protected String inputSizeUnit = INPUT_SIZE_UNIT_EDEFAULT;

+

+	/**

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

 	 * @generated

@@ -224,6 +266,48 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

+	public double getInputSize() {

+		return inputSize;

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public void setInputSize(double newInputSize) {

+		double oldInputSize = inputSize;

+		inputSize = newInputSize;

+		if (eNotificationRequired())

+			eNotify(new ENotificationImpl(this, Notification.SET, BenchmarkPackage.PROJECT__INPUT_SIZE, oldInputSize, inputSize));

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public String getInputSizeUnit() {

+		return inputSizeUnit;

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public void setInputSizeUnit(String newInputSizeUnit) {

+		String oldInputSizeUnit = inputSizeUnit;

+		inputSizeUnit = newInputSizeUnit;

+		if (eNotificationRequired())

+			eNotify(new ENotificationImpl(this, Notification.SET, BenchmarkPackage.PROJECT__INPUT_SIZE_UNIT, oldInputSizeUnit, inputSizeUnit));

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

 	@Override

 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {

 		switch (featureID) {

@@ -249,6 +333,10 @@
 				return getAverageLinesPerFile();

 			case BenchmarkPackage.PROJECT__FILES:

 				return getFiles();

+			case BenchmarkPackage.PROJECT__INPUT_SIZE:

+				return getInputSize();

+			case BenchmarkPackage.PROJECT__INPUT_SIZE_UNIT:

+				return getInputSizeUnit();

 		}

 		return super.eGet(featureID, resolve, coreType);

 	}

@@ -275,6 +363,12 @@
 				getFiles().clear();

 				getFiles().addAll((Collection<? extends File>)newValue);

 				return;

+			case BenchmarkPackage.PROJECT__INPUT_SIZE:

+				setInputSize((Double)newValue);

+				return;

+			case BenchmarkPackage.PROJECT__INPUT_SIZE_UNIT:

+				setInputSizeUnit((String)newValue);

+				return;

 		}

 		super.eSet(featureID, newValue);

 	}

@@ -299,6 +393,12 @@
 			case BenchmarkPackage.PROJECT__FILES:

 				getFiles().clear();

 				return;

+			case BenchmarkPackage.PROJECT__INPUT_SIZE:

+				setInputSize(INPUT_SIZE_EDEFAULT);

+				return;

+			case BenchmarkPackage.PROJECT__INPUT_SIZE_UNIT:

+				setInputSizeUnit(INPUT_SIZE_UNIT_EDEFAULT);

+				return;

 		}

 		super.eUnset(featureID);

 	}

@@ -319,6 +419,10 @@
 				return averageLinesPerFile != AVERAGE_LINES_PER_FILE_EDEFAULT;

 			case BenchmarkPackage.PROJECT__FILES:

 				return files != null && !files.isEmpty();

+			case BenchmarkPackage.PROJECT__INPUT_SIZE:

+				return inputSize != INPUT_SIZE_EDEFAULT;

+			case BenchmarkPackage.PROJECT__INPUT_SIZE_UNIT:

+				return INPUT_SIZE_UNIT_EDEFAULT == null ? inputSizeUnit != null : !INPUT_SIZE_UNIT_EDEFAULT.equals(inputSizeUnit);

 		}

 		return super.eIsSet(featureID);

 	}

@@ -339,6 +443,10 @@
 		result.append(averageFileSizeInBytes);

 		result.append(", averageLinesPerFile: ");

 		result.append(averageLinesPerFile);

+		result.append(", inputSize: ");

+		result.append(inputSize);

+		result.append(", inputSizeUnit: ");

+		result.append(inputSizeUnit);

 		result.append(')');

 		return result.toString();

 	}

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/ResourceImpl.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/ResourceImpl.java
index 6311356..5a69059 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/ResourceImpl.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/impl/ResourceImpl.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl;

 

@@ -28,11 +28,11 @@
  * <!-- end-user-doc -->

  * <p>

  * The following features are implemented:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.ResourceImpl#getName <em>Name</em>}</li>

  *   <li>{@link org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.impl.ResourceImpl#getTotalSizeInBytes <em>Total Size In Bytes</em>}</li>

  * </ul>

- * </p>

  *

  * @generated

  */

@@ -42,7 +42,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/util/BenchmarkAdapterFactory.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/util/BenchmarkAdapterFactory.java
index e6495ca..5d16d54 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/util/BenchmarkAdapterFactory.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/util/BenchmarkAdapterFactory.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.util;

 

@@ -35,7 +35,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * The cached model package.

diff --git a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/util/BenchmarkSwitch.java b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/util/BenchmarkSwitch.java
index bc3c1ee..382a944 100644
--- a/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/util/BenchmarkSwitch.java
+++ b/org.eclipse.modisco.infra.discovery.benchmark.metamodel/src/org/eclipse/modisco/infra/discovery/benchmark/metamodel/internal/benchmark/util/BenchmarkSwitch.java
@@ -1,14 +1,14 @@
 /**

- * *******************************************************************************

- *  * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- *  * accompanying materials are made available under the terms of the Eclipse

- *  * Public License v1.0 which accompanies this distribution, and is available at

- *  * http://www.eclipse.org/legal/epl-v10.html

- *  * 

- *  * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- *  * 

- *  ******************************************************************************

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

  * 

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage

+ *      Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer

  */

 package org.eclipse.modisco.infra.discovery.benchmark.metamodel.internal.benchmark.util;

 

@@ -38,7 +38,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final String copyright = "*******************************************************************************\r\n * Copyright (c) 2012 INRIA. All rights reserved. This program and the\r\n * accompanying materials are made available under the terms of the Eclipse\r\n * Public License v1.0 which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors: Guillaume Doux - INRIA - Initial API and implementation\r\n * \r\n ******************************************************************************\r\n";

+	public static final String copyright = "Copyright (c) 2012, 2015 INRIA and Mia-Software.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n     Guillaume Doux (INRIA) - Initial API and implementation\r\n     Grégoire Dupé (Mia-Software) - Bug 483292 - [Benchmark] long must be used to store memory usage\r\n     Grégoire Dupé (Mia-Software) - Bug 483400 - [Benchmark] The input size should be computable by the discoverer\r\n";

 

 	/**

 	 * The cached model package

@@ -82,13 +82,11 @@
 		if (theEClass.eContainer() == modelPackage) {

 			return doSwitch(theEClass.getClassifierID(), theEObject);

 		}

-		else {

-			List<EClass> eSuperTypes = theEClass.getESuperTypes();

-			return

-				eSuperTypes.isEmpty() ?

-					defaultCase(theEObject) :

-					doSwitch(eSuperTypes.get(0), theEObject);

-		}

+		List<EClass> eSuperTypes = theEClass.getESuperTypes();

+		return

+			eSuperTypes.isEmpty() ?

+				defaultCase(theEObject) :

+				doSwitch(eSuperTypes.get(0), theEObject);

 	}

 

 	/**

diff --git a/org.eclipse.modisco.infra.discovery/META-INF/MANIFEST.MF b/org.eclipse.modisco.infra.discovery/META-INF/MANIFEST.MF
index 7ee63b0..44bc1d7 100644
--- a/org.eclipse.modisco.infra.discovery/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.infra.discovery/META-INF/MANIFEST.MF
@@ -8,7 +8,11 @@
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: org.eclipse.modisco.infra.discovery.catalog,
- org.eclipse.modisco.infra.discovery.launch
+ org.eclipse.modisco.infra.discovery.catalog.impl;x-internal:=true,
+ org.eclipse.modisco.infra.discovery.catalog.util;x-internal:=true,
+ org.eclipse.modisco.infra.discovery.launch,
+ org.eclipse.modisco.infra.discovery.launch.impl;x-internal:=true,
+ org.eclipse.modisco.infra.discovery.launch.util;x-internal:=true
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.emf.ecore;visibility:=reexport,
  org.eclipse.emf.facet.util.emf.catalog;bundle-version="0.1.0",
diff --git a/org.eclipse.modisco.infra.facet.tests/src/org/eclipse/modisco/infra/facet/tests/FacetTests.java b/org.eclipse.modisco.infra.facet.tests/src/org/eclipse/modisco/infra/facet/tests/FacetTests.java
index 3e724ce..181aa04 100644
--- a/org.eclipse.modisco.infra.facet.tests/src/org/eclipse/modisco/infra/facet/tests/FacetTests.java
+++ b/org.eclipse.modisco.infra.facet.tests/src/org/eclipse/modisco/infra/facet/tests/FacetTests.java
@@ -77,7 +77,6 @@
  *

  */

 @SuppressWarnings({ "nls" })

-@Ignore //cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=468339

 public class FacetTests {

 	private static final int NB_MARKER_GETSUBCLASSES = 6;

 	public static final String FILE_EXT = ".facetSet";

diff --git a/org.eclipse.modisco.infra.query.tests/src/org/eclipse/modisco/infra/query/tests/UnitTests.java b/org.eclipse.modisco.infra.query.tests/src/org/eclipse/modisco/infra/query/tests/UnitTests.java
index 00dad6b..65f4f1c 100644
--- a/org.eclipse.modisco.infra.query.tests/src/org/eclipse/modisco/infra/query/tests/UnitTests.java
+++ b/org.eclipse.modisco.infra.query.tests/src/org/eclipse/modisco/infra/query/tests/UnitTests.java
@@ -64,7 +64,6 @@
 import org.junit.Test;

 

 @SuppressWarnings("nls")

-@Ignore // cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=468269

 public class UnitTests {

 

 	private static final String FILE_EXT = ".querySet"; //$NON-NLS-1$

diff --git a/org.eclipse.modisco.java.composition.discoverer.tests/.pmd b/org.eclipse.modisco.java.composition.discoverer.tests/.pmd
new file mode 100644
index 0000000..65055b2
--- /dev/null
+++ b/org.eclipse.modisco.java.composition.discoverer.tests/.pmd
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>

+Copyright (c) 2015 Mia-Software.

+All rights reserved. This program and the accompanying materials

+are made available under the terms of the Eclipse Public License v1.0

+which accompanies this distribution, and is available at

+http://www.eclipse.org/legal/epl-v10.html

+

+Contributors:

+   Grégoire Dupé - Bug 479339 - [Unit Test Failure] org.eclipse.modisco.java.composition.discoverer.tests.TestMemoryUsage.test002

+<pmd>

+    <useProjectRuleSet>true</useProjectRuleSet>

+    <ruleSetFile>../org.eclipse.emf.facet.archi.tech.rules/pmd/ruleset.xml</ruleSetFile>

+    <includeDerivedFiles>false</includeDerivedFiles>

+    <violationsAsErrors>true</violationsAsErrors>

+</pmd>

diff --git a/org.eclipse.modisco.java.composition.discoverer.tests/.project b/org.eclipse.modisco.java.composition.discoverer.tests/.project
index df37cc7..8cf69aa 100644
--- a/org.eclipse.modisco.java.composition.discoverer.tests/.project
+++ b/org.eclipse.modisco.java.composition.discoverer.tests/.project
@@ -20,9 +20,21 @@
 			<arguments>

 			</arguments>

 		</buildCommand>

+		<buildCommand>

+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>net.sourceforge.pmd.eclipse.plugin.pmdBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

 	</buildSpec>

 	<natures>

 		<nature>org.eclipse.pde.PluginNature</nature>

 		<nature>org.eclipse.jdt.core.javanature</nature>

+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>

+		<nature>net.sourceforge.pmd.eclipse.plugin.pmdNature</nature>

 	</natures>

 </projectDescription>

diff --git a/org.eclipse.modisco.java.composition.discoverer.tests/META-INF/MANIFEST.MF b/org.eclipse.modisco.java.composition.discoverer.tests/META-INF/MANIFEST.MF
index 14b4d71..9eff849 100644
--- a/org.eclipse.modisco.java.composition.discoverer.tests/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.java.composition.discoverer.tests/META-INF/MANIFEST.MF
@@ -18,7 +18,8 @@
  org.eclipse.gmt.modisco.infra.query.core;bundle-version="0.9.0",
  org.eclipse.modisco.java.discoverer;bundle-version="0.9.0",
  org.eclipse.modisco.infra.discovery.core;bundle-version="0.9.0",
- org.eclipse.modisco.java.discoverer.tests;bundle-version="0.9.0"
+ org.eclipse.modisco.java.discoverer.tests;bundle-version="0.9.0",
+ org.eclipse.emf.facet.util.core;bundle-version="1.1.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: %Bundle-Vendor
diff --git a/org.eclipse.modisco.java.composition.discoverer.tests/src/org/eclipse/modisco/java/composition/discoverer/tests/TestMemoryUsage.java b/org.eclipse.modisco.java.composition.discoverer.tests/src/org/eclipse/modisco/java/composition/discoverer/tests/TestMemoryUsage.java
index 3d11c0b..bfcacaa 100644
--- a/org.eclipse.modisco.java.composition.discoverer.tests/src/org/eclipse/modisco/java/composition/discoverer/tests/TestMemoryUsage.java
+++ b/org.eclipse.modisco.java.composition.discoverer.tests/src/org/eclipse/modisco/java/composition/discoverer/tests/TestMemoryUsage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************

- * Copyright (c) 2011 Mia-Software.

+ * Copyright (c) 2011, 2015 Mia-Software.

  * 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

@@ -8,6 +8,7 @@
  * Contributors:

  *    Nicolas Guyomar (Mia-Software) - initial API and implementation

  *    Nicolas Bros (Mia-Software) - Bug 335003 - [Discoverer] : Existing Discoverers Refactoring based on new framework

+ *    Grégoire Dupé (Mia-Software) - Bug 479339 - [Unit Test Failure] org.eclipse.modisco.java.composition.discoverer.tests.TestMemoryUsage.test002

  *******************************************************************************/

 package org.eclipse.modisco.java.composition.discoverer.tests;

 

@@ -16,8 +17,6 @@
 import java.util.Enumeration;

 import java.util.Iterator;

 

-import junit.framework.Assert;

-

 import org.eclipse.core.resources.IFile;

 import org.eclipse.core.resources.IFolder;

 import org.eclipse.core.resources.IProject;

@@ -29,50 +28,49 @@
 import org.eclipse.emf.common.util.EList;

 import org.eclipse.emf.ecore.EObject;

 import org.eclipse.emf.ecore.resource.Resource;

-import org.eclipse.gmt.modisco.infra.common.core.logging.MoDiscoLogger;

-import org.eclipse.modisco.java.discoverer.tests.Activator;

+import org.eclipse.emf.facet.util.core.Logger;

 import org.eclipse.jdt.core.IClasspathEntry;

 import org.eclipse.jdt.core.IJavaProject;

 import org.eclipse.jdt.core.JavaCore;

 import org.eclipse.jdt.core.JavaModelException;

 import org.eclipse.jdt.launching.JavaRuntime;

+import org.eclipse.modisco.infra.discovery.core.exception.DiscoveryException;

 import org.eclipse.modisco.java.composition.discoverer.DiscoverKDMSourceAndJavaModelFromJavaProject;

 import org.eclipse.modisco.java.composition.javaapplication.JavaApplication;

+import org.eclipse.modisco.java.discoverer.tests.Activator;

 import org.junit.After;

 import org.junit.Before;

 import org.junit.Test;

 import org.osgi.framework.Bundle;

 

+import junit.framework.Assert;

+

 public class TestMemoryUsage {

 

+	private static final long MAX_MEM_AWAITED = 180;

+	private static final int KILO = 1024;

 	private static final String PROJECT_NAME = JUnitPlugin.PLUGIN_ID

 			+ "_test001"; //$NON-NLS-1$

 

 	private static Resource resource = null;

 	private static JavaApplication model;

 

-	private static final long AWAITED_MEM_MAXIMAL = 100;

-

 	private long memoryUsed;

 	private IProject project = null;

 

-	private final int int1024 = 1024;

-

 	@Before

-	public void initResource() throws Exception {

-

+	public void initResource() throws CoreException, IOException,

+			InterruptedException, DiscoveryException {

 		final long totalMemory = Runtime.getRuntime().totalMemory();

-

 		this.project = ResourcesPlugin.getWorkspace().getRoot()

 				.getProject(TestMemoryUsage.PROJECT_NAME);

-

 		if (this.project.exists()) {

 			this.project.delete(true, true, new NullProgressMonitor());

 		}

 		this.project.create(new NullProgressMonitor());

 		this.project.open(new NullProgressMonitor());

 		deepCopy("/workspace/test001/", this.project, "/"); //$NON-NLS-1$ //$NON-NLS-2$

-		IJavaProject javaProject = JavaCore.create(this.project);

+		final IJavaProject javaProject = JavaCore.create(this.project);

 		addSystemLibraries(javaProject);

 		this.project.refreshLocal(IResource.DEPTH_INFINITE,

 				new NullProgressMonitor());

@@ -81,17 +79,16 @@
 		Job.getJobManager().join(ResourcesPlugin.FAMILY_MANUAL_REFRESH, null);

 		Job.getJobManager().join(ResourcesPlugin.FAMILY_MANUAL_BUILD, null);

 		discoverResource(javaProject);

-		EList<EObject> i = TestMemoryUsage.getResource().getContents();

-		for (Iterator<EObject> iterator = i.iterator(); iterator.hasNext()

+		final EList<EObject> roots = TestMemoryUsage.getResource().getContents();

+		for (final Iterator<EObject> iterator = roots.iterator(); iterator.hasNext()

 				&& TestMemoryUsage.model == null;) {

-			EObject eobject = iterator.next();

+			final EObject eobject = iterator.next();

 			if (eobject instanceof JavaApplication) {

 				TestMemoryUsage.model = (JavaApplication) eobject;

 			}

 		}

-

-		this.memoryUsed = (Runtime.getRuntime().totalMemory() - totalMemory)

-				/ this.int1024 / this.int1024;

+		final long deltaMem = Runtime.getRuntime().totalMemory() - totalMemory;

+		this.memoryUsed = deltaMem / KILO / KILO;

 	}

 

 	@After

@@ -103,56 +100,60 @@
 

 	@Test

 	public void test002() {

+		final String message = String.format(

+				"Abnormal memory use for Java Composition Discoverer: %s > %s", //$NON-NLS-1$

+				Long.toString(this.memoryUsed),

+				Long.toString(TestMemoryUsage.MAX_MEM_AWAITED));

 		Assert.assertTrue(

-				"Abnormal memory use for Java Composition Discoverer " + "\n " + this.memoryUsed //$NON-NLS-1$ //$NON-NLS-2$

-						+ " > " + TestMemoryUsage.AWAITED_MEM_MAXIMAL, //$NON-NLS-1$

-				this.memoryUsed < TestMemoryUsage.AWAITED_MEM_MAXIMAL);

+				message, 

+				this.memoryUsed < TestMemoryUsage.MAX_MEM_AWAITED);

 	}

 

 	private static void discoverResource(final IJavaProject javaProject)

-			throws Exception {

-		DiscoverKDMSourceAndJavaModelFromJavaProject discoverer = new DiscoverKDMSourceAndJavaModelFromJavaProject();

+			throws DiscoveryException {

+		final DiscoverKDMSourceAndJavaModelFromJavaProject discoverer =

+				new DiscoverKDMSourceAndJavaModelFromJavaProject();

 		discoverer.discoverElement(javaProject, new NullProgressMonitor());

 		TestMemoryUsage.resource = discoverer.getTargetModel();

 	}

 

 	private void deepCopy(final String path, final IProject projectTarget,

-			final String destinationPath) throws CoreException, IOException {

-		Bundle bundle = Activator.getDefault().getBundle();

-		Enumeration<?> e = Activator.getDefault().getBundle()

+			final String destPath) throws CoreException, IOException {

+		final Bundle bundle = Activator.getDefault().getBundle();

+		final Enumeration<?> entityPath = Activator.getDefault().getBundle()

 				.getEntryPaths(path);

-		if (e == null) {

+		if (entityPath == null) {

 			try {

 				// destinationPath);

 				InputStream source = bundle.getEntry(path).openStream();

-				IFile javaFile = projectTarget.getFile(destinationPath);

+				final IFile javaFile = projectTarget.getFile(destPath);

 				if (javaFile.exists()) {

 					javaFile.delete(true, new NullProgressMonitor());

 				}

 				javaFile.create(source, true, new NullProgressMonitor());

 				// + destinationPath);

 			} catch (Exception e1) {

-				MoDiscoLogger.logError(e1, JUnitPlugin.getDefault());

+				Logger.logError(e1, JUnitPlugin.getDefault());

 			}

 		} else {

-			String subDestinationPath = "/"; //$NON-NLS-1$

-			if (!destinationPath.equals("/")) { //$NON-NLS-1$

-				IFolder folder = projectTarget.getFolder(destinationPath);

+			String subDestPath = "/"; //$NON-NLS-1$

+			if (!"/".equals(destPath)) { //$NON-NLS-1$

+				final IFolder folder = projectTarget.getFolder(destPath);

 				if (!folder.exists()) {

 					try {

 						folder.create(true, true, new NullProgressMonitor());

 					} catch (Exception e1) {

-						MoDiscoLogger.logError(e1, JUnitPlugin.getDefault());

+						Logger.logError(e1, JUnitPlugin.getDefault());

 					}

 				}

-				subDestinationPath = folder.getProjectRelativePath().toString();

+				subDestPath = folder.getProjectRelativePath().toString();

 			}

-			while (e.hasMoreElements()) {

-				Object object = e.nextElement();

+			while (entityPath.hasMoreElements()) {

+				final Object object = entityPath.nextElement();

 				if (object instanceof String) {

-					String subpath = (String) object;

+					final String subpath = (String) object;

 					if (!subpath.matches(".*/\\.svn/")) { //$NON-NLS-1$

-						String dest = subDestinationPath

+						final String dest = subDestPath

 								+ subpath.substring(path.length() - 1);

 						deepCopy(subpath, projectTarget, dest);

 					}

@@ -165,8 +166,8 @@
 

 	private static void addSystemLibraries(final IJavaProject javaProject)

 			throws JavaModelException {

-		IClasspathEntry[] oldEntries = javaProject.getRawClasspath();

-		IClasspathEntry[] newEntries = new IClasspathEntry[oldEntries.length + 1];

+		final IClasspathEntry[] oldEntries = javaProject.getRawClasspath();

+		final IClasspathEntry[] newEntries = new IClasspathEntry[oldEntries.length + 1];

 		System.arraycopy(oldEntries, 0, newEntries, 0, oldEntries.length);

 		newEntries[oldEntries.length] = JavaRuntime

 				.getDefaultJREContainerEntry();

diff --git a/org.eclipse.modisco.java.composition/META-INF/MANIFEST.MF b/org.eclipse.modisco.java.composition/META-INF/MANIFEST.MF
index a0bae1b..f04f0f6 100644
--- a/org.eclipse.modisco.java.composition/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.java.composition/META-INF/MANIFEST.MF
@@ -1,7 +1,9 @@
 Manifest-Version: 1.0
 Bundle-Activator: org.eclipse.modisco.java.composition.Activator
 Export-Package: org.eclipse.modisco.java.composition.javaapplication,
- org.eclipse.modisco.java.composition.javaapplication.queries;x-friends:="org.eclipse.modisco.java.composition.ui"
+ org.eclipse.modisco.java.composition.javaapplication.impl;x-internal:=true,
+ org.eclipse.modisco.java.composition.javaapplication.queries;x-friends:="org.eclipse.modisco.java.composition.ui",
+ org.eclipse.modisco.java.composition.javaapplication.util;x-internal:=true
 Require-Bundle: org.eclipse.core.runtime,org.eclipse.emf.ecore;visibil
  ity:=reexport,org.eclipse.gmt.modisco.java;visibility:=reexport,org.e
  clipse.gmt.modisco.omg.kdm;visibility:=reexport,org.eclipse.modisco.k
diff --git a/org.eclipse.modisco.java.feature/feature.xml b/org.eclipse.modisco.java.feature/feature.xml
index 842b511..dadb35c 100644
--- a/org.eclipse.modisco.java.feature/feature.xml
+++ b/org.eclipse.modisco.java.feature/feature.xml
@@ -7,7 +7,8 @@
     http://www.eclipse.org/legal/epl-v10.html
    
     Contributors:
-       Gabriel Barbier (Mia-Software) - initial API and implementation
+       Gabriel Barbier (Mia-Software) - initial API and implementation

+       Grégoire Dupé (Mia-Software) - Bug 480189 - org.eclipse.modisco.{manifest,eclipseplugin,properties}* should be added in the updatesite
  -->

 <feature

       id="org.eclipse.modisco.java.feature"

@@ -132,4 +133,39 @@
          install-size="0"

          version="0.0.0"/>

 

+   <plugin

+         id="org.eclipse.modisco.manifest"

+         download-size="0"

+         install-size="0"

+         version="0.0.0"

+         unpack="false"/>

+

+   <plugin

+         id="org.eclipse.modisco.manifest.discoverer"

+         download-size="0"

+         install-size="0"

+         version="0.0.0"

+         unpack="false"/>

+

+   <plugin

+         id="org.eclipse.modisco.manifest.discoverer.ui"

+         download-size="0"

+         install-size="0"

+         version="0.0.0"

+         unpack="false"/>

+

+   <plugin

+         id="org.eclipse.modisco.properties.discoverer"

+         download-size="0"

+         install-size="0"

+         version="0.0.0"

+         unpack="false"/>

+

+   <plugin

+         id="org.eclipse.modisco.properties.discoverer.ui"

+         download-size="0"

+         install-size="0"

+         version="0.0.0"

+         unpack="false"/>

+

 </feature>

diff --git a/org.eclipse.modisco.jee.ejbjar/META-INF/MANIFEST.MF b/org.eclipse.modisco.jee.ejbjar/META-INF/MANIFEST.MF
index f5d1abd..a8c0466 100644
--- a/org.eclipse.modisco.jee.ejbjar/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.jee.ejbjar/META-INF/MANIFEST.MF
@@ -13,12 +13,17 @@
  org.eclipse.gmt.modisco.infra.common.core;bundle-version="0.8.0"

 Bundle-ActivationPolicy: lazy

 Export-Package: org.eclipse.modisco.jee.ejbjar.EjbJar11,

+ org.eclipse.modisco.jee.ejbjar.EjbJar11.impl;x-internal:=true,

  org.eclipse.modisco.jee.ejbjar.EjbJar11.util;x-friends:="org.eclipse.modisco.jee.ejbjar.discoverer",

  org.eclipse.modisco.jee.ejbjar.EjbJar20,

+ org.eclipse.modisco.jee.ejbjar.EjbJar20.impl;x-internal:=true,

  org.eclipse.modisco.jee.ejbjar.EjbJar20.util;x-friends:="org.eclipse.modisco.jee.ejbjar.discoverer",

  org.eclipse.modisco.jee.ejbjar.EjbJar21,

+ org.eclipse.modisco.jee.ejbjar.EjbJar21.impl;x-internal:=true,

  org.eclipse.modisco.jee.ejbjar.EjbJar21.util;x-friends:="org.eclipse.modisco.jee.ejbjar.discoverer",

  org.eclipse.modisco.jee.ejbjar.EjbJar30,

+ org.eclipse.modisco.jee.ejbjar.EjbJar30.impl;x-internal:=true,

  org.eclipse.modisco.jee.ejbjar.EjbJar30.util;x-friends:="org.eclipse.modisco.jee.ejbjar.discoverer",

  org.eclipse.modisco.jee.ejbjar.EjbJar31,

+ org.eclipse.modisco.jee.ejbjar.EjbJar31.impl;x-internal:=true,

  org.eclipse.modisco.jee.ejbjar.EjbJar31.util;x-friends:="org.eclipse.modisco.jee.ejbjar.discoverer"

diff --git a/org.eclipse.modisco.jee.jsp/META-INF/MANIFEST.MF b/org.eclipse.modisco.jee.jsp/META-INF/MANIFEST.MF
index 9322d81..20771da 100644
--- a/org.eclipse.modisco.jee.jsp/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.jee.jsp/META-INF/MANIFEST.MF
@@ -7,7 +7,9 @@
 Bundle-Vendor: %Bundle-Vendor

 Bundle-Localization: plugin

 Bundle-RequiredExecutionEnvironment: J2SE-1.5

-Export-Package: org.eclipse.modisco.jee.jsp

+Export-Package: org.eclipse.modisco.jee.jsp,

+ org.eclipse.modisco.jee.jsp.impl;x-internal:=true,

+ org.eclipse.modisco.jee.jsp.util;x-internal:=true

 Require-Bundle: org.eclipse.core.runtime,

  org.eclipse.emf.ecore;visibility:=reexport,

  org.eclipse.core.resources;bundle-version="3.6.0",

diff --git a/org.eclipse.modisco.jee.webapp/META-INF/MANIFEST.MF b/org.eclipse.modisco.jee.webapp/META-INF/MANIFEST.MF
index 1bf82aa..11cd49a 100644
--- a/org.eclipse.modisco.jee.webapp/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.jee.webapp/META-INF/MANIFEST.MF
@@ -12,13 +12,18 @@
  org.eclipse.gmt.modisco.infra.common.core;bundle-version="0.8.0"

 Bundle-ActivationPolicy: lazy

 Export-Package: org.eclipse.modisco.jee.webapp.webapp22,

+ org.eclipse.modisco.jee.webapp.webapp22.impl;x-internal:=true,

  org.eclipse.modisco.jee.webapp.webapp22.util;x-friends:="org.eclipse.modisco.jee.webapp.discoverer",

  org.eclipse.modisco.jee.webapp.webapp23,

+ org.eclipse.modisco.jee.webapp.webapp23.impl;x-internal:=true,

  org.eclipse.modisco.jee.webapp.webapp23.util;x-friends:="org.eclipse.modisco.jee.webapp.discoverer",

  org.eclipse.modisco.jee.webapp.webapp24,

+ org.eclipse.modisco.jee.webapp.webapp24.impl;x-internal:=true,

  org.eclipse.modisco.jee.webapp.webapp24.util;x-friends:="org.eclipse.modisco.jee.webapp.discoverer",

  org.eclipse.modisco.jee.webapp.webapp25,

+ org.eclipse.modisco.jee.webapp.webapp25.impl;x-internal:=true,

  org.eclipse.modisco.jee.webapp.webapp25.util;x-friends:="org.eclipse.modisco.jee.webapp.discoverer",

  org.eclipse.modisco.jee.webapp.webapp30,

+ org.eclipse.modisco.jee.webapp.webapp30.impl;x-internal:=true,

  org.eclipse.modisco.jee.webapp.webapp30.util;x-friends:="org.eclipse.modisco.jee.webapp.discoverer"

 Bundle-Vendor: %Bundle-Vendor

diff --git a/org.eclipse.modisco.kdm.source.extension/META-INF/MANIFEST.MF b/org.eclipse.modisco.kdm.source.extension/META-INF/MANIFEST.MF
index f70fe83..414c38b 100644
--- a/org.eclipse.modisco.kdm.source.extension/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.kdm.source.extension/META-INF/MANIFEST.MF
@@ -15,7 +15,8 @@
    org.eclipse.modisco.java.composition.browser.customization,
    org.eclipse.modisco.java.composition.discoverer.tests",
  org.eclipse.modisco.kdm.source.extension.discovery,
- org.eclipse.modisco.kdm.source.extension.impl;x-friends:="org.eclipse.modisco.java.composition,org.eclipse.modisco.java.composition.ui"
+ org.eclipse.modisco.kdm.source.extension.impl;x-friends:="org.eclipse.modisco.java.composition,org.eclipse.modisco.java.composition.ui",
+ org.eclipse.modisco.kdm.source.extension.util;x-internal:=true
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.emf.ecore;visibility:=reexport,
  org.eclipse.gmt.modisco.omg.kdm;visibility:=reexport,
diff --git a/org.eclipse.modisco.manifest.discoverer/.checkstyle b/org.eclipse.modisco.manifest.discoverer/.checkstyle
index a3ac56c..2677dd5 100644
--- a/org.eclipse.modisco.manifest.discoverer/.checkstyle
+++ b/org.eclipse.modisco.manifest.discoverer/.checkstyle
@@ -1,8 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2015 Mia-Software.
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
 
+Contributors:
+    Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package'
+-->
 <fileset-config file-format-version="1.2.0" simple-config="true">
-  <local-check-config name="MoDisco" location="../org.eclipse.emf.facet.archi.tech.rules/checkstyle/EmfFacet.checkstyle" type="project" description=""/>
-  <fileset name="all" enabled="true" check-config-name="MoDisco" local="true">
+  <local-check-config name="EmfFacet" location="../org.eclipse.emf.facet.archi.tech.rules/checkstyle/EmfFacet.checkstyle" type="project" description=""/>
+  <fileset name="all" enabled="true" check-config-name="EmfFacet" local="true">
     <file-match-pattern match-pattern="." include-pattern="true"/>
     <file-match-pattern match-pattern="Messages.java" include-pattern="false"/>
   </fileset>
diff --git a/org.eclipse.modisco.manifest.discoverer/.pmd b/org.eclipse.modisco.manifest.discoverer/.pmd
new file mode 100644
index 0000000..a35239b
--- /dev/null
+++ b/org.eclipse.modisco.manifest.discoverer/.pmd
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2015 Mia-Software.
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+
+Contributors:
+    Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package'
+-->
+<pmd>
+    <useProjectRuleSet>true</useProjectRuleSet>
+    <ruleSetFile>../org.eclipse.emf.facet.archi.tech.rules/pmd/ruleset.xml</ruleSetFile>
+    <includeDerivedFiles>false</includeDerivedFiles>
+    <violationsAsErrors>true</violationsAsErrors>
+</pmd>
diff --git a/org.eclipse.modisco.manifest.discoverer/.project b/org.eclipse.modisco.manifest.discoverer/.project
index 00dbf69..cfac9f3 100644
--- a/org.eclipse.modisco.manifest.discoverer/.project
+++ b/org.eclipse.modisco.manifest.discoverer/.project
@@ -25,10 +25,22 @@
 			<arguments>

 			</arguments>

 		</buildCommand>

+		<buildCommand>

+			<name>net.sourceforge.pmd.eclipse.plugin.pmdBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

 	</buildSpec>

 	<natures>

 		<nature>org.eclipse.pde.PluginNature</nature>

 		<nature>org.eclipse.jdt.core.javanature</nature>

 		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>

+		<nature>net.sourceforge.pmd.eclipse.plugin.pmdNature</nature>

+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>

 	</natures>

 </projectDescription>

diff --git a/org.eclipse.modisco.manifest.discoverer/.settings/org.eclipse.core.resources.prefs b/org.eclipse.modisco.manifest.discoverer/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..24bef3d
--- /dev/null
+++ b/org.eclipse.modisco.manifest.discoverer/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2015 Mia-Software.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Gregoire Dupe (Mia-Software) - Bug 480189 - org.eclipse.modisco.{manifest,eclipseplugin,properties}* should be added in the updatesite
+###############################################################################
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.modisco.manifest.discoverer/META-INF/MANIFEST.MF b/org.eclipse.modisco.manifest.discoverer/META-INF/MANIFEST.MF
index 8ec1c2e..cd2f4d5 100644
--- a/org.eclipse.modisco.manifest.discoverer/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.manifest.discoverer/META-INF/MANIFEST.MF
@@ -8,7 +8,8 @@
  org.eclipse.modisco.manifest;bundle-version="0.9.0",
  org.eclipse.gmt.modisco.infra.common.core;bundle-version="0.9.0",
  org.eclipse.modisco.infra.discovery.core;bundle-version="0.9.0",
- org.eclipse.modisco.infra.discovery;bundle-version="0.9.0"
+ org.eclipse.modisco.infra.discovery;bundle-version="0.9.0",
+ org.eclipse.emf.facet.util.core;bundle-version="1.1.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: org.eclipse.modisco.manifest.discoverer
diff --git a/org.eclipse.modisco.manifest.discoverer/src/org/eclipse/modisco/manifest/discoverer/ManifestModelDiscoverer2.java b/org.eclipse.modisco.manifest.discoverer/src/org/eclipse/modisco/manifest/discoverer/ManifestModelDiscoverer2.java
index 725ce16..4b858f4 100644
--- a/org.eclipse.modisco.manifest.discoverer/src/org/eclipse/modisco/manifest/discoverer/ManifestModelDiscoverer2.java
+++ b/org.eclipse.modisco.manifest.discoverer/src/org/eclipse/modisco/manifest/discoverer/ManifestModelDiscoverer2.java
@@ -1,5 +1,5 @@
 /*******************************************************************************

- * Copyright (c) 2011 Mia-Software.

+ * Copyright (c) 2011, 2015 Mia-Software.

  * 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

@@ -8,21 +8,26 @@
  * Contributors:

  *    Frederic Madiot (Mia-Software) - initial API and implementation

  *    Nicolas Bros (Mia-Software) - Bug 335003 - [Discoverer] : Existing Discoverers Refactoring based on new framework

+ *    Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

  *******************************************************************************/

 package org.eclipse.modisco.manifest.discoverer;

 

+import java.io.IOException;

 import java.io.InputStream;

 import java.util.ArrayList;

 import java.util.HashMap;

 import java.util.List;

+import java.util.Map;

 

 import org.eclipse.core.resources.IFile;

 import org.eclipse.core.runtime.IProgressMonitor;

 import org.eclipse.emf.common.util.URI;

 import org.eclipse.emf.ecore.resource.Resource;

+import org.eclipse.emf.facet.util.core.Logger;

 import org.eclipse.modisco.infra.discovery.core.AbstractModelDiscoverer;

 import org.eclipse.modisco.infra.discovery.core.exception.DiscoveryException;

 import org.eclipse.modisco.manifest.Bundle;

+import org.eclipse.modisco.manifest.ExportedPackage;

 import org.eclipse.modisco.manifest.ImportedPackage;

 import org.eclipse.modisco.manifest.ManifestFactory;

 import org.eclipse.modisco.manifest.RequiredBundle;

@@ -37,107 +42,156 @@
 	}

 

 	@Override

-	protected void basicDiscoverElement(final IFile file, final IProgressMonitor monitor)

-			throws DiscoveryException {

-		setDefaultTargetURI(URI.createPlatformResourceURI(file.getFullPath() + ".xmi", true)); //$NON-NLS-1$

-		Resource resource = discoverManifestModel(file);

+	protected void basicDiscoverElement(final IFile file,

+			final IProgressMonitor monitor) throws DiscoveryException {

+		final String pathName = file.getFullPath() + ".xmi"; //$NON-NLS-1$

+		final URI uri = URI.createPlatformResourceURI(pathName, true);

+		setDefaultTargetURI(uri);

+		final Resource resource = discoverManifestModel(file);

 		setTargetModel(resource);

-

 	}

 

 	private static void discoverBundleSymbolicName(final Bundle bundle,

 			final String symbolicNameValue) throws DiscoveryException {

 		try {

-			ManifestElement[] elements = ManifestElement.parseHeader(

+			final ManifestElement[] elements = ManifestElement.parseHeader(

 					"Bundle-SymbolicName", symbolicNameValue); //$NON-NLS-1$

-

 			if (elements != null && elements.length > 0) {

-				ManifestElement manifestElement = elements[0];

+				final ManifestElement manifestElement = elements[0];

 				bundle.setSymbolicName(manifestElement.getValue());

-				String singletonAttr = manifestElement.getDirective("singleton"); //$NON-NLS-1$

+				final String singletonAttr =

+						manifestElement.getDirective("singleton"); //$NON-NLS-1$

 				if ("true".equals(singletonAttr)) { //$NON-NLS-1$

 					bundle.setSingleton(true);

 				}

 			}

-

 		} catch (BundleException e) {

 			throw new DiscoveryException(e);

 		}

 	}

 

-	private Resource discoverManifestModel(final IFile manifestFile) throws DiscoveryException {

-		HashMap<String, String> manifestValues = new HashMap<String, String>();

-		InputStream manifestContent;

+	private Resource discoverManifestModel(final IFile manifestFile)

+			throws DiscoveryException {

+		final HashMap<String, String> manifestValues = new HashMap<String, String>();

+		final Resource manifestResource = createTargetModel();

+		InputStream manifestContent = null;

 		try {

 			manifestContent = manifestFile.getContents();

 			ManifestElement.parseBundleManifest(manifestContent, manifestValues);

+			final Bundle bundle = ManifestFactory.eINSTANCE.createBundle();

+			manifestResource.getContents().add(bundle);

+			bundle.setVersion(manifestValues.get("Bundle-Version")); //$NON-NLS-1$

+			discoverBundleSymbolicName(bundle, manifestValues.get("Bundle-SymbolicName")); //$NON-NLS-1$

+			bundle.setName(manifestValues.get("Bundle-Name")); //$NON-NLS-1$

+			bundle.setActivator(manifestValues.get("Bundle-Activator")); //$NON-NLS-1$

+			bundle.setVendor(manifestValues.get("Bundle-Vendor")); //$NON-NLS-1$

+			bundle.setActivationPolicy(manifestValues.get("Bundle-ActivationPolicy")); //$NON-NLS-1$

+			bundle.setRequiredExecutionEnvironment(manifestValues

+					.get("Bundle-RequiredExecutionEnvironment")); //$NON-NLS-1$

+			final ManifestElement[] rBundleMElts = 

+					parseHeader(manifestValues, "Require-Bundle"); //$NON-NLS-1$

+			if (rBundleMElts != null) {

+				final List<RequiredBundle> requiredBundles = 

+						discoverRequiredBundle(rBundleMElts);

+				bundle.getRequiredBundles().addAll(requiredBundles);

+			}

+			discoverImportPackage(manifestValues, bundle);

+			discoverExportPackage(manifestValues, bundle);

 		} catch (Exception e) {

 			throw new DiscoveryException(e);

-		}

-

-		Resource manifestModelResource = createTargetModel();

-

-		Bundle bundle = ManifestFactory.eINSTANCE.createBundle();

-		manifestModelResource.getContents().add(bundle);

-

-		bundle.setVersion(manifestValues.get("Bundle-Version")); //$NON-NLS-1$

-		discoverBundleSymbolicName(bundle, manifestValues.get("Bundle-SymbolicName")); //$NON-NLS-1$

-		bundle.setName(manifestValues.get("Bundle-Name")); //$NON-NLS-1$

-		bundle.setActivator(manifestValues.get("Bundle-Activator")); //$NON-NLS-1$

-		bundle.setVendor(manifestValues.get("Bundle-Vendor")); //$NON-NLS-1$

-		bundle.setActivationPolicy(manifestValues.get("Bundle-ActivationPolicy")); //$NON-NLS-1$

-		bundle.setRequiredExecutionEnvironment(manifestValues

-				.get("Bundle-RequiredExecutionEnvironment")); //$NON-NLS-1$

-

-		try {

-			ManifestElement[] requiredBundles = ManifestElement.parseHeader(

-					"Require-Bundle", manifestValues.get("Require-Bundle")); //$NON-NLS-1$ //$NON-NLS-2$

-			if (requiredBundles != null) {

-				bundle.getRequiredBundles().addAll(discoverRequiredBundle(requiredBundles));

-			}

-

-			ManifestElement[] importedPackages = ManifestElement.parseHeader(

-					"Import-Package", manifestValues.get("Import-Package")); //$NON-NLS-1$ //$NON-NLS-2$

-			if (importedPackages != null) {

-				for (ManifestElement element : importedPackages) {

-					ImportedPackage importedPackage = ManifestFactory.eINSTANCE

-							.createImportedPackage();

-					importedPackage.setName(element.getValue());

-					String bundleVersion = element.getAttribute("version"); //$NON-NLS-1$

-					if (bundleVersion != null) {

-						importedPackage.setVersion(discoverVersion(bundleVersion));

-					}

-					bundle.getImportedPackages().add(importedPackage);

+		} finally {

+			try {

+				if (manifestContent != null) {

+					manifestContent.close();

 				}

+			} catch (IOException e) {

+				final String string = String.format(

+						"Manifest input stream closing faied (%s)", //$NON-NLS-1$

+						manifestFile.getLocation().toOSString()

+					);

+				Logger.logError(e, string, Activator.getDefault());

 			}

-		} catch (Exception e) {

-			throw new DiscoveryException(e);

 		}

+		return manifestResource;

+	}

 

-		return manifestModelResource;

+	private static void discoverExportPackage(

+			final Map<String, String> manifestValues, final Bundle bundle)

+					throws BundleException {

+		final ManifestElement[] exportPackages = 

+				parseHeader(manifestValues, "Export-Package"); //$NON-NLS-1$

+		if (exportPackages != null) {

+			for (ManifestElement exportPackage : exportPackages) {

+				final ExportedPackage exportedPackage = ManifestFactory.eINSTANCE

+						.createExportedPackage();

+				exportedPackage.setName(exportPackage.getValue());

+				if (exportPackage.getDirective("x-internal") == null) { //$NON-NLS-1$

+					final String directive = exportPackage.getDirective("x-friends"); //$NON-NLS-1$

+					if (directive == null) {

+						exportedPackage.setXInternal(false);

+					} else {

+						exportedPackage.setXInternal(true);

+						final String[] xFriends = directive.split(","); //$NON-NLS-1$

+						for (String xFriend : xFriends) {

+							final Bundle xfBundle = ManifestFactory.eINSTANCE.createBundle();

+							xfBundle.setName(xFriend);

+							exportedPackage.getXFriends().add(xfBundle);

+						}

+					}

+				} else {

+					exportedPackage.setXInternal(true);

+				}

+				bundle.getExportPackages().add(exportedPackage);

+			}

+		}

+	}

+

+	private static void discoverImportPackage(

+			final Map<String, String> manifestValues, final Bundle bundle)

+					throws BundleException {

+		final ManifestElement[] importedPackages = 

+				parseHeader(manifestValues, "Import-Package"); //$NON-NLS-1$

+		if (importedPackages != null) {

+			for (ManifestElement element : importedPackages) {

+				final ImportedPackage importedPackage = ManifestFactory.eINSTANCE

+						.createImportedPackage();

+				importedPackage.setName(element.getValue());

+				final String bundleVersion = element.getAttribute("version"); //$NON-NLS-1$

+				if (bundleVersion != null) {

+					importedPackage.setVersion(discoverVersion(bundleVersion));

+				}

+				bundle.getImportedPackages().add(importedPackage);

+			}

+		}

+	}

+

+	private static ManifestElement[] parseHeader(

+			final Map<String, String> manifestValues, final String key)

+					throws BundleException {

+		return ManifestElement.parseHeader(key, manifestValues.get(key));

 	}

 

 	private static Version discoverVersion(final String bundleVersion) {

-		Version version = ManifestFactory.eINSTANCE.createVersion();

-		String firstChar = bundleVersion.substring(0, 1);

-		if (firstChar.equals("(") || firstChar.equals("[")) { //$NON-NLS-1$ //$NON-NLS-2$

-			if (firstChar.equals("[")) { //$NON-NLS-1$

+		final Version version = ManifestFactory.eINSTANCE.createVersion();

+		final String firstChar = bundleVersion.substring(0, 1);

+		if ("(".equals(firstChar) || "[".equals(firstChar)) { //$NON-NLS-1$ //$NON-NLS-2$

+			if ("[".equals(firstChar)) { //$NON-NLS-1$

 				version.setMinimumIsInclusive(true);

 			} else {

 				version.setMinimumIsInclusive(false);

 			}

-			int indexOfVersionSeparator = bundleVersion.indexOf(',');

-			String minimumVersion = bundleVersion.substring(1, indexOfVersionSeparator);

+			final int indexOfSeparator = bundleVersion.indexOf(',');

+			final String minimumVersion = bundleVersion.substring(

+					1, indexOfSeparator);

 			version.setMinimum(minimumVersion);

-			String maximumVersion = bundleVersion.substring(indexOfVersionSeparator + 1,

-					bundleVersion.length() - 1);

+			final String maximumVersion = bundleVersion.substring(

+					indexOfSeparator + 1, bundleVersion.length() - 1);

 			version.setMaximum(maximumVersion);

 			if (bundleVersion.substring(bundleVersion.length() - 1).equals("]")) { //$NON-NLS-1$

 				version.setMaximumIsInclusive(true);

 			} else {

 				version.setMaximumIsInclusive(false);

 			}

-

 		} else {

 			version.setMinimum(bundleVersion);

 		}

@@ -146,11 +200,13 @@
 

 	private static List<RequiredBundle> discoverRequiredBundle(

 			final ManifestElement[] requiredBundles) {

-		List<RequiredBundle> result = new ArrayList<RequiredBundle>();

+		final List<RequiredBundle> result = new ArrayList<RequiredBundle>();

 		for (ManifestElement element : requiredBundles) {

-			RequiredBundle requiredBundle = ManifestFactory.eINSTANCE.createRequiredBundle();

+			final RequiredBundle requiredBundle =

+					ManifestFactory.eINSTANCE.createRequiredBundle();

 			requiredBundle.setSymbolicName(element.getValue());

-			String bundleVersion = element.getAttribute("bundle-version"); //$NON-NLS-1$

+			final String bundleVersion =

+					element.getAttribute("bundle-version"); //$NON-NLS-1$

 			if (bundleVersion != null) {

 				requiredBundle.setVersion(discoverVersion(bundleVersion));

 			}

diff --git a/org.eclipse.modisco.manifest/META-INF/MANIFEST.MF b/org.eclipse.modisco.manifest/META-INF/MANIFEST.MF
index 628fef7..c004de1 100644
--- a/org.eclipse.modisco.manifest/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.manifest/META-INF/MANIFEST.MF
@@ -8,8 +8,8 @@
 Bundle-Localization: plugin

 Bundle-RequiredExecutionEnvironment: J2SE-1.5

 Export-Package: org.eclipse.modisco.manifest,

- org.eclipse.modisco.manifest.impl,

- org.eclipse.modisco.manifest.util

+ org.eclipse.modisco.manifest.impl;x-internal:=true,

+ org.eclipse.modisco.manifest.util;x-internal:=true

 Require-Bundle: org.eclipse.core.runtime,

  org.eclipse.emf.ecore;visibility:=reexport

 Bundle-ActivationPolicy: lazy

diff --git a/org.eclipse.modisco.manifest/model/Manifest.ecore b/org.eclipse.modisco.manifest/model/Manifest.ecore
index 0910ccc..b0598d4 100644
--- a/org.eclipse.modisco.manifest/model/Manifest.ecore
+++ b/org.eclipse.modisco.manifest/model/Manifest.ecore
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <ecore:EPackage xmi:version="2.0"

-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+    xmlns:xmi="http://www.omg.org/XMI"

+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

     xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="manifest"

     nsURI="http://www.eclipse.org/MoDisco/manifest" nsPrefix="manifest">

   <eClassifiers xsi:type="ecore:EClass" name="Bundle">

@@ -17,6 +18,8 @@
         eType="#//RequiredBundle" containment="true"/>

     <eStructuralFeatures xsi:type="ecore:EReference" name="importedPackages" upperBound="-1"

         eType="#//ImportedPackage" containment="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="exportPackages" upperBound="-1"

+        eType="#//ExportedPackage"/>

   </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="RequiredBundle">

     <eStructuralFeatures xsi:type="ecore:EAttribute" name="symbolicName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

@@ -34,4 +37,11 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

     <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximumIsInclusive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>

   </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ExportedPackage">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="xFriends" upperBound="-1"

+        eType="#//Bundle"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="xInternal" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>

+  </eClassifiers>

 </ecore:EPackage>

diff --git a/org.eclipse.modisco.manifest/model/Manifest.genmodel b/org.eclipse.modisco.manifest/model/Manifest.genmodel
index 571f8c1..c8d660e 100644
--- a/org.eclipse.modisco.manifest/model/Manifest.genmodel
+++ b/org.eclipse.modisco.manifest/model/Manifest.genmodel
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <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" copyrightText="Copyright (c) 2010 Mia-Software.&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA;    Frederic Madiot (Mia-Software) - metamodel design and initial implementation&#xD;&#xA;"

+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2010, 2015 Mia-Software.&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA;    Frederic Madiot (Mia-Software) - metamodel design and initial implementation&#xD;&#xA;    Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' "

     modelDirectory="/org.eclipse.modisco.manifest/src" modelPluginID="org.eclipse.modisco.manifest"

     modelName="Manifest" importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0"

-    copyrightFields="false">

+    copyrightFields="false" runtimeVersion="2.6">

   <foreignModel>Manifest.ecore</foreignModel>

   <genPackages prefix="Manifest" basePackage="org.eclipse.modisco" disposableProviderFactory="true"

       ecorePackage="Manifest.ecore#/">

@@ -19,6 +19,7 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Manifest.ecore#//Bundle/vendor"/>

       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Manifest.ecore#//Bundle/requiredBundles"/>

       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Manifest.ecore#//Bundle/importedPackages"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Manifest.ecore#//Bundle/exportPackages"/>

     </genClasses>

     <genClasses ecoreClass="Manifest.ecore#//RequiredBundle">

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Manifest.ecore#//RequiredBundle/symbolicName"/>

@@ -34,5 +35,10 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Manifest.ecore#//Version/maximum"/>

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Manifest.ecore#//Version/maximumIsInclusive"/>

     </genClasses>

+    <genClasses ecoreClass="Manifest.ecore#//ExportedPackage">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Manifest.ecore#//ExportedPackage/name"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Manifest.ecore#//ExportedPackage/xFriends"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Manifest.ecore#//ExportedPackage/xInternal"/>

+    </genClasses>

   </genPackages>

 </genmodel:GenModel>

diff --git a/org.eclipse.modisco.manifest/pom.xsl b/org.eclipse.modisco.manifest/pom.xsl
new file mode 100644
index 0000000..8113849
--- /dev/null
+++ b/org.eclipse.modisco.manifest/pom.xsl
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!-- 

+Copyright (c) 2015 Mia-Software.

+All rights reserved.

+This program and the accompanying materials are made available under 

+the terms of the Eclipse Public License v1.0 which accompanies this distribution, 

+and is available at http://www.eclipse.org/legal/epl-v10.html

+Contributors:

+    Grégoire Dupé (Mia-Software) - Bug 480189 - org.eclipse.modisco.manifest* and org.eclipse.modisco.eclipseplugin* should be added in the updatesite

+-->

+<xsl:stylesheet version="1.0"

+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

+	xmlns:exsl="http://exslt.org/common"

+	extension-element-prefixes="exsl"

+	xmlns:m2="http://maven.apache.org/POM/4.0.0"

+	xmlns="http://maven.apache.org/POM/4.0.0">

+	<xsl:output indent="yes" />

+

+	<xsl:template match="/">

+		

+		<project

+			xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"

+			xmlns="http://maven.apache.org/POM/4.0.0"

+			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

+			<xsl:apply-templates select="//m2:project/*[name()!='build']" />

+			<build>

+				<plugins>

+					<xsl:copy-of select="//m2:project/m2:build/m2:plugins/m2:plugin[(m2:artifactId!='maven-checkstyle-plugin')and(m2:artifactId!='maven-pmd-plugin')]"/>

+				</plugins>

+				<xsl:copy-of select="//m2:project/build/*[name()!='plugins']"/>

+			</build>

+		</project>

+	</xsl:template>

+

+	<xsl:template match="m2:*|@*">

+		<xsl:copy-of select="." />

+	</xsl:template>

+

+</xsl:stylesheet>

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/Bundle.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/Bundle.java
index 6c0dad9..422d33c 100644
--- a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/Bundle.java
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/Bundle.java
@@ -1,16 +1,18 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mia-Software.

+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- *

+ * 

  * Contributors:

- *    Frederic Madiot (Mia-Software) - initial API and implementation

- *******************************************************************************/

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

 package org.eclipse.modisco.manifest;

 

 import org.eclipse.emf.common.util.EList;

+

 import org.eclipse.emf.ecore.EObject;

 

 /**

@@ -20,6 +22,7 @@
  *

  * <p>

  * The following features are supported:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.manifest.Bundle#getName <em>Name</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.Bundle#isSingleton <em>Singleton</em>}</li>

@@ -31,8 +34,8 @@
  *   <li>{@link org.eclipse.modisco.manifest.Bundle#getVendor <em>Vendor</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.Bundle#getRequiredBundles <em>Required Bundles</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.Bundle#getImportedPackages <em>Imported Packages</em>}</li>

+ *   <li>{@link org.eclipse.modisco.manifest.Bundle#getExportPackages <em>Export Packages</em>}</li>

  * </ul>

- * </p>

  *

  * @see org.eclipse.modisco.manifest.ManifestPackage#getBundle()

  * @model

@@ -268,7 +271,7 @@
 	 * The list contents are of type {@link org.eclipse.modisco.manifest.ImportedPackage}.

 	 * <!-- begin-user-doc -->

 	 * <p>

-	 * If the meaning of the '<em>Imported Packages</em>' reference list isn't clear,

+	 * If the meaning of the '<em>Imported Packages</em>' containment reference list isn't clear,

 	 * there really should be more of a description here...

 	 * </p>

 	 * <!-- end-user-doc -->

@@ -279,4 +282,20 @@
 	 */

 	EList<ImportedPackage> getImportedPackages();

 

+	/**

+	 * Returns the value of the '<em><b>Export Packages</b></em>' reference list.

+	 * The list contents are of type {@link org.eclipse.modisco.manifest.ExportedPackage}.

+	 * <!-- begin-user-doc -->

+	 * <p>

+	 * If the meaning of the '<em>Export Packages</em>' reference list isn't clear,

+	 * there really should be more of a description here...

+	 * </p>

+	 * <!-- end-user-doc -->

+	 * @return the value of the '<em>Export Packages</em>' reference list.

+	 * @see org.eclipse.modisco.manifest.ManifestPackage#getBundle_ExportPackages()

+	 * @model

+	 * @generated

+	 */

+	EList<ExportedPackage> getExportPackages();

+

 } // Bundle

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ExportedPackage.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ExportedPackage.java
new file mode 100644
index 0000000..c6e98ec
--- /dev/null
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ExportedPackage.java
@@ -0,0 +1,105 @@
+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ * 

+ * Contributors:

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

+package org.eclipse.modisco.manifest;

+

+import org.eclipse.emf.common.util.EList;

+

+import org.eclipse.emf.ecore.EObject;

+

+/**

+ * <!-- begin-user-doc -->

+ * A representation of the model object '<em><b>Exported Package</b></em>'.

+ * <!-- end-user-doc -->

+ *

+ * <p>

+ * The following features are supported:

+ * </p>

+ * <ul>

+ *   <li>{@link org.eclipse.modisco.manifest.ExportedPackage#getName <em>Name</em>}</li>

+ *   <li>{@link org.eclipse.modisco.manifest.ExportedPackage#getXFriends <em>XFriends</em>}</li>

+ *   <li>{@link org.eclipse.modisco.manifest.ExportedPackage#isXInternal <em>XInternal</em>}</li>

+ * </ul>

+ *

+ * @see org.eclipse.modisco.manifest.ManifestPackage#getExportedPackage()

+ * @model

+ * @generated

+ */

+public interface ExportedPackage 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.eclipse.modisco.manifest.ManifestPackage#getExportedPackage_Name()

+	 * @model required="true"

+	 * @generated

+	 */

+	String getName();

+

+	/**

+	 * Sets the value of the '{@link org.eclipse.modisco.manifest.ExportedPackage#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>XFriends</b></em>' reference list.

+	 * The list contents are of type {@link org.eclipse.modisco.manifest.Bundle}.

+	 * <!-- begin-user-doc -->

+	 * <p>

+	 * If the meaning of the '<em>XFriends</em>' reference list isn't clear,

+	 * there really should be more of a description here...

+	 * </p>

+	 * <!-- end-user-doc -->

+	 * @return the value of the '<em>XFriends</em>' reference list.

+	 * @see org.eclipse.modisco.manifest.ManifestPackage#getExportedPackage_XFriends()

+	 * @model

+	 * @generated

+	 */

+	EList<Bundle> getXFriends();

+

+	/**

+	 * Returns the value of the '<em><b>XInternal</b></em>' attribute.

+	 * <!-- begin-user-doc -->

+	 * <p>

+	 * If the meaning of the '<em>XInternal</em>' attribute isn't clear,

+	 * there really should be more of a description here...

+	 * </p>

+	 * <!-- end-user-doc -->

+	 * @return the value of the '<em>XInternal</em>' attribute.

+	 * @see #setXInternal(boolean)

+	 * @see org.eclipse.modisco.manifest.ManifestPackage#getExportedPackage_XInternal()

+	 * @model required="true"

+	 * @generated

+	 */

+	boolean isXInternal();

+

+	/**

+	 * Sets the value of the '{@link org.eclipse.modisco.manifest.ExportedPackage#isXInternal <em>XInternal</em>}' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @param value the new value of the '<em>XInternal</em>' attribute.

+	 * @see #isXInternal()

+	 * @generated

+	 */

+	void setXInternal(boolean value);

+

+} // ExportedPackage

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ImportedPackage.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ImportedPackage.java
index ca19e88..1f478b0 100644
--- a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ImportedPackage.java
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ImportedPackage.java
@@ -1,13 +1,14 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mia-Software.

+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- *

+ * 

  * Contributors:

- *    Frederic Madiot (Mia-Software) - initial API and implementation

- *******************************************************************************/

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

 package org.eclipse.modisco.manifest;

 

 import org.eclipse.emf.ecore.EObject;

@@ -19,11 +20,11 @@
  *

  * <p>

  * The following features are supported:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.manifest.ImportedPackage#getName <em>Name</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.ImportedPackage#getVersion <em>Version</em>}</li>

  * </ul>

- * </p>

  *

  * @see org.eclipse.modisco.manifest.ManifestPackage#getImportedPackage()

  * @model

@@ -60,7 +61,7 @@
 	 * Returns the value of the '<em><b>Version</b></em>' containment reference.

 	 * <!-- begin-user-doc -->

 	 * <p>

-	 * If the meaning of the '<em>Version</em>' reference isn't clear,

+	 * If the meaning of the '<em>Version</em>' containment reference isn't clear,

 	 * there really should be more of a description here...

 	 * </p>

 	 * <!-- end-user-doc -->

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ManifestFactory.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ManifestFactory.java
index fb491ef..c6bea6c 100644
--- a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ManifestFactory.java
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ManifestFactory.java
@@ -1,13 +1,14 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mia-Software.

+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- *

+ * 

  * Contributors:

- *    Frederic Madiot (Mia-Software) - initial API and implementation

- *******************************************************************************/

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

 package org.eclipse.modisco.manifest;

 

 import org.eclipse.emf.ecore.EFactory;

@@ -66,6 +67,15 @@
 	Version createVersion();

 

 	/**

+	 * Returns a new object of class '<em>Exported Package</em>'.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @return a new object of class '<em>Exported Package</em>'.

+	 * @generated

+	 */

+	ExportedPackage createExportedPackage();

+

+	/**

 	 * Returns the package supported by this factory.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ManifestPackage.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ManifestPackage.java
index 2b9f133..e28b290 100644
--- a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ManifestPackage.java
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/ManifestPackage.java
@@ -1,13 +1,14 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mia-Software.

+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- *

+ * 

  * Contributors:

- *    Frederic Madiot (Mia-Software) - initial API and implementation

- *******************************************************************************/

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

 package org.eclipse.modisco.manifest;

 

 import org.eclipse.emf.ecore.EAttribute;

@@ -37,7 +38,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String eNAME = "manifest"; //$NON-NLS-1$

+	String eNAME = "manifest";

 

 	/**

 	 * The package namespace URI.

@@ -45,7 +46,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String eNS_URI = "http://www.eclipse.org/MoDisco/manifest"; //$NON-NLS-1$

+	String eNS_URI = "http://www.eclipse.org/MoDisco/manifest";

 

 	/**

 	 * The package namespace name.

@@ -53,7 +54,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	String eNS_PREFIX = "manifest"; //$NON-NLS-1$

+	String eNS_PREFIX = "manifest";

 

 	/**

 	 * The singleton instance of the package.

@@ -164,14 +165,22 @@
 	int BUNDLE__IMPORTED_PACKAGES = 9;

 

 	/**

+	 * The feature id for the '<em><b>Export Packages</b></em>' reference list.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 * @ordered

+	 */

+	int BUNDLE__EXPORT_PACKAGES = 10;

+

+	/**

 	 * The number of structural features of the '<em>Bundle</em>' class.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

 	 * @generated

 	 * @ordered

 	 */

-	int BUNDLE_FEATURE_COUNT = 10;

-

+	int BUNDLE_FEATURE_COUNT = 11;

 

 	/**

 	 * The meta object id for the '{@link org.eclipse.modisco.manifest.impl.RequiredBundleImpl <em>Required Bundle</em>}' class.

@@ -210,7 +219,6 @@
 	 */

 	int REQUIRED_BUNDLE_FEATURE_COUNT = 2;

 

-

 	/**

 	 * The meta object id for the '{@link org.eclipse.modisco.manifest.impl.ImportedPackageImpl <em>Imported Package</em>}' class.

 	 * <!-- begin-user-doc -->

@@ -303,6 +311,52 @@
 	 */

 	int VERSION_FEATURE_COUNT = 4;

 

+	/**

+	 * The meta object id for the '{@link org.eclipse.modisco.manifest.impl.ExportedPackageImpl <em>Exported Package</em>}' class.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see org.eclipse.modisco.manifest.impl.ExportedPackageImpl

+	 * @see org.eclipse.modisco.manifest.impl.ManifestPackageImpl#getExportedPackage()

+	 * @generated

+	 */

+	int EXPORTED_PACKAGE = 4;

+

+	/**

+	 * The feature id for the '<em><b>Name</b></em>' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 * @ordered

+	 */

+	int EXPORTED_PACKAGE__NAME = 0;

+

+	/**

+	 * The feature id for the '<em><b>XFriends</b></em>' reference list.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 * @ordered

+	 */

+	int EXPORTED_PACKAGE__XFRIENDS = 1;

+

+	/**

+	 * The feature id for the '<em><b>XInternal</b></em>' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 * @ordered

+	 */

+	int EXPORTED_PACKAGE__XINTERNAL = 2;

+

+	/**

+	 * The number of structural features of the '<em>Exported Package</em>' class.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 * @ordered

+	 */

+	int EXPORTED_PACKAGE_FEATURE_COUNT = 3;

+

 

 	/**

 	 * Returns the meta object for class '{@link org.eclipse.modisco.manifest.Bundle <em>Bundle</em>}'.

@@ -425,6 +479,17 @@
 	EReference getBundle_ImportedPackages();

 

 	/**

+	 * Returns the meta object for the reference list '{@link org.eclipse.modisco.manifest.Bundle#getExportPackages <em>Export Packages</em>}'.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @return the meta object for the reference list '<em>Export Packages</em>'.

+	 * @see org.eclipse.modisco.manifest.Bundle#getExportPackages()

+	 * @see #getBundle()

+	 * @generated

+	 */

+	EReference getBundle_ExportPackages();

+

+	/**

 	 * Returns the meta object for class '{@link org.eclipse.modisco.manifest.RequiredBundle <em>Required Bundle</em>}'.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -543,6 +608,49 @@
 	EAttribute getVersion_MaximumIsInclusive();

 

 	/**

+	 * Returns the meta object for class '{@link org.eclipse.modisco.manifest.ExportedPackage <em>Exported Package</em>}'.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @return the meta object for class '<em>Exported Package</em>'.

+	 * @see org.eclipse.modisco.manifest.ExportedPackage

+	 * @generated

+	 */

+	EClass getExportedPackage();

+

+	/**

+	 * Returns the meta object for the attribute '{@link org.eclipse.modisco.manifest.ExportedPackage#getName <em>Name</em>}'.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @return the meta object for the attribute '<em>Name</em>'.

+	 * @see org.eclipse.modisco.manifest.ExportedPackage#getName()

+	 * @see #getExportedPackage()

+	 * @generated

+	 */

+	EAttribute getExportedPackage_Name();

+

+	/**

+	 * Returns the meta object for the reference list '{@link org.eclipse.modisco.manifest.ExportedPackage#getXFriends <em>XFriends</em>}'.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @return the meta object for the reference list '<em>XFriends</em>'.

+	 * @see org.eclipse.modisco.manifest.ExportedPackage#getXFriends()

+	 * @see #getExportedPackage()

+	 * @generated

+	 */

+	EReference getExportedPackage_XFriends();

+

+	/**

+	 * Returns the meta object for the attribute '{@link org.eclipse.modisco.manifest.ExportedPackage#isXInternal <em>XInternal</em>}'.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @return the meta object for the attribute '<em>XInternal</em>'.

+	 * @see org.eclipse.modisco.manifest.ExportedPackage#isXInternal()

+	 * @see #getExportedPackage()

+	 * @generated

+	 */

+	EAttribute getExportedPackage_XInternal();

+

+	/**

 	 * Returns the factory that creates the instances of the model.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -655,6 +763,14 @@
 		EReference BUNDLE__IMPORTED_PACKAGES = eINSTANCE.getBundle_ImportedPackages();

 

 		/**

+		 * The meta object literal for the '<em><b>Export Packages</b></em>' reference list feature.

+		 * <!-- begin-user-doc -->

+		 * <!-- end-user-doc -->

+		 * @generated

+		 */

+		EReference BUNDLE__EXPORT_PACKAGES = eINSTANCE.getBundle_ExportPackages();

+

+		/**

 		 * The meta object literal for the '{@link org.eclipse.modisco.manifest.impl.RequiredBundleImpl <em>Required Bundle</em>}' class.

 		 * <!-- begin-user-doc -->

 		 * <!-- end-user-doc -->

@@ -748,6 +864,40 @@
 		 */

 		EAttribute VERSION__MAXIMUM_IS_INCLUSIVE = eINSTANCE.getVersion_MaximumIsInclusive();

 

+		/**

+		 * The meta object literal for the '{@link org.eclipse.modisco.manifest.impl.ExportedPackageImpl <em>Exported Package</em>}' class.

+		 * <!-- begin-user-doc -->

+		 * <!-- end-user-doc -->

+		 * @see org.eclipse.modisco.manifest.impl.ExportedPackageImpl

+		 * @see org.eclipse.modisco.manifest.impl.ManifestPackageImpl#getExportedPackage()

+		 * @generated

+		 */

+		EClass EXPORTED_PACKAGE = eINSTANCE.getExportedPackage();

+

+		/**

+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.

+		 * <!-- begin-user-doc -->

+		 * <!-- end-user-doc -->

+		 * @generated

+		 */

+		EAttribute EXPORTED_PACKAGE__NAME = eINSTANCE.getExportedPackage_Name();

+

+		/**

+		 * The meta object literal for the '<em><b>XFriends</b></em>' reference list feature.

+		 * <!-- begin-user-doc -->

+		 * <!-- end-user-doc -->

+		 * @generated

+		 */

+		EReference EXPORTED_PACKAGE__XFRIENDS = eINSTANCE.getExportedPackage_XFriends();

+

+		/**

+		 * The meta object literal for the '<em><b>XInternal</b></em>' attribute feature.

+		 * <!-- begin-user-doc -->

+		 * <!-- end-user-doc -->

+		 * @generated

+		 */

+		EAttribute EXPORTED_PACKAGE__XINTERNAL = eINSTANCE.getExportedPackage_XInternal();

+

 	}

 

 } //ManifestPackage

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/RequiredBundle.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/RequiredBundle.java
index be44294..56a4e5c 100644
--- a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/RequiredBundle.java
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/RequiredBundle.java
@@ -1,13 +1,14 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mia-Software.

+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- *

+ * 

  * Contributors:

- *    Frederic Madiot (Mia-Software) - initial API and implementation

- *******************************************************************************/

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

 package org.eclipse.modisco.manifest;

 

 import org.eclipse.emf.ecore.EObject;

@@ -19,11 +20,11 @@
  *

  * <p>

  * The following features are supported:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.manifest.RequiredBundle#getSymbolicName <em>Symbolic Name</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.RequiredBundle#getVersion <em>Version</em>}</li>

  * </ul>

- * </p>

  *

  * @see org.eclipse.modisco.manifest.ManifestPackage#getRequiredBundle()

  * @model

@@ -60,7 +61,7 @@
 	 * Returns the value of the '<em><b>Version</b></em>' containment reference.

 	 * <!-- begin-user-doc -->

 	 * <p>

-	 * If the meaning of the '<em>Version</em>' attribute isn't clear,

+	 * If the meaning of the '<em>Version</em>' containment reference isn't clear,

 	 * there really should be more of a description here...

 	 * </p>

 	 * <!-- end-user-doc -->

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/Version.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/Version.java
index 7c0dbbe..48b94de 100644
--- a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/Version.java
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/Version.java
@@ -1,13 +1,14 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mia-Software.

+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- *

+ * 

  * Contributors:

- *    Frederic Madiot (Mia-Software) - initial API and implementation

- *******************************************************************************/

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

 package org.eclipse.modisco.manifest;

 

 import org.eclipse.emf.ecore.EObject;

@@ -19,13 +20,13 @@
  *

  * <p>

  * The following features are supported:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.manifest.Version#getMinimum <em>Minimum</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.Version#isMinimumIsInclusive <em>Minimum Is Inclusive</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.Version#getMaximum <em>Maximum</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.Version#isMaximumIsInclusive <em>Maximum Is Inclusive</em>}</li>

  * </ul>

- * </p>

  *

  * @see org.eclipse.modisco.manifest.ManifestPackage#getVersion()

  * @model

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/BundleImpl.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/BundleImpl.java
index 4fd5d53..217b856 100644
--- a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/BundleImpl.java
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/BundleImpl.java
@@ -1,27 +1,35 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mia-Software.

+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- *

+ * 

  * Contributors:

- *    Frederic Madiot (Mia-Software) - initial API and implementation

- *******************************************************************************/

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

 package org.eclipse.modisco.manifest.impl;

 

 import java.util.Collection;

 

 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.EObjectImpl;

+

 import org.eclipse.emf.ecore.util.EObjectContainmentEList;

+import org.eclipse.emf.ecore.util.EObjectResolvingEList;

 import org.eclipse.emf.ecore.util.InternalEList;

+

 import org.eclipse.modisco.manifest.Bundle;

+import org.eclipse.modisco.manifest.ExportedPackage;

 import org.eclipse.modisco.manifest.ImportedPackage;

 import org.eclipse.modisco.manifest.ManifestPackage;

 import org.eclipse.modisco.manifest.RequiredBundle;

@@ -32,6 +40,7 @@
  * <!-- end-user-doc -->

  * <p>

  * The following features are implemented:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.manifest.impl.BundleImpl#getName <em>Name</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.impl.BundleImpl#isSingleton <em>Singleton</em>}</li>

@@ -43,8 +52,8 @@
  *   <li>{@link org.eclipse.modisco.manifest.impl.BundleImpl#getVendor <em>Vendor</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.impl.BundleImpl#getRequiredBundles <em>Required Bundles</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.impl.BundleImpl#getImportedPackages <em>Imported Packages</em>}</li>

+ *   <li>{@link org.eclipse.modisco.manifest.impl.BundleImpl#getExportPackages <em>Export Packages</em>}</li>

  * </ul>

- * </p>

  *

  * @generated

  */

@@ -230,6 +239,16 @@
 	protected EList<ImportedPackage> importedPackages;

 

 	/**

+	 * The cached value of the '{@link #getExportPackages() <em>Export Packages</em>}' reference list.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see #getExportPackages()

+	 * @generated

+	 * @ordered

+	 */

+	protected EList<ExportedPackage> exportPackages;

+

+	/**

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

 	 * @generated

@@ -445,6 +464,18 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

+	public EList<ExportedPackage> getExportPackages() {

+		if (exportPackages == null) {

+			exportPackages = new EObjectResolvingEList<ExportedPackage>(ExportedPackage.class, this, ManifestPackage.BUNDLE__EXPORT_PACKAGES);

+		}

+		return exportPackages;

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

 	@Override

 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {

 		switch (featureID) {

@@ -484,6 +515,8 @@
 				return getRequiredBundles();

 			case ManifestPackage.BUNDLE__IMPORTED_PACKAGES:

 				return getImportedPackages();

+			case ManifestPackage.BUNDLE__EXPORT_PACKAGES:

+				return getExportPackages();

 		}

 		return super.eGet(featureID, resolve, coreType);

 	}

@@ -529,6 +562,10 @@
 				getImportedPackages().clear();

 				getImportedPackages().addAll((Collection<? extends ImportedPackage>)newValue);

 				return;

+			case ManifestPackage.BUNDLE__EXPORT_PACKAGES:

+				getExportPackages().clear();

+				getExportPackages().addAll((Collection<? extends ExportedPackage>)newValue);

+				return;

 		}

 		super.eSet(featureID, newValue);

 	}

@@ -571,6 +608,9 @@
 			case ManifestPackage.BUNDLE__IMPORTED_PACKAGES:

 				getImportedPackages().clear();

 				return;

+			case ManifestPackage.BUNDLE__EXPORT_PACKAGES:

+				getExportPackages().clear();

+				return;

 		}

 		super.eUnset(featureID);

 	}

@@ -603,6 +643,8 @@
 				return requiredBundles != null && !requiredBundles.isEmpty();

 			case ManifestPackage.BUNDLE__IMPORTED_PACKAGES:

 				return importedPackages != null && !importedPackages.isEmpty();

+			case ManifestPackage.BUNDLE__EXPORT_PACKAGES:

+				return exportPackages != null && !exportPackages.isEmpty();

 		}

 		return super.eIsSet(featureID);

 	}

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ExportedPackageImpl.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ExportedPackageImpl.java
new file mode 100644
index 0000000..9bd1bb5
--- /dev/null
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ExportedPackageImpl.java
@@ -0,0 +1,268 @@
+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ * 

+ * Contributors:

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

+package org.eclipse.modisco.manifest.impl;

+

+import java.util.Collection;

+

+import org.eclipse.emf.common.notify.Notification;

+

+import org.eclipse.emf.common.util.EList;

+

+import org.eclipse.emf.ecore.EClass;

+

+import org.eclipse.emf.ecore.impl.ENotificationImpl;

+import org.eclipse.emf.ecore.impl.EObjectImpl;

+

+import org.eclipse.emf.ecore.util.EObjectResolvingEList;

+

+import org.eclipse.modisco.manifest.Bundle;

+import org.eclipse.modisco.manifest.ExportedPackage;

+import org.eclipse.modisco.manifest.ManifestPackage;

+

+/**

+ * <!-- begin-user-doc -->

+ * An implementation of the model object '<em><b>Exported Package</b></em>'.

+ * <!-- end-user-doc -->

+ * <p>

+ * The following features are implemented:

+ * </p>

+ * <ul>

+ *   <li>{@link org.eclipse.modisco.manifest.impl.ExportedPackageImpl#getName <em>Name</em>}</li>

+ *   <li>{@link org.eclipse.modisco.manifest.impl.ExportedPackageImpl#getXFriends <em>XFriends</em>}</li>

+ *   <li>{@link org.eclipse.modisco.manifest.impl.ExportedPackageImpl#isXInternal <em>XInternal</em>}</li>

+ * </ul>

+ *

+ * @generated

+ */

+public class ExportedPackageImpl extends EObjectImpl implements ExportedPackage {

+	/**

+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see #getName()

+	 * @generated

+	 * @ordered

+	 */

+	protected static final String NAME_EDEFAULT = null;

+

+	/**

+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see #getName()

+	 * @generated

+	 * @ordered

+	 */

+	protected String name = NAME_EDEFAULT;

+

+	/**

+	 * The cached value of the '{@link #getXFriends() <em>XFriends</em>}' reference list.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see #getXFriends()

+	 * @generated

+	 * @ordered

+	 */

+	protected EList<Bundle> xFriends;

+

+	/**

+	 * The default value of the '{@link #isXInternal() <em>XInternal</em>}' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see #isXInternal()

+	 * @generated

+	 * @ordered

+	 */

+	protected static final boolean XINTERNAL_EDEFAULT = false;

+

+	/**

+	 * The cached value of the '{@link #isXInternal() <em>XInternal</em>}' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see #isXInternal()

+	 * @generated

+	 * @ordered

+	 */

+	protected boolean xInternal = XINTERNAL_EDEFAULT;

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	protected ExportedPackageImpl() {

+		super();

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	@Override

+	protected EClass eStaticClass() {

+		return ManifestPackage.Literals.EXPORTED_PACKAGE;

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public String getName() {

+		return name;

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public void setName(String newName) {

+		String oldName = name;

+		name = newName;

+		if (eNotificationRequired())

+			eNotify(new ENotificationImpl(this, Notification.SET, ManifestPackage.EXPORTED_PACKAGE__NAME, oldName, name));

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public EList<Bundle> getXFriends() {

+		if (xFriends == null) {

+			xFriends = new EObjectResolvingEList<Bundle>(Bundle.class, this, ManifestPackage.EXPORTED_PACKAGE__XFRIENDS);

+		}

+		return xFriends;

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public boolean isXInternal() {

+		return xInternal;

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public void setXInternal(boolean newXInternal) {

+		boolean oldXInternal = xInternal;

+		xInternal = newXInternal;

+		if (eNotificationRequired())

+			eNotify(new ENotificationImpl(this, Notification.SET, ManifestPackage.EXPORTED_PACKAGE__XINTERNAL, oldXInternal, xInternal));

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	@Override

+	public Object eGet(int featureID, boolean resolve, boolean coreType) {

+		switch (featureID) {

+			case ManifestPackage.EXPORTED_PACKAGE__NAME:

+				return getName();

+			case ManifestPackage.EXPORTED_PACKAGE__XFRIENDS:

+				return getXFriends();

+			case ManifestPackage.EXPORTED_PACKAGE__XINTERNAL:

+				return isXInternal();

+		}

+		return super.eGet(featureID, resolve, coreType);

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	@SuppressWarnings("unchecked")

+	@Override

+	public void eSet(int featureID, Object newValue) {

+		switch (featureID) {

+			case ManifestPackage.EXPORTED_PACKAGE__NAME:

+				setName((String)newValue);

+				return;

+			case ManifestPackage.EXPORTED_PACKAGE__XFRIENDS:

+				getXFriends().clear();

+				getXFriends().addAll((Collection<? extends Bundle>)newValue);

+				return;

+			case ManifestPackage.EXPORTED_PACKAGE__XINTERNAL:

+				setXInternal((Boolean)newValue);

+				return;

+		}

+		super.eSet(featureID, newValue);

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	@Override

+	public void eUnset(int featureID) {

+		switch (featureID) {

+			case ManifestPackage.EXPORTED_PACKAGE__NAME:

+				setName(NAME_EDEFAULT);

+				return;

+			case ManifestPackage.EXPORTED_PACKAGE__XFRIENDS:

+				getXFriends().clear();

+				return;

+			case ManifestPackage.EXPORTED_PACKAGE__XINTERNAL:

+				setXInternal(XINTERNAL_EDEFAULT);

+				return;

+		}

+		super.eUnset(featureID);

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	@Override

+	public boolean eIsSet(int featureID) {

+		switch (featureID) {

+			case ManifestPackage.EXPORTED_PACKAGE__NAME:

+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);

+			case ManifestPackage.EXPORTED_PACKAGE__XFRIENDS:

+				return xFriends != null && !xFriends.isEmpty();

+			case ManifestPackage.EXPORTED_PACKAGE__XINTERNAL:

+				return xInternal != XINTERNAL_EDEFAULT;

+		}

+		return super.eIsSet(featureID);

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	@Override

+	public String toString() {

+		if (eIsProxy()) return super.toString();

+

+		StringBuffer result = new StringBuffer(super.toString());

+		result.append(" (name: ");

+		result.append(name);

+		result.append(", xInternal: ");

+		result.append(xInternal);

+		result.append(')');

+		return result.toString();

+	}

+

+} //ExportedPackageImpl

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ImportedPackageImpl.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ImportedPackageImpl.java
index 9f804d5..73a1839 100644
--- a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ImportedPackageImpl.java
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ImportedPackageImpl.java
@@ -1,21 +1,25 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mia-Software.

+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- *

+ * 

  * Contributors:

- *    Frederic Madiot (Mia-Software) - initial API and implementation

- *******************************************************************************/

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

 package org.eclipse.modisco.manifest.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.EObjectImpl;

+

 import org.eclipse.modisco.manifest.ImportedPackage;

 import org.eclipse.modisco.manifest.ManifestPackage;

 import org.eclipse.modisco.manifest.Version;

@@ -26,11 +30,11 @@
  * <!-- end-user-doc -->

  * <p>

  * The following features are implemented:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.manifest.impl.ImportedPackageImpl#getName <em>Name</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.impl.ImportedPackageImpl#getVersion <em>Version</em>}</li>

  * </ul>

- * </p>

  *

  * @generated

  */

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ManifestFactoryImpl.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ManifestFactoryImpl.java
index fac9b70..3e87186 100644
--- a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ManifestFactoryImpl.java
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ManifestFactoryImpl.java
@@ -1,26 +1,25 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mia-Software.

+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- *

+ * 

  * Contributors:

- *    Frederic Madiot (Mia-Software) - initial API and implementation

- *******************************************************************************/

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

 package org.eclipse.modisco.manifest.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.eclipse.modisco.manifest.Bundle;

-import org.eclipse.modisco.manifest.ImportedPackage;

-import org.eclipse.modisco.manifest.ManifestFactory;

-import org.eclipse.modisco.manifest.ManifestPackage;

-import org.eclipse.modisco.manifest.RequiredBundle;

-import org.eclipse.modisco.manifest.Version;

+

+import org.eclipse.modisco.manifest.*;

 

 /**

  * <!-- begin-user-doc -->

@@ -37,7 +36,7 @@
 	 */

 	public static ManifestFactory init() {

 		try {

-			ManifestFactory theManifestFactory = (ManifestFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/MoDisco/manifest"); 

+			ManifestFactory theManifestFactory = (ManifestFactory)EPackage.Registry.INSTANCE.getEFactory(ManifestPackage.eNS_URI);

 			if (theManifestFactory != null) {

 				return theManifestFactory;

 			}

@@ -70,6 +69,7 @@
 			case ManifestPackage.REQUIRED_BUNDLE: return createRequiredBundle();

 			case ManifestPackage.IMPORTED_PACKAGE: return createImportedPackage();

 			case ManifestPackage.VERSION: return createVersion();

+			case ManifestPackage.EXPORTED_PACKAGE: return createExportedPackage();

 			default:

 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");

 		}

@@ -120,6 +120,16 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

+	public ExportedPackage createExportedPackage() {

+		ExportedPackageImpl exportedPackage = new ExportedPackageImpl();

+		return exportedPackage;

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

 	public ManifestPackage getManifestPackage() {

 		return (ManifestPackage)getEPackage();

 	}

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ManifestPackageImpl.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ManifestPackageImpl.java
index d14aa26..e4e077e 100644
--- a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ManifestPackageImpl.java
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/ManifestPackageImpl.java
@@ -1,21 +1,25 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mia-Software.

+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- *

+ * 

  * Contributors:

- *    Frederic Madiot (Mia-Software) - initial API and implementation

- *******************************************************************************/

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

 package org.eclipse.modisco.manifest.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.eclipse.modisco.manifest.Bundle;

+import org.eclipse.modisco.manifest.ExportedPackage;

 import org.eclipse.modisco.manifest.ImportedPackage;

 import org.eclipse.modisco.manifest.ManifestFactory;

 import org.eclipse.modisco.manifest.ManifestPackage;

@@ -58,6 +62,13 @@
 	private EClass versionEClass = null;

 

 	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	private EClass exportedPackageEClass = 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.

@@ -222,6 +233,15 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

+	public EReference getBundle_ExportPackages() {

+		return (EReference)bundleEClass.getEStructuralFeatures().get(10);

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

 	public EClass getRequiredBundle() {

 		return requiredBundleEClass;

 	}

@@ -321,6 +341,42 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

+	public EClass getExportedPackage() {

+		return exportedPackageEClass;

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public EAttribute getExportedPackage_Name() {

+		return (EAttribute)exportedPackageEClass.getEStructuralFeatures().get(0);

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public EReference getExportedPackage_XFriends() {

+		return (EReference)exportedPackageEClass.getEStructuralFeatures().get(1);

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public EAttribute getExportedPackage_XInternal() {

+		return (EAttribute)exportedPackageEClass.getEStructuralFeatures().get(2);

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

 	public ManifestFactory getManifestFactory() {

 		return (ManifestFactory)getEFactoryInstance();

 	}

@@ -355,6 +411,7 @@
 		createEAttribute(bundleEClass, BUNDLE__VENDOR);

 		createEReference(bundleEClass, BUNDLE__REQUIRED_BUNDLES);

 		createEReference(bundleEClass, BUNDLE__IMPORTED_PACKAGES);

+		createEReference(bundleEClass, BUNDLE__EXPORT_PACKAGES);

 

 		requiredBundleEClass = createEClass(REQUIRED_BUNDLE);

 		createEAttribute(requiredBundleEClass, REQUIRED_BUNDLE__SYMBOLIC_NAME);

@@ -369,6 +426,11 @@
 		createEAttribute(versionEClass, VERSION__MINIMUM_IS_INCLUSIVE);

 		createEAttribute(versionEClass, VERSION__MAXIMUM);

 		createEAttribute(versionEClass, VERSION__MAXIMUM_IS_INCLUSIVE);

+

+		exportedPackageEClass = createEClass(EXPORTED_PACKAGE);

+		createEAttribute(exportedPackageEClass, EXPORTED_PACKAGE__NAME);

+		createEReference(exportedPackageEClass, EXPORTED_PACKAGE__XFRIENDS);

+		createEAttribute(exportedPackageEClass, EXPORTED_PACKAGE__XINTERNAL);

 	}

 

 	/**

@@ -412,6 +474,7 @@
 		initEAttribute(getBundle_Vendor(), ecorePackage.getEString(), "vendor", null, 0, 1, Bundle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 		initEReference(getBundle_RequiredBundles(), this.getRequiredBundle(), null, "requiredBundles", null, 0, -1, Bundle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 		initEReference(getBundle_ImportedPackages(), this.getImportedPackage(), null, "importedPackages", null, 0, -1, Bundle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

+		initEReference(getBundle_ExportPackages(), this.getExportedPackage(), null, "exportPackages", null, 0, -1, Bundle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 

 		initEClass(requiredBundleEClass, RequiredBundle.class, "RequiredBundle", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

 		initEAttribute(getRequiredBundle_SymbolicName(), ecorePackage.getEString(), "symbolicName", null, 0, 1, RequiredBundle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

@@ -427,6 +490,11 @@
 		initEAttribute(getVersion_Maximum(), ecorePackage.getEString(), "maximum", null, 0, 1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 		initEAttribute(getVersion_MaximumIsInclusive(), ecorePackage.getEBoolean(), "maximumIsInclusive", null, 0, 1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 

+		initEClass(exportedPackageEClass, ExportedPackage.class, "ExportedPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

+		initEAttribute(getExportedPackage_Name(), ecorePackage.getEString(), "name", null, 1, 1, ExportedPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

+		initEReference(getExportedPackage_XFriends(), this.getBundle(), null, "xFriends", null, 0, -1, ExportedPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

+		initEAttribute(getExportedPackage_XInternal(), ecorePackage.getEBoolean(), "xInternal", null, 1, 1, ExportedPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

+

 		// Create resource

 		createResource(eNS_URI);

 	}

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/RequiredBundleImpl.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/RequiredBundleImpl.java
index de93e13..a4e31ee 100644
--- a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/RequiredBundleImpl.java
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/RequiredBundleImpl.java
@@ -1,21 +1,25 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mia-Software.

+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- *

+ * 

  * Contributors:

- *    Frederic Madiot (Mia-Software) - initial API and implementation

- *******************************************************************************/

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

 package org.eclipse.modisco.manifest.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.EObjectImpl;

+

 import org.eclipse.modisco.manifest.ManifestPackage;

 import org.eclipse.modisco.manifest.RequiredBundle;

 import org.eclipse.modisco.manifest.Version;

@@ -26,11 +30,11 @@
  * <!-- end-user-doc -->

  * <p>

  * The following features are implemented:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.manifest.impl.RequiredBundleImpl#getSymbolicName <em>Symbolic Name</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.impl.RequiredBundleImpl#getVersion <em>Version</em>}</li>

  * </ul>

- * </p>

  *

  * @generated

  */

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/VersionImpl.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/VersionImpl.java
index 8c534f6..e9ebbd5 100644
--- a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/VersionImpl.java
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/impl/VersionImpl.java
@@ -1,19 +1,23 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mia-Software.

+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- *

+ * 

  * Contributors:

- *    Frederic Madiot (Mia-Software) - initial API and implementation

- *******************************************************************************/

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

 package org.eclipse.modisco.manifest.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.EObjectImpl;

+

 import org.eclipse.modisco.manifest.ManifestPackage;

 import org.eclipse.modisco.manifest.Version;

 

@@ -23,13 +27,13 @@
  * <!-- end-user-doc -->

  * <p>

  * The following features are implemented:

+ * </p>

  * <ul>

  *   <li>{@link org.eclipse.modisco.manifest.impl.VersionImpl#getMinimum <em>Minimum</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.impl.VersionImpl#isMinimumIsInclusive <em>Minimum Is Inclusive</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.impl.VersionImpl#getMaximum <em>Maximum</em>}</li>

  *   <li>{@link org.eclipse.modisco.manifest.impl.VersionImpl#isMaximumIsInclusive <em>Maximum Is Inclusive</em>}</li>

  * </ul>

- * </p>

  *

  * @generated

  */

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/util/ManifestAdapterFactory.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/util/ManifestAdapterFactory.java
index 77bca84..4e81b84 100644
--- a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/util/ManifestAdapterFactory.java
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/util/ManifestAdapterFactory.java
@@ -1,24 +1,24 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mia-Software.

+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- *

+ * 

  * Contributors:

- *    Frederic Madiot (Mia-Software) - initial API and implementation

- *******************************************************************************/

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

 package org.eclipse.modisco.manifest.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.eclipse.modisco.manifest.Bundle;

-import org.eclipse.modisco.manifest.ImportedPackage;

-import org.eclipse.modisco.manifest.ManifestPackage;

-import org.eclipse.modisco.manifest.RequiredBundle;

-import org.eclipse.modisco.manifest.Version;

+

+import org.eclipse.modisco.manifest.*;

 

 /**

  * <!-- begin-user-doc -->

@@ -28,7 +28,6 @@
  * @see org.eclipse.modisco.manifest.ManifestPackage

  * @generated

  */

-@SuppressWarnings("all")

 public class ManifestAdapterFactory extends AdapterFactoryImpl {

 	/**

 	 * The cached model package.

@@ -45,8 +44,8 @@
 	 * @generated

 	 */

 	public ManifestAdapterFactory() {

-		if (ManifestAdapterFactory.modelPackage == null) {

-			ManifestAdapterFactory.modelPackage = ManifestPackage.eINSTANCE;

+		if (modelPackage == null) {

+			modelPackage = ManifestPackage.eINSTANCE;

 		}

 	}

 

@@ -59,12 +58,12 @@
 	 * @generated

 	 */

 	@Override

-	public boolean isFactoryForType(final Object object) {

-		if (object == ManifestAdapterFactory.modelPackage) {

+	public boolean isFactoryForType(Object object) {

+		if (object == modelPackage) {

 			return true;

 		}

 		if (object instanceof EObject) {

-			return ((EObject)object).eClass().getEPackage() == ManifestAdapterFactory.modelPackage;

+			return ((EObject)object).eClass().getEPackage() == modelPackage;

 		}

 		return false;

 	}

@@ -78,23 +77,27 @@
 	protected ManifestSwitch<Adapter> modelSwitch =

 		new ManifestSwitch<Adapter>() {

 			@Override

-			public Adapter caseBundle(final Bundle object) {

+			public Adapter caseBundle(Bundle object) {

 				return createBundleAdapter();

 			}

 			@Override

-			public Adapter caseRequiredBundle(final RequiredBundle object) {

+			public Adapter caseRequiredBundle(RequiredBundle object) {

 				return createRequiredBundleAdapter();

 			}

 			@Override

-			public Adapter caseImportedPackage(final ImportedPackage object) {

+			public Adapter caseImportedPackage(ImportedPackage object) {

 				return createImportedPackageAdapter();

 			}

 			@Override

-			public Adapter caseVersion(final Version object) {

+			public Adapter caseVersion(Version object) {

 				return createVersionAdapter();

 			}

 			@Override

-			public Adapter defaultCase(final EObject object) {

+			public Adapter caseExportedPackage(ExportedPackage object) {

+				return createExportedPackageAdapter();

+			}

+			@Override

+			public Adapter defaultCase(EObject object) {

 				return createEObjectAdapter();

 			}

 		};

@@ -108,8 +111,8 @@
 	 * @generated

 	 */

 	@Override

-	public Adapter createAdapter(final Notifier target) {

-		return this.modelSwitch.doSwitch((EObject)target);

+	public Adapter createAdapter(Notifier target) {

+		return modelSwitch.doSwitch((EObject)target);

 	}

 

 

@@ -170,6 +173,20 @@
 	}

 

 	/**

+	 * Creates a new adapter for an object of class '{@link org.eclipse.modisco.manifest.ExportedPackage <em>Exported Package</em>}'.

+	 * <!-- begin-user-doc -->

+	 * This default implementation returns null so that we can easily ignore cases;

+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.

+	 * <!-- end-user-doc -->

+	 * @return the new adapter.

+	 * @see org.eclipse.modisco.manifest.ExportedPackage

+	 * @generated

+	 */

+	public Adapter createExportedPackageAdapter() {

+		return null;

+	}

+

+	/**

 	 * Creates a new adapter for the default case.

 	 * <!-- begin-user-doc -->

 	 * This default implementation returns null.

diff --git a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/util/ManifestSwitch.java b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/util/ManifestSwitch.java
index 4c3188a..6091f69 100644
--- a/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/util/ManifestSwitch.java
+++ b/org.eclipse.modisco.manifest/src/org/eclipse/modisco/manifest/util/ManifestSwitch.java
@@ -1,24 +1,22 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mia-Software.

+/**

+ * Copyright (c) 2010, 2015 Mia-Software.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- *

+ * 

  * Contributors:

- *    Frederic Madiot (Mia-Software) - initial API and implementation

- *******************************************************************************/

+ *     Frederic Madiot (Mia-Software) - metamodel design and initial implementation

+ *     Grégoire Dupé (Mia-Software) - Bug 480183 - The manifest.mf discoverer should manage 'Export-Package' 

+ */

 package org.eclipse.modisco.manifest.util;

 

 import java.util.List;

 

 import org.eclipse.emf.ecore.EClass;

 import org.eclipse.emf.ecore.EObject;

-import org.eclipse.modisco.manifest.Bundle;

-import org.eclipse.modisco.manifest.ImportedPackage;

-import org.eclipse.modisco.manifest.ManifestPackage;

-import org.eclipse.modisco.manifest.RequiredBundle;

-import org.eclipse.modisco.manifest.Version;

+

+import org.eclipse.modisco.manifest.*;

 

 /**

  * <!-- begin-user-doc -->

@@ -118,6 +116,12 @@
 				if (result == null) result = defaultCase(theEObject);

 				return result;

 			}

+			case ManifestPackage.EXPORTED_PACKAGE: {

+				ExportedPackage exportedPackage = (ExportedPackage)theEObject;

+				T result = caseExportedPackage(exportedPackage);

+				if (result == null) result = defaultCase(theEObject);

+				return result;

+			}

 			default: return defaultCase(theEObject);

 		}

 	}

@@ -183,6 +187,21 @@
 	}

 

 	/**

+	 * Returns the result of interpreting the object as an instance of '<em>Exported Package</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>Exported Package</em>'.

+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)

+	 * @generated

+	 */

+	public T caseExportedPackage(ExportedPackage object) {

+		return null;

+	}

+

+	/**

 	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.

 	 * <!-- begin-user-doc -->

 	 * This implementation returns null;

diff --git a/org.eclipse.modisco.omg.gastm/META-INF/MANIFEST.MF b/org.eclipse.modisco.omg.gastm/META-INF/MANIFEST.MF
index 6af69e9..d280124 100644
--- a/org.eclipse.modisco.omg.gastm/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.omg.gastm/META-INF/MANIFEST.MF
@@ -8,8 +8,8 @@
 Bundle-Localization: plugin

 Bundle-RequiredExecutionEnvironment: J2SE-1.5

 Export-Package: org.eclipse.modisco.omg.gastm,

- org.eclipse.modisco.omg.gastm.impl,

- org.eclipse.modisco.omg.gastm.util

+ org.eclipse.modisco.omg.gastm.impl;x-internal:=true,

+ org.eclipse.modisco.omg.gastm.util;x-internal:=true

 Require-Bundle: org.eclipse.core.runtime,

  org.eclipse.emf.ecore;visibility:=reexport,

  org.eclipse.emf.ecore.xmi;visibility:=reexport

diff --git a/org.eclipse.modisco.omg.smm/META-INF/MANIFEST.MF b/org.eclipse.modisco.omg.smm/META-INF/MANIFEST.MF
index 00ca7a1..7a1c593 100644
--- a/org.eclipse.modisco.omg.smm/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.omg.smm/META-INF/MANIFEST.MF
@@ -8,8 +8,8 @@
 Bundle-Localization: plugin

 Bundle-RequiredExecutionEnvironment: J2SE-1.5

 Export-Package: org.eclipse.modisco.omg.smm,

- org.eclipse.modisco.omg.smm.impl,

- org.eclipse.modisco.omg.smm.util

+ org.eclipse.modisco.omg.smm.impl;x-internal:=true,

+ org.eclipse.modisco.omg.smm.util;x-internal:=true

 Require-Bundle: org.eclipse.core.runtime,

  org.eclipse.emf.ecore;visibility:=reexport

 Bundle-ActivationPolicy: lazy

diff --git a/org.eclipse.modisco.releng.tycho/.settings/org.eclipse.core.resources.prefs b/org.eclipse.modisco.releng.tycho/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..5158445
--- /dev/null
+++ b/org.eclipse.modisco.releng.tycho/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,10 @@
+# Copyright (c) 2015 Mia-Software.

+# All rights reserved. This program and the accompanying materials

+# are made available under the terms of the Eclipse Public License v1.0

+# which accompanies this distribution, and is available at

+# http://www.eclipse.org/legal/epl-v10.html

+#

+# Contributors:

+#    Grégoire Dupé - initial implementation

+eclipse.preferences.version=1

+encoding/<project>=UTF-8

diff --git a/org.eclipse.modisco.releng.tycho/.settings/org.eclipse.core.runtime.prefs b/org.eclipse.modisco.releng.tycho/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..6976c4f
--- /dev/null
+++ b/org.eclipse.modisco.releng.tycho/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,10 @@
+# Copyright (c) 2015 Mia-Software.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#    Grégoire Dupé - initial implementation
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/org.eclipse.modisco.releng.tycho/releasetrain/dependencies_updatesites.xml b/org.eclipse.modisco.releng.tycho/releasetrain/dependencies_updatesites.xml
index e1f5f52..d56cb78 100644
--- a/org.eclipse.modisco.releng.tycho/releasetrain/dependencies_updatesites.xml
+++ b/org.eclipse.modisco.releng.tycho/releasetrain/dependencies_updatesites.xml
@@ -15,7 +15,7 @@
 		<repository>

 			<id>SWTBot</id>

 			<layout>p2</layout>

-			<url>http://download.eclipse.org/technology/swtbot/releases/latest/</url>

+			<url>http://download.eclipse.org/technology/swtbot/snapshots</url>

 		</repository>

 		<repository>

 			<id>Orbit</id>

diff --git a/org.eclipse.modisco.releng.tycho/releasetrain/simrel_git_clone.sh b/org.eclipse.modisco.releng.tycho/releasetrain/simrel_git_clone.sh
new file mode 100644
index 0000000..550a006
--- /dev/null
+++ b/org.eclipse.modisco.releng.tycho/releasetrain/simrel_git_clone.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+# Copyright (c) 2015 Mia-Software.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#    Grégoire Dupé - initial implementation
+
+function usage {
+	echo "Usage: $0 target_dir"
+}
+
+if [ -z $1 ] ; then
+	usage
+fi 
+
+git clone --branch master http://git.eclipse.org/gitroot/simrel/org.eclipse.simrel.build.git $1
diff --git a/org.eclipse.modisco.sdk.feature/feature.xml b/org.eclipse.modisco.sdk.feature/feature.xml
index d64b8d6..eb6be70 100644
--- a/org.eclipse.modisco.sdk.feature/feature.xml
+++ b/org.eclipse.modisco.sdk.feature/feature.xml
@@ -1,13 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <!--
-    Copyright (c) 2010 Mia-Software.
+    Copyright (c) 2010, 2015 Mia-Software.
     All rights reserved. This program and the accompanying materials
     are made available under the terms of the Eclipse Public License v1.0
     which accompanies this distribution, and is available at
     http://www.eclipse.org/legal/epl-v10.html
    
     Contributors:
-        Nicolas Bros (Mia-Software)
+        Nicolas Bros (Mia-Software)

+        Grégoire Dupé (Mia-Software) - Bug 480189 - org.eclipse.modisco.{manifest,eclipseplugin,properties}* should be added in the updatesite
  -->

 <feature

       id="org.eclipse.modisco.sdk.feature"

@@ -66,6 +67,10 @@
          id="org.eclipse.modisco.jee.feature"

          version="0.0.0"/>

 

+   <includes

+         id="org.eclipse.modisco.eclipse.feature"

+         version="0.0.0"/>

+

    <plugin

          id="org.eclipse.gmt.modisco.infra.capabilities"

          download-size="0"

diff --git a/org.eclipse.modisco.smm.quality/META-INF/MANIFEST.MF b/org.eclipse.modisco.smm.quality/META-INF/MANIFEST.MF
index c9ab732..d126033 100644
--- a/org.eclipse.modisco.smm.quality/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.smm.quality/META-INF/MANIFEST.MF
@@ -8,8 +8,8 @@
 Bundle-Localization: plugin

 Bundle-RequiredExecutionEnvironment: J2SE-1.5

 Export-Package: org.eclipse.modisco.smm.quality,

- org.eclipse.modisco.smm.quality.impl,

- org.eclipse.modisco.smm.quality.util

+ org.eclipse.modisco.smm.quality.impl;x-internal:=true,

+ org.eclipse.modisco.smm.quality.util;x-internal:=true

 Require-Bundle: org.eclipse.core.runtime,

  org.eclipse.emf.ecore;visibility:=reexport,

  org.eclipse.modisco.omg.smm;visibility:=reexport

diff --git a/org.eclipse.modisco.updatesite/site.xml b/org.eclipse.modisco.updatesite/site.xml
index 051d90a..3b6df26 100644
--- a/org.eclipse.modisco.updatesite/site.xml
+++ b/org.eclipse.modisco.updatesite/site.xml
@@ -45,6 +45,9 @@
    <feature url="features/org.eclipse.modisco.infra.browser.feature_1.0.0.qualifier.jar" id="org.eclipse.modisco.infra.browser.feature" version="1.0.0.qualifier">

       <category name="org.eclipse.modisco.updatesite.infrastructure"/>

    </feature>

+   <feature url="features/org.eclipse.modisco.eclipse.feature_1.0.0.qualifier.jar" id="org.eclipse.modisco.eclipse.feature" version="1.0.0.qualifier">

+      <category name="org.eclipse.modisco.updatesite.technologies"/>

+   </feature>

    <category-def name="org.eclipse.modisco.updatesite.infrastructure" label="Infrastrucutre"/>

    <category-def name="org.eclipse.modisco.updatesite.technologies" label="Technologies"/>

    <category-def name="org.eclipse.modisco.updatesite.cdo" label="CDO Adapters"/>

diff --git a/org.eclipse.modisco.utils.chart.birt.core/.settings/org.eclipse.core.resources.prefs b/org.eclipse.modisco.utils.chart.birt.core/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..3583902
--- /dev/null
+++ b/org.eclipse.modisco.utils.chart.birt.core/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1

+encoding//src/org/eclipse/modisco/utils/chart/birt/core/internal/exported=UTF-8

+encoding/<project>=UTF-8

diff --git a/org.eclipse.modisco.utils.chart.birt.core/src/org/eclipse/modisco/utils/chart/birt/core/internal/exported/BirtGraphHelper.java b/org.eclipse.modisco.utils.chart.birt.core/src/org/eclipse/modisco/utils/chart/birt/core/internal/exported/BirtGraphHelper.java
index b48d66b..a379e79 100644
--- a/org.eclipse.modisco.utils.chart.birt.core/src/org/eclipse/modisco/utils/chart/birt/core/internal/exported/BirtGraphHelper.java
+++ b/org.eclipse.modisco.utils.chart.birt.core/src/org/eclipse/modisco/utils/chart/birt/core/internal/exported/BirtGraphHelper.java
@@ -1,11 +1,13 @@
 /*******************************************************************************

- * Copyright (c) 2012 INRIA. All rights reserved. This program and the

+ * Copyright (c) 2012, 2015 INRIA, and Mia-Software.

+ * All rights reserved. This program and the

  * accompanying materials are made available under the terms of the Eclipse

  * Public License v1.0 which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- * 

+ *

+ * Contributors:

+ *      Guillaume Doux (INRIA) - Initial API and implementation

+ *      Grégoire Dupé (Mia-Software) - Bug 488952 - [Benchmark] The x axis isn't linear

  ******************************************************************************/

 package org.eclipse.modisco.utils.chart.birt.core.internal.exported;

 

@@ -34,6 +36,7 @@
 import org.eclipse.birt.chart.model.attribute.impl.LineAttributesImpl;

 import org.eclipse.birt.chart.model.attribute.impl.NumberFormatSpecifierImpl;

 import org.eclipse.birt.chart.model.component.Axis;

+import org.eclipse.birt.chart.model.component.Scale;

 import org.eclipse.birt.chart.model.component.Series;

 import org.eclipse.birt.chart.model.component.impl.SeriesImpl;

 import org.eclipse.birt.chart.model.data.NumberDataSet;

@@ -108,38 +111,38 @@
 	 * @param fileName+".png" name of the png file (without extension)

 	 * @throws ChartException, Exception

 	 */

-	public void createBirtGraph(final Chart birtChart,

-			final File targetFolder, final String fileName) throws Exception {

-		ChartWithAxes chart = ChartWithAxesImpl.create();

-		if (birtChart.getAxes().size() == 2) {

-			chart.setDimension(ChartDimension.TWO_DIMENSIONAL_LITERAL);

-		} else {

-			throw new GraphHelperException("the chart should have only 2 dimensions");

+	public void createBirtGraph(final Chart birtChart, final File targetFolder,

+			final String fileName) throws Exception {

+		final ChartWithAxes chart = ChartWithAxesImpl.create();

+		if (birtChart.getAxes().size() != 2) {

+			throw new GraphHelperException("The chart should have only two dimensions."); //$NON-NLS-1$

 		}

+		chart.setDimension(ChartDimension.TWO_DIMENSIONAL_LITERAL);

 		chart.setUnitSpacing(BirtGraphHelper.UNIT_SPACING);

 		chart.getPlot().setBackground(ColorDefinitionImpl.WHITE());

 		chart.getPlot().getClientArea().setBackground(ColorDefinitionImpl.WHITE());

 		chart.getLegend().setItemType(LegendItemType.SERIES_LITERAL);

 		chart.getLegend().setVisible(true);

 		chart.getLegend().setAnchor(Anchor.NORTH_EAST_LITERAL);

+		chart.getTitle().getLabel().getCaption().setValue(birtChart.getTitle());

 

-		chart.getTitle().getLabel().getCaption()

-		.setValue(birtChart.getTitle());

-

-		final Axe abs = birtChart.getAxes().get(0);

 		final Axe ord = birtChart.getAxes().get(1);

 

 		final Axis xAxis = chart.getPrimaryBaseAxes()[0];

 		xAxis.setType(AxisType.LINEAR_LITERAL);

 		xAxis.setFormatSpecifier(NumberFormatSpecifierImpl.create());

-

-		xAxis.getTitle().getCaption().setValue(abs.getLegend() + " (" + abs.getUnit() + ")"); //$NON-NLS-1$

+		final Axe abs = birtChart.getAxes().get(0);

+		final String xCaption = String.format("%s (%s)", //$NON-NLS-1$

+				abs.getLegend(), abs.getUnit());

+		xAxis.getTitle().getCaption().setValue(xCaption);

 		xAxis.getTitle().setVisible(true);

-

+		xAxis.setCategoryAxis(false);

+		final Scale scale = xAxis.getScale();

+		xAxis.setScale(scale);

 		final List<Point> dataPoints = new ArrayList<Point>();

 

 		final SeriesDefinition ySeriesDefinition = SeriesDefinitionImpl.create();

-		

+

 		final Comparator<Point> comparator = new Comparator<Point>() {

 			public int compare(final Point point1, final Point point2) {

 				if (point1.x == point2.x) {

@@ -167,76 +170,70 @@
 				final Point birtPoint = new Point(xCoord, yCoord);

 				dataPoints.add(birtPoint);

 			}

-

 			// sort on X axis

-			

 			Collections.sort(dataPoints, comparator);

-

-

 			final ColorDefinition serieColor = getColorForSerie(birtChart.getSeries().indexOf(serie));

 

-

-			final LineSeries lineSeries = (LineSeries) LineSeriesImpl.create();

-			lineSeries.setSeriesIdentifier(serie.getName());

-			lineSeries.setCurve(false);

-

-			final ArrayList<Double> yAxisValues = new ArrayList<Double>();

-			for (Point dataPoint : dataPoints) {

-				yAxisValues.add(dataPoint.y);

-			}

-			final NumberDataSet dataSet = NumberDataSetImpl.create(yAxisValues);

-			lineSeries.setDataSet(dataSet);

-			lineSeries.getMarkers().clear();//Remove this to show markers for each points

-

-			final LineAttributes lineAttr = LineAttributesImpl.create(ColorDefinitionImpl.BLACK(),

-					LineStyle.SOLID_LITERAL, 1);

-			lineAttr.setVisible(true);

-			lineAttr.setColor(serieColor);

-			lineSeries.setLineAttributes(lineAttr);

-

-			final Point[] linearRegression = computeLinearRegression(dataPoints);

-			final LineSeries linearRegSeries = (LineSeries) LineSeriesImpl.create();

-			final ArrayList<Double> regressionYAxisValues = new ArrayList<Double>();

-			for (Point point : linearRegression) {

-					regressionYAxisValues.add(point.y);

-			}

-			final NumberDataSet linearRegDataSet = NumberDataSetImpl.create(regressionYAxisValues);

-			linearRegSeries.setDataSet(linearRegDataSet);

-			linearRegSeries.getMarkers().clear();

-

-			// line attributes

-			final LineAttributes lineAttr2 = LineAttributesImpl.create(ColorDefinitionImpl.BLACK(),

-					LineStyle.DASHED_LITERAL, 1);

-			lineAttr2.setVisible(true);

-			lineAttr2.setColor(serieColor);

-			linearRegSeries.setLineAttributes(lineAttr2);

-	

+			final LineSeries lineSeries = createLineSeries(

+					dataPoints.toArray(new Point[0]), serieColor, 

+					LineStyle.SOLID_LITERAL, serie.getName());

 			ySeriesDefinition.getSeries().add(lineSeries);

+			final Point[] linearRegression = computeLinearRegression(dataPoints);

+			final LineSeries linearRegSeries = createLineSeries(

+					linearRegression, serieColor, LineStyle.DASHED_LITERAL, ""); //$NON-NLS-1$

 			ySeriesDefinition.getSeries().add(linearRegSeries);

-			

 		}

-		

+		//Creating x axis labels

 		final ArrayList<Double> xAxisValues = new ArrayList<Double>();

 		for (Point dataPoint : dataPoints) {

-				xAxisValues.add(dataPoint.x);

+				xAxisValues.add(Double.valueOf(dataPoint.x));

 		}

 		final NumberDataSet xAxisDataSet = NumberDataSetImpl.create(xAxisValues);

-		

 		final Series xAxisSeries = SeriesImpl.create();

 		xAxisSeries.setDataSet(xAxisDataSet);

 		final SeriesDefinition xSeriesDefinition = SeriesDefinitionImpl.create();

 		xSeriesDefinition.getSeries().add(xAxisSeries);

 		xAxis.getSeriesDefinitions().add(xSeriesDefinition);

 

+		createYAxis(chart, ord, xAxis, ySeriesDefinition);

+		chartRendering(targetFolder, fileName, chart);

+	}

+	

+	private static LineSeries createLineSeries(final Point[] dataPoints,

+			final ColorDefinition serieColor, final LineStyle lineStyle, final String name) {

+		final LineSeries lineSeries = (LineSeries) LineSeriesImpl.create();

+		lineSeries.setSeriesIdentifier(name);

+		lineSeries.setCurve(false);

+		final ArrayList<Double> yAxisValues = new ArrayList<Double>();

+		for (Point point : dataPoints) {

+			yAxisValues.add(Double.valueOf(point.y));

+		}

+		final NumberDataSet dataSet = NumberDataSetImpl.create(yAxisValues);

+		lineSeries.setDataSet(dataSet);

+		lineSeries.getMarkers().clear(); // Remove this to show markers for each  points

+		// line attributes

+		final LineAttributes lineAttr = LineAttributesImpl

+				.create(ColorDefinitionImpl.BLACK(), lineStyle, 1);

+		lineAttr.setVisible(true);

+		lineAttr.setColor(serieColor);

+		lineSeries.setLineAttributes(lineAttr);

+		return lineSeries;

+	}

+

+	private static void createYAxis(final ChartWithAxes chart, final Axe ord,

+			final Axis xAxis, final SeriesDefinition ySeriesDefinition) {

 		final Axis yAxis = chart.getPrimaryOrthogonalAxis(xAxis);

 		yAxis.setType(AxisType.LINEAR_LITERAL);

 		yAxis.setFormatSpecifier(NumberFormatSpecifierImpl.create());

 		yAxis.getTitle().setVisible(true);

-

-		yAxis.getTitle().getCaption().setValue(ord.getLegend() + " (" + ord.getUnit() + ")"); //$NON-NLS-1$

+		final String yCaption = String.format("%s (%s)", //$NON-NLS-1$

+				ord.getLegend(), ord.getUnit());

+		yAxis.getTitle().getCaption().setValue(yCaption);

 		yAxis.getSeriesDefinitions().add(ySeriesDefinition);

-	

-		//Chart rendering

+	}

+

+	private static void chartRendering(final File targetFolder, final String fileName,

+			final ChartWithAxes chart) throws ChartException {

 		final PluginSettings pSettings = PluginSettings.instance();

 		final IDeviceRenderer render = pSettings.getDevice("dv.PNG"); //$NON-NLS-1$

 		render.setProperty(IDeviceRenderer.FILE_IDENTIFIER, new File(targetFolder,

@@ -271,7 +268,7 @@
 			return new Point[0];

 		}

 		if ((int) size == 1) {

-			Point point = dataPoints.get(0);

+			final Point point = dataPoints.get(0);

 			return new Point[] { new Point(point.x, point.y) };

 		}

 		double sumXY = 0.0;

diff --git a/org.eclipse.modisco.utils.chart.metamodel/META-INF/MANIFEST.MF b/org.eclipse.modisco.utils.chart.metamodel/META-INF/MANIFEST.MF
index 2714a00..24274cf 100644
--- a/org.eclipse.modisco.utils.chart.metamodel/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.utils.chart.metamodel/META-INF/MANIFEST.MF
@@ -11,4 +11,5 @@
  org.eclipse.emf.ecore;visibility:=reexport
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.modisco.utils.chart.metamodel.internal.chart,
+ org.eclipse.modisco.utils.chart.metamodel.internal.chart.impl;x-internal:=true,
  org.eclipse.modisco.utils.chart.metamodel.internal.chart.util;x-friends:="org.eclipse.modisco.utils.chart.edit"
diff --git a/org.eclipse.modisco.utils.core/META-INF/MANIFEST.MF b/org.eclipse.modisco.utils.core/META-INF/MANIFEST.MF
index af036de..2037c7e 100644
--- a/org.eclipse.modisco.utils.core/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.utils.core/META-INF/MANIFEST.MF
@@ -4,7 +4,8 @@
 Bundle-SymbolicName: org.eclipse.modisco.utils.core
 Bundle-Version: 1.0.0.qualifier
 Bundle-Activator: org.eclipse.modisco.utils.core.internal.Activator
-Require-Bundle: org.eclipse.core.runtime
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.facet.util.core;bundle-version="1.0.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: org.eclipse.modisco.utils.core.internal.exported
diff --git a/org.eclipse.modisco.utils.core/src/org/eclipse/modisco/utils/core/internal/Activator.java b/org.eclipse.modisco.utils.core/src/org/eclipse/modisco/utils/core/internal/Activator.java
index 023d1a3..f4c86b5 100644
--- a/org.eclipse.modisco.utils.core/src/org/eclipse/modisco/utils/core/internal/Activator.java
+++ b/org.eclipse.modisco.utils.core/src/org/eclipse/modisco/utils/core/internal/Activator.java
@@ -1,44 +1,51 @@
 /*******************************************************************************

- * Copyright (c) 2012 INRIA. All rights reserved. This program and the

- * accompanying materials are made available under the terms of the Eclipse

- * Public License v1.0 which accompanies this distribution, and is available at

+ * Copyright (c) 2012, 2015 INRIA and Mia-Software.

+ * All rights reserved. This program and the accompanying materials are made 

+ * available under the terms of the Eclipse Public License v1.0 which 

+ * accompanies this distribution, and is available at 

  * http://www.eclipse.org/legal/epl-v10.html

  * 

- * Contributors: Guillaume Doux - INRIA - Initial API and implementation

- * 

+ * Contributors:

+ *    Guillaume Doux - INRIA - Initial API and implementation

+ *    Grégoire Dupé (Mia-Software) - Bug 482715 - NumberFormatException in SystemInfo.computeInfo (180)

  ******************************************************************************/

 package org.eclipse.modisco.utils.core.internal;

 

-import org.osgi.framework.BundleActivator;

+import org.eclipse.core.runtime.Plugin;

 import org.osgi.framework.BundleContext;

 

-/**

- * 

- * @author Guillaume Doux

- *

- */

-public class Activator implements BundleActivator {

+@SuppressWarnings("PMD.UseSingleton")

+// @SuppressWarnings("PMD.UseSingleton") We cannot conforms to this rule because

+// this class is an Eclipse plug-in activator which will be instantiated by the

+// Eclipse framework.

+public class Activator extends Plugin {

 

-	private static BundleContext context;

+	private static Activator plugin;

 

-	static BundleContext getContext() {

-		return context;

+	@Override

+	@SuppressWarnings("PMD.SignatureDeclareThrowsException")

+	// @SuppressWarnings("PMD.SignatureDeclareThrowsException") We have to use

+	// this signature because this is an override of an Eclipse framework's

+	// method.

+	public void start(final BundleContext bundleContext) throws Exception {

+		super.start(bundleContext);

+		Activator.plugin = this;

 	}

 

-	/*

-	 * (non-Javadoc)

-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)

-	 */

-	public void start(BundleContext bundleContext) throws Exception {

-		Activator.context = bundleContext;

+	@Override

+	@SuppressWarnings("PMD.SignatureDeclareThrowsException")

+	// @SuppressWarnings("PMD.SignatureDeclareThrowsException") We have to use

+	// this signature because this is an override of an Eclipse framework's

+	// method.

+	public void stop(final BundleContext bundleContext) throws Exception {

+		// NOPMD: PMD say "Assigning an Object to null is a code smell."

+		// No choice to right it in another way : this is an Eclipse pattern.

+		Activator.plugin = null; // NOPMD by gdupe on 30/03/12 10:19

+		super.stop(bundleContext);

 	}

 

-	/*

-	 * (non-Javadoc)

-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)

-	 */

-	public void stop(BundleContext bundleContext) throws Exception {

-		Activator.context = null;

+	public static Plugin getDefault() {

+		return Activator.plugin;

 	}

 

 }

diff --git a/org.eclipse.modisco.utils.core/src/org/eclipse/modisco/utils/core/internal/exported/SystemInfo.java b/org.eclipse.modisco.utils.core/src/org/eclipse/modisco/utils/core/internal/exported/SystemInfo.java
index 101c6a0..0bd4f17 100644
--- a/org.eclipse.modisco.utils.core/src/org/eclipse/modisco/utils/core/internal/exported/SystemInfo.java
+++ b/org.eclipse.modisco.utils.core/src/org/eclipse/modisco/utils/core/internal/exported/SystemInfo.java
@@ -1,5 +1,5 @@
 /*******************************************************************************

- * Copyright (c) 2011 Mia-Software.

+ * Copyright (c) 2011, 2015 Mia-Software, and INRIA.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

@@ -7,7 +7,8 @@
  *

  * Contributors:

  *    Nicolas Bros (Mia-Software) - initial API and implementation

- *    Guillaume Doux (INRIA) -  refactoring and move to a separate plug-in

+ *    Guillaume Doux (INRIA) - refactoring and move to a separate plug-in

+ *    Grégoire Dupé (Mia-Software) - Bug 482715 - NumberFormatException in SystemInfo.computeInfo (180)

  *******************************************************************************/

 package org.eclipse.modisco.utils.core.internal.exported;

 

@@ -27,6 +28,9 @@
 import java.util.regex.Matcher;

 import java.util.regex.Pattern;

 

+import org.eclipse.emf.facet.util.core.Logger;

+import org.eclipse.modisco.utils.core.internal.Activator;

+

 /**

  * Class providing information about the system that are not provided internally by JAVA

  *

@@ -177,7 +181,11 @@
 			List<String> infos = getInfos("Capacity", result); //$NON-NLS-1$

 			long mem = 0;

 			for (String info : infos) {

-				mem += Long.parseLong(info);

+				try {

+					mem += Long.parseLong(info);

+				} catch (NumberFormatException e) {

+					Logger.logWarning(e, Activator.getDefault());

+				}

 			}

 			this.memory = "" + mem; //$NON-NLS-1$

 		} else {

diff --git a/org.eclipse.modisco.workflow/META-INF/MANIFEST.MF b/org.eclipse.modisco.workflow/META-INF/MANIFEST.MF
index 4c3421a..7aa8260 100644
--- a/org.eclipse.modisco.workflow/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.workflow/META-INF/MANIFEST.MF
@@ -7,7 +7,8 @@
 Bundle-Vendor: %Bundle-Vendor
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: org.eclipse.modisco.workflow.modiscoworkflow,
- org.eclipse.modisco.workflow.modiscoworkflow.impl;x-friends:="org.eclipse.modisco.workflow.core"
+ org.eclipse.modisco.workflow.modiscoworkflow.impl;x-friends:="org.eclipse.modisco.workflow.core",
+ org.eclipse.modisco.workflow.modiscoworkflow.util;x-internal:=true
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.emf.ecore;visibility:=reexport
 Bundle-ActivationPolicy: lazy