Creating branch 2.2.3 of project

diff --git a/doc/org.eclipse.egf.doc.user/.project b/doc/org.eclipse.egf.doc.user/.project
new file mode 100644
index 0000000..7ee326d
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/.project
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>org.eclipse.egf.doc.user</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

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

+	</natures>

+</projectDescription>

diff --git a/doc/org.eclipse.egf.doc.user/DEPRECATED-topics_GettingStarted.xml b/doc/org.eclipse.egf.doc.user/DEPRECATED-topics_GettingStarted.xml
new file mode 100644
index 0000000..a48f939
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/DEPRECATED-topics_GettingStarted.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="Getting Started" link_to="toc.xml#gettingstarted">
+   <topic label="EGF by pictures">
+         <topic href="html/gettingStarted/nutshell_fcore/nutshell_fcore.html" label="Basic">
+         </topic>
+         <topic href="html/gettingStarted/nutshell_pattern/nutshell_pattern.html" label="Pattern">
+         </topic>
+      </topic><topic href="html/gettingStarted/mainFeatures/mainFeatures.html" label="Main features">
+      </topic><topic href="html/gettingStarted/nutshell_examples/nutshell_examples.html" label="Examples">
+      </topic>
+</toc>

diff --git a/doc/org.eclipse.egf.doc.user/META-INF/MANIFEST.MF b/doc/org.eclipse.egf.doc.user/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..2e190f4
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.egf.doc.user; singleton:=true
+Bundle-Version: 0.2.3.qualifier
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Require-Bundle: 
+ org.eclipse.help
+Bundle-ActivationPolicy: lazy
diff --git a/doc/org.eclipse.egf.doc.user/about.html b/doc/org.eclipse.egf.doc.user/about.html
new file mode 100644
index 0000000..7e766fe
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/about.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>

+

+

+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

+<title>About</title>

+</head><body lang="EN-US">

+<h2>About This Content</h2>

+ 

+<p>June 5, 2007</p>	

+<h3>License</h3>

+

+<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 

+indicated below, the Content is provided to you under the terms and conditions of the

+Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 

+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.

+For purposes of the EPL, "Program" will mean the Content.</p>

+

+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 

+being redistributed by another party ("Redistributor") and different terms and conditions may

+apply to your use of any object code in the Content.  Check the Redistributor's license that was 

+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise

+indicated below, the terms and conditions of the EPL still apply to any source code in the Content

+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>

+

+</body></html>
\ No newline at end of file
diff --git a/doc/org.eclipse.egf.doc.user/build.properties b/doc/org.eclipse.egf.doc.user/build.properties
new file mode 100644
index 0000000..e4ef81d
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/build.properties
@@ -0,0 +1,20 @@
+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+bin.includes = META-INF/,\

+               .,\

+               plugin.xml,\

+               plugin.properties,\

+               html/,\

+               toc.xml,\

+               topics_FactoryComponents.xml,\

+               topics_GettingStarted.xml,\

+               topics_Reference.xml

+

diff --git a/doc/org.eclipse.egf.doc.user/html/about.html b/doc/org.eclipse.egf.doc.user/html/about.html
new file mode 100644
index 0000000..64c2e39
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/about.html
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html xmlns="http://www.w3.org/1999/xhtml">

+<head>

+<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>

+<title>About</title>

+

+<script src="../../advanced/synchWithToc.js" type="text/javascript" xml:space="preserve"> </script>

+<script type="text/javascript">if( self == top ){ window.location.replace( "../../index.jsp?topic=/org.eclipse.jdt.doc.isv/about.html");}</script>

+<script type="text/javascript">

+<!--

+if (parent.ContentToolbarFrame && parent.ContentToolbarFrame.setButtonState) parent.ContentToolbarFrame.setButtonState("toggle_highlight","hidden");

+-->

+</script>

+

+</head>

+<body lang="EN-US">

+<h2>About This Content</h2>

+ 

+<p>December 15, 2009</p> 

+<h3>License</h3>

+

+<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 

+indicated below, the Content is provided to you under the terms and conditions of the

+Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 

+at <a href="http://www.eclipse.org/legal/epl-v10.html" shape="rect">http://www.eclipse.org/legal/epl-v10.html</a>.

+For purposes of the EPL, "Program" will mean the Content.</p>

+

+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 

+being redistributed by another party ("Redistributor") and different terms and conditions may

+apply to your use of any object code in the Content.  Check the Redistributor's license that was 

+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise

+indicated below, the terms and conditions of the EPL still apply to any source code in the Content

+and such source code may be obtained at <a href="http://www.eclipse.org" shape="rect">http://www.eclipse.org</a>.</p>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/doc/org.eclipse.egf.doc.user/html/book.css b/doc/org.eclipse.egf.doc.user/html/book.css
new file mode 100644
index 0000000..19bb3fa
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/book.css
@@ -0,0 +1,30 @@
+@import "../PRODUCT_PLUGIN/book.css";
+
+span.control {
+  font-weight: bold;
+}
+
+span.name {
+  font-style: italic;
+}
+
+span.code {
+  font-family: monospace;
+}
+
+p.nav_footer {
+	font-weight: bold;
+}
+
+p.nav_footer a {
+	font-weight: bold;
+	font-style: italic;
+}

+

+.code-block {

+	font-family: monospace;

+	white-space: pre; 

+	background: #e4e3f1;

+	margin:10px;

+	padding: 5px;

+}
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/installation/installation.html b/doc/org.eclipse.egf.doc.user/html/gettingStarted/installation/installation.html
new file mode 100644
index 0000000..1ea9a19
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/installation/installation.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2010. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="egf"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>Installation of EGF and First Steps</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;Installation of EGF and First Steps

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+

+<p class="Para"><i>Prerequisite</i>: Eclipse 3.5.1 or Eclipse 3.5.2</p>

+

+<p class="Para"><i>First steps</i>:</p>

+

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Example: <a href="../nutshell_examples/nutshell_examples.html">EMF Wrapper</a></li>

+    <li CLASS="Item"><a href="../../../../org.eclipse.egf.engine.doc/html/tutorial/part1/egf-tutorial-fc1.html">Tutorial</a>: Understanding and developping factory components</li>

+    <li CLASS="Item"><a href="../../../../org.eclipse.egf.engine.doc.pattern/html/tutorial/part1/egf-tutorial-pattern1.html">Tutorial</a>: Understanding and developping patterns</li>

+    <li CLASS="Item">Visit the <a href="http://wiki.eclipse.org/EGF_Tutorial_and_Use_Cases">EGF Wiki</a>, Tutorial section which provides tutorial and exercices</li>

+</ul>

+

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/mainFeatures/mainFeatures.html b/doc/org.eclipse.egf.doc.user/html/gettingStarted/mainFeatures/mainFeatures.html
new file mode 100644
index 0000000..b6cb420
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/mainFeatures/mainFeatures.html
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="egf"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>Main Features of EGF</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;Main Features of EGF

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+

+<a name="GeneralFeatures"><h3>General Features</h3></a>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">EGF can start from a simple project; EGF adds incrementally all the required <b>project properties</b> for running: project bundle, dependencies</li>

+    <li CLASS="Item">EGF is <b>platform-aware</b>: execution with resources in the workspace first else in the platform</li>

+    <li CLASS="Item">Set the EGF preferences: console, model settings, activity validation</li>

+    <li CLASS="Item">An activity (factory component, task) is stored in a <b>fcore</b> file; an fcore stores a set of activities</li>

+</ul>

+<br/>

+

+<a name="GeneralCommands"><h3>General Commands</h3></a>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Activity <b>creation</b> (Factory component, Task): [File][New][Other][EGF section][EGF Activity]</li>

+    <li CLASS="Item">An activity <b>execution</b>:

+        <ul CLASS="UnorderedList">

+            <li CLASS="Item">Dynamically: right-click on a factory component or task elements, and [Run EGF Activity...]</li>

+            <li CLASS="Item">Fcore execution: [Right-click][Run EGF Activity...]</li>

+        </ul>

+    </li>

+</ul>

+

+<br/>

+

+<a name="StructuralFeatures"><h3>Structural Features</h3></a>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">An <b>activity</b> is unit of execution.

+        <ul CLASS="UnorderedList">

+            <li CLASS="Item">An activity contains a set of contracts (i.e., the actity parameters)</li>

+            <li CLASS="Item">A contract has a type, a mode (input, output, intput/output), a default value (depends on the type)</li>

+        </ul>

+    </li>

+    <li CLASS="Item">A <b>factory component</b> (FC) is an activity.</li>

+        <ul CLASS="UnorderedList">

+            <li CLASS="Item">A FC contains a set of viewpoints. A viewpoint defines a type of generation data (e.g., domain, mapping, pattern).</li>

+            <li CLASS="Item">A FC contains an <b>orchestration</b>.

+                <ul CLASS="UnorderedList">

+                    <li CLASS="Item">An orchestration contains a context, with the same characteristics than a contract</li>

+                    <li CLASS="Item">An orchestration contains an ordered set of activity invocations (to factory component or task)</li>

+                    <li CLASS="Item">An activity invocation provides values to the invoked activity: from 1) local values to the invocation, 2) the orchestration context, 3) the factory component contracts</li>

+                    <li CLASS="Item">A factory component hierarchy requires at least a task call to execute productively something</li>                    

+                </ul>

+            </li>

+        </ul>

+    </li>

+    <li CLASS="Item">A <b>task</b> is an activity. It is linked to a Java class that implements the expected behavior.</li>

+    <li CLASS="Item">A <b>domain viewpoint</b> is a viewpoint.

+        <ul CLASS="UnorderedList">

+            <li CLASS="Item">A domain viewpoint declares a domain with a URI (platform:/plugin/...)</li>

+            <li CLASS="Item">The domain is used in activity invocations through a URI type that references the domain</li>

+        </ul>

+    </li>

+    <li CLASS="Item">A <b>pattern viewpoint</b> is a viewpoint.

+        <ul CLASS="UnorderedList">

+            <li CLASS="Item">A pattern viewpoint contains pattern libraries which contains pattern libraries and patterns</li>

+            <li CLASS="Item">A pattern has 1) a specification, where are declared the pattern parameters, 2) an implementation that contains methods</li>

+            <li CLASS="Item">Pattern methods are in written in a language, for instance Jet for model-to-text transformation</li>

+            <li CLASS="Item">Pattern can inherit from a super-pattern, can call patterns with a context injection or not</li>

+        </ul>

+    </li>

+</ul>

+

+

+<a name="Extensibility"><h3>Extensibility</h3></a>

+<p class="Para">EGF is extensible by nature</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Adding new type</li>

+    <li CLASS="Item">Adding new viewpoint</li>

+    <li CLASS="Item">Adding new orchestration type</li>

+    <li CLASS="Item">Adding new language and engine for pattern</li>

+</ul>

+

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/images/EMFWrapper_1.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/images/EMFWrapper_1.png
new file mode 100644
index 0000000..3ca5623
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/images/EMFWrapper_1.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/images/EMFWrapper_1_1.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/images/EMFWrapper_1_1.png
new file mode 100644
index 0000000..e909508
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/images/EMFWrapper_1_1.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/images/Thumbs.db b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/images/Thumbs.db
new file mode 100644
index 0000000..d735c98
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/images/Thumbs.db
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/images/egf_pictures.ppt b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/images/egf_pictures.ppt
new file mode 100644
index 0000000..f752266
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/images/egf_pictures.ppt
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/nutshell_examples.html b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/nutshell_examples.html
new file mode 100644
index 0000000..60314e9
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_examples/nutshell_examples.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="egf"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>EGF examples</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;EGF examples

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+<a name="ExampleEMFWrapper"><h2 class="Head">EMF Wrapper</h2></a>

+

+<h3 class="Head">1. Purpose</h3>

+<p class="Para"><i>Tool</i>: EMF generation + model documentation generation</p>

+<p class="Para"><i>Learning</i>: understanding 1) how an EGF activity is structured, 2) how to enrich the EMF generation</p>

+

+<h3 class="Head">2. Scenario</h3>

+

+<p class="Para">Create and execute the EMF Wrapper:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Create a genmodel file from an ecore model file</li>

+    <li CLASS="Item">On the genmodel, [Right-click][Create EMF Wrapper]</li>

+    <li CLASS="Item">An fcore file is created</li>

+    <li CLASS="Item">Open the fcore file</li>

+    <li CLASS="Item">The production plan examplifies an ordered list of Java task calls with an IN parameter passing</li>

+    <li CLASS="Item">To execute the factory component, on the factory component or the fcore file, [Right-click][Run EGF Activity...]</li>

+    <li CLASS="Item">Model, edit, editor APIs are generated, and an html model document in the plug-in with the <i>doc</i> extension</li>

+</ul>

+<br/>

+

+<p align="left">

+  <img src="./images/EMFWrapper_1_1.png" alt="EMF Wrapper Example"/>

+</p>

+<br/>

+

+<p class="Para">More understanding:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Add a new generation step: on the production plan, [New Child][Production Plan Invocation], and invoke a factory component or task previously created</li>

+    <li CLASS="Item">Have a look on a Java task: on a <i>Production Plan Invocation</i> step, [Right-click][Open Activity]. This opens the fcore resource which contains the Java task. On the <i>Java Task</i> node, the <i>value</i> property indicates the Java class path.</li>

+    <li CLASS="Item">Deep customization: the Java Classes inherits from the <i>EgfEmfAbstractTask</i> which could be redefined in order to have a specific generation behavior.</li>

+    <li CLASS="Item">Pattern overview: [Right click][Open activity] on the <i>EmfDocGenHtml</i> step. This open the <i>EmfDocGenHtml</i> factory component. Then, visit the patterns which generate the htlm documentation.</li>

+</ul>

+

+

+

+<h2 class="Head">Other examples</h2>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Visit the <a href="http://wiki.eclipse.org/EGF">EGF Wiki</a>, section Factory Components</li>

+</ul>

+

+

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic1.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic1.png
new file mode 100644
index 0000000..a8fcc2e
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic1.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic10.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic10.png
new file mode 100644
index 0000000..58d24e6
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic10.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic10_commented.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic10_commented.png
new file mode 100644
index 0000000..6550bac
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic10_commented.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic11.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic11.png
new file mode 100644
index 0000000..74619d3
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic11.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic1_commented.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic1_commented.png
new file mode 100644
index 0000000..a31e98d
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic1_commented.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic2.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic2.png
new file mode 100644
index 0000000..f048eb4
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic2.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic2_commented.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic2_commented.png
new file mode 100644
index 0000000..24d77bb
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic2_commented.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic3.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic3.png
new file mode 100644
index 0000000..88e1fcb
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic3.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic3_commented.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic3_commented.png
new file mode 100644
index 0000000..b807762
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic3_commented.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic4.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic4.png
new file mode 100644
index 0000000..58b34d0
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic4.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic4_commented.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic4_commented.png
new file mode 100644
index 0000000..9ecd87e
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic4_commented.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic5.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic5.png
new file mode 100644
index 0000000..31223d1
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic5.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic6.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic6.png
new file mode 100644
index 0000000..7df54f8
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic6.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic7.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic7.png
new file mode 100644
index 0000000..9dba2c4
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic7.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic8_commented.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic8_commented.png
new file mode 100644
index 0000000..3f69d81
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic8_commented.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic9.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic9.png
new file mode 100644
index 0000000..f265c7d
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pic9.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pictures.ppt b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pictures.ppt
new file mode 100644
index 0000000..9b94e71
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/images/egf_pictures.ppt
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/nutshell_fcore.html b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/nutshell_fcore.html
new file mode 100644
index 0000000..e49abff
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_fcore/nutshell_fcore.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="egf"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>EGF by pictures - Basic</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;EGF by pictures - Basic

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+

+<a name="egf_pic1"><h1>Project and fcore files</h1></a>

+<p align="left">

+  <img src="./images/egf_pic1_commented.png" alt="fcore files"/>

+</p>

+

+<a name="egf_pic2"><h1>Factory component and task</h1></a>

+<p class="Para"><b>Factory component</b> = contracts (= parameters) + viewpoints (= organization of generation data) + orchestration (factory component or task invocation)</p>

+<p align="left">

+  <img src="./images/egf_pic2_commented.png" alt="Factory component"/>

+</p>

+

+<p class="Para"><b>Task</b> = atomic execution unit</p>

+<p align="left">

+  <img src="./images/egf_pic3_commented.png" alt="Task"/>

+</p>

+

+<!--

+<p align="left">

+  <img src="./images/egf_pic4_commented.png" alt="Task"/>

+</p>

+-->

+

+<a name="egf_pic7"><h1>Activity invocation</h1></a>

+<!--

+<p align="left">

+  <img src="./images/egf_pic7.png" alt="Activity invocation"/>

+</p>

+-->

+

+<p align="left">

+  <img src="./images/egf_pic8_commented.png" alt="Activity invocation"/>

+</p>

+<p class="Para">The principle of [Factory component/Task] invocation is the same between factory components</p>

+

+<a name="egf_pic10"><h1>Task implementation</h1></a>

+<p align="left">

+  <img src="./images/egf_pic10_commented.png" alt="Task implementation"/>

+</p>

+

+

+<a name="egf_pic11"><h1>Dynamic execution of an activity</h1></a>

+<p class="Para">Validate and execute an activity</p>

+<p align="left">

+  <img src="./images/egf_pic11.png" alt="Dynamic execution of an activity"/>

+</p>

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/Thumbs.db b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/Thumbs.db
new file mode 100644
index 0000000..6986840
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/Thumbs.db
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1.png
new file mode 100644
index 0000000..ef727c3
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_1_commented.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_1_commented.png
new file mode 100644
index 0000000..7436245
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_1_commented.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_2_commented.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_2_commented.png
new file mode 100644
index 0000000..645b259
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_2_commented.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_3.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_3.png
new file mode 100644
index 0000000..cce48d2
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_3.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_4.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_4.png
new file mode 100644
index 0000000..b9c5ca0
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_4.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_5.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_5.png
new file mode 100644
index 0000000..3ffd7aa
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_5.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_6.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_6.png
new file mode 100644
index 0000000..bca816b
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_6.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_7_commented.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_7_commented.png
new file mode 100644
index 0000000..a02b770
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_7_commented.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_8_commented.png b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_8_commented.png
new file mode 100644
index 0000000..3b92633
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pic1_8_commented.png
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pictures.ppt b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pictures.ppt
new file mode 100644
index 0000000..932bbaf
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/images/egf_pictures.ppt
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/nutshell_pattern.html b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/nutshell_pattern.html
new file mode 100644
index 0000000..2b9a80d
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/gettingStarted/nutshell_pattern/nutshell_pattern.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="egf"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>EGF by pictures - Pattern</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;EGF by pictures - Pattern

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+

+<h2>Definition: Pattern = reusable and customizable solution to a recurrent problem.</h2> 

+

+<a name="egf_pic1_1"><h1>Editing a Pattern by User Interface</h1></a>

+<p align="left">

+  <img src="./images/egf_pic1_1_commented.png" alt="Pattern UI"/>

+</p>

+<br/>

+<br/>

+

+<a name="egf_pic1_2"><h1>Specification View of a Pattern</h1></a>

+<p align="left">

+  <img src="./images/egf_pic1_2_commented.png" alt="Pattern specification"/>

+</p>

+<p class="Para">Example of language for implementation: a model-to-text language (e.g., Jet) for text generation from a model, or a language, such as Java, to apply a systematic behavior.</p>

+<br/>

+<br/>

+

+<a name="egf_pic1_7"><h1>Implementation View of a Pattern</h1></a>

+<p align="left">

+  <img src="./images/egf_pic1_7_commented.png" alt="fcore files"/>

+</p>

+<br/>

+<br/>

+

+<a name="egf_pic1_8"><h1>Pattern Execution by Task Invocation</h1></a>

+<p align="left">

+  <img src="./images/egf_pic1_8_commented.png" alt="fcore files"/>

+</p>

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.doc.user/html/notices.html b/doc/org.eclipse.egf.doc.user/html/notices.html
new file mode 100644
index 0000000..e78068b
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/notices.html
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta name="copyright" content="Copyright (c) THALES, 2007. All rights reserved." >
+		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    	<meta http-equiv="Content-Style-Type" content="text/css">
+    	<link rel="stylesheet" href="book.css" charset="ISO-8859-1" type="text/css">
+   <title>Legal Notices</title>
+</head>
+<body>
+
+<table border="0" cellpadding="2" cellspacing="0" width="100%">
+  <tbody>
+    <tr>
+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">
+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">
+    	  &nbsp;Notices
+    	  </font></font></h2>
+    	</td>
+    </tr>
+	</tbody>
+</table>
+
+
+<p>
+The material in this guide is Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
+</p>
+<p>
+<a href="about.html">Terms and conditions regarding the use of this guide.</a>
+</p>
+</body>
+</html>
diff --git a/doc/org.eclipse.egf.doc.user/html/overview/images/egfPerspective.jpg b/doc/org.eclipse.egf.doc.user/html/overview/images/egfPerspective.jpg
new file mode 100644
index 0000000..d6c19b8
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/overview/images/egfPerspective.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/overview/images/egfPerspectiveLarge.jpg b/doc/org.eclipse.egf.doc.user/html/overview/images/egfPerspectiveLarge.jpg
new file mode 100644
index 0000000..0afaf08
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/overview/images/egfPerspectiveLarge.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/overview/images/exampleFCAssembly.jpg b/doc/org.eclipse.egf.doc.user/html/overview/images/exampleFCAssembly.jpg
new file mode 100644
index 0000000..6668d85
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/overview/images/exampleFCAssembly.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/overview/images/exampleFCAssemblyLarge.jpg b/doc/org.eclipse.egf.doc.user/html/overview/images/exampleFCAssemblyLarge.jpg
new file mode 100644
index 0000000..60bb7ff
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/overview/images/exampleFCAssemblyLarge.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.doc.user/html/overview/overview.html b/doc/org.eclipse.egf.doc.user/html/overview/overview.html
new file mode 100644
index 0000000..11c6a1f
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/overview/overview.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="egf,overview, factory component, factory,orchestration, viewpoint, generation pattern"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>EGF Overview</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;EGF (Eclipse Generation Factories) Overview

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+

+<a name="introduction"><h2>Introduction</h2></a>

+

+<p class="Para">In order to improve software development industrialization, a major step consists in mass-producing software. This mass-production must be customizable, and must be able to support complex, large-scale and heterogeneous generations. Given the today’s available Eclipse tools, the issue here is not to provide either a new transformation engine (model-to-model, model-to-text, text-to-model, text-to-text) or DSL editor but to realize their integration for flexible software mass-production. This is the <a href="http://www.eclipse.org/proposals/egf/">purpose of EGF</a>.</p>

+

+<p class="Para">EGF federates generation around the pivotal element of factory component. A factory component is a unit of generation with a clear objective of generation. It has a contract to declare the factory component parameters. Contrary to a classic generation which aggregates all the generation parameters, generation data are organized by viewpoints, such as generation pattern, license description or deployment declaration. Altogether, viewpoints explicitly configure all the generation parameters. The generation orchestration is defined by a production plan. A generation step of the production plan can either be a Java task or, by assembly, an invocation to another factory component. Regarding the lifecycle, a factory component can be edited and executed.</p>

+

+<p class="Para">A factory component encapsulates generation know-how. A portfolio is a consistent set of factory components with a common generation objective, valuable for a development team or a user community. The purpose is to create off-the-shelf factory components. For instance, a technical infrastructure factory provides all the needed mechanisms for an application development (e.g., transaction management, persistence policy).</p>

+

+

+<a name="example"><h2>Example of customization with generation patterns</h2></a>

+

+<p class="Para">The following figure exemplifies a generation by factory component assembly: some factory components have an assembly role while others generate. This generation reuses a viewpoint provided by EGF, a M2T (model-to-text) generation pattern viewpoint for the definition of generation patterns. Those generation patterns, Jet-based today, supports pattern inheritance. This means a M2T generation can overload another one. In this example, by default, the EMF model/edit/editor generation is applied. It can be specialized by inherited patterns. The same principle can be applied to other generations other than EMF, for instance to web services or documentation.</p>

+

+<p align="center">

+  <img src="./images/exampleFCAssembly.jpg" alt="Example of factory component assembly with EGF"/>

+</p>

+<p align="center">

+ <i>Figure 1. Example of factory component assembly with EGF</i>

+</p>

+

+<p class="Para">Next figure presents the EGF perspective. With the view on the left-hand side, the factory component developer develops his own factory components, while with the view on the right-hand side he visualizes the deployed and reusable factory components. This figure shows the viewpoint/orchestration structure of a factory component and the generation delegation between factory components with parameter passing.</p>

+

+<p align="center">

+  <img src="./images/egfPerspective.jpg" alt="The EGF perspective"/>

+</p>

+<p align="center">

+ <i>Figure 2. The EGF perspective</i>

+</p>

+

+

+<a name="twoLevels"><h2>Two levels of factory component development</h2></a>

+

+<p class="Para">As presented in the previous example, the most natural way to put factory components into practice is to develop and assemble factory components. The objective is to create valuable factory components, either for one’s team or larger development teams, and to reuse them in different generation chains. The issue is to figure out generation practices, how to implement and compose them with factory components, and the generation variability.</p>

+

+<p class="Para">Factory components can be used to address simple generations. But flexibility and customization need more sophisticated mechanisms. For meeting this need, EGF offers the ability to extend the default factory component structure and generation behavior. i) One can add its own viewpoints in order to add new generation data structures, and to augment the capability to parameterize generations. This implies associated factory components are able to use those new viewpoints. ii) One can add its own orchestration types. This means orchestration is not restricted to a unique orchestration notation and engine.</p>

+

+<p class="Para">Industrialization of large-scale development cannot be sum up to a succession of generators. It involves an architecture description of core components, technological generation components with their extensions, and the definition of their generation lifecycles. EGF brings one stone to this tooling aspect.</p>

+

+

+<a name="relationship"><h2>EGF relationships</h2></a>

+

+<p class="Para">Related EGF topics:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Definition of generation architecture</li>

+    <li CLASS="Item">Generation composition (generation redefinition and extensibility, merge, include/override)</li>

+    <li CLASS="Item">Generation orchestration</li>

+    <li CLASS="Item">Definition of technical and business generation portfolios</li>

+    <li CLASS="Item">Product lines</li>

+</ul>

+

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.doc.user/html/whatsNew/egf_whatsnew.html b/doc/org.eclipse.egf.doc.user/html/whatsNew/egf_whatsnew.html
new file mode 100644
index 0000000..94928c9
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/html/whatsNew/egf_whatsnew.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+	<head>
+		<meta name="copyright" content="Copyright (c) THALES, 2007. All rights reserved." >
+		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    	<meta http-equiv="Content-Style-Type" content="text/css">
+		<link rel="STYLESHEET" href="../book.css" charset="ISO-8859-1" type="text/css">
+		<title>What's New in EGF 0.2.3</title>
+		<script language="JavaScript" type="text/javascript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"> </script>
+	</head>
+
+<body>
+
+<table border="0" cellpadding="2" cellspacing="0" width="100%">
+  <tbody>
+    <tr>
+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">
+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">
+    	  &nbsp;What's New in EGF 0.2.3
+    	  </font></font></h2>
+    	</td>
+    </tr>
+	</tbody>
+</table>
+
+
+<p class="Para">The <a href="http://wiki.eclipse.org/EGF_Roadmap">EGF Roadmap</a> is accessible on the Wiki</p>
+
+</br>
+
+
+<h3>EGF 0.2.3 - Eclipse 3.5.1:</h3>
+<ul CLASS="UnorderedList">
+    <li CLASS="Item">Task inheritance</li>
+</ul>
+
+
+<h3>EGF 0.2.2 - Eclipse 3.5.1:</h3>
+<ul CLASS="UnorderedList">
+    <li CLASS="Item">EGF structure: generation workflow - In/Out/Output parameter management complete</li>
+    <li CLASS="Item">Pattern: Introduction of pattern injection and model-driven pattern strategy</li>
+    <li CLASS="Item">Portfolio: EMF wrapper</li>
+</ul>
+
+
+<h3>EGF 0.2.1 - Eclipse 3.5.1:</h3>
+<ul CLASS="UnorderedList">
+    <li CLASS="Item">EGF structure: improvement of the generation workflow</li>
+    <li CLASS="Item">Pattern: Introduction of a method template editor and pattern strategy; improvement of pattern call</li>
+</ul>
+
+
+<h3>EGF 0.2.0 - Eclipse 3.5:</h3>
+<ul CLASS="UnorderedList">
+    <li CLASS="Item">Common features: Persistence of factory components and tasks in fcore files; dynamic execution of factory component and task; UI improvement</li>
+    <li CLASS="Item">EGF structure: Extensibility of EGF in order to support contributions (e.g. new viewpoints); support of output, input/output parameters for workflow definition</li>
+    <li CLASS="Item">Pattern: Introduction of pattern inheritance, pattern call; infrastructure able to support new engines</li>
+</ul>
+
+
+<h3>EGF 0.1.0 - Eclipse 3.5:</h3>
+<ul CLASS="UnorderedList">
+    <li CLASS="Item">Edition and execution of factory component</li>
+    <li CLASS="Item">Generation Pattern edition and execution with Jet-1</li>
+</ul>
+
+
+
+</body>
+</html>
diff --git a/doc/org.eclipse.egf.doc.user/plugin.properties b/doc/org.eclipse.egf.doc.user/plugin.properties
new file mode 100644
index 0000000..d892142
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/plugin.properties
@@ -0,0 +1,13 @@
+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+

+pluginName=EGF Guide (Incubation)

+providerName=Eclipse Modeling Project

diff --git a/doc/org.eclipse.egf.doc.user/plugin.xml b/doc/org.eclipse.egf.doc.user/plugin.xml
new file mode 100644
index 0000000..75a1fab
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/plugin.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?eclipse version="3.2"?>
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<plugin>

+   <extension

+         point="org.eclipse.help.toc">

+      <toc

+            file="toc.xml"

+            primary="true">

+      </toc>

+      <toc

+            file="topics_GettingStarted.xml">

+      </toc>

+      <toc

+            file="topics_Reference.xml">

+      </toc>

+      <toc

+            file="topics_FactoryComponents.xml">

+      </toc>

+   </extension>

+</plugin>

diff --git a/doc/org.eclipse.egf.doc.user/toc.xml b/doc/org.eclipse.egf.doc.user/toc.xml
new file mode 100644
index 0000000..f343cad
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/toc.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="EGF Eclipse Generation Factories Guide">
+   <topic href="html/overview/overview.html" label="Overview">

+      <anchor id="egfOverviews"/>

+   </topic>

+   <topic label="Getting Started">
+      <anchor id="gettingstarted"/>
+   </topic>
+   <topic label="Tutorials">
+      <anchor id="egfEngineTutorials"/>
+   </topic>
+   <topic label="Concepts">
+      <anchor id="concepts"/>
+   </topic>
+   <topic label="Tasks">
+      <anchor id="tasks"/>
+   </topic>

+   <!--<topic label="Process">

+      <anchor id="process"/>

+   </topic>-->
+   <topic label="Reference">
+      <anchor id="reference"/>
+   </topic>
+   <topic label="Factory Component Portfolio">

+      <anchor id="factoryComponents"/>

+   </topic>

+   <topic label="What's new" href="html/whatsNew/egf_whatsnew.html"/>

+   <topic label="Legal" href="html/notices.html"/>
+</toc>
diff --git a/doc/org.eclipse.egf.doc.user/topics_FactoryComponents.xml b/doc/org.eclipse.egf.doc.user/topics_FactoryComponents.xml
new file mode 100644
index 0000000..e024c30
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/topics_FactoryComponents.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="Factory Component Portfolio" link_to="toc.xml#factoryComponents"> 
+	<topic label="Core">

+		<anchor id="core"/>

+	</topic>

+	<topic label="Utilities">

+		<anchor id="utilities"/>

+	</topic>

+	<topic label="Users">

+		<anchor id="users"/>

+	</topic>
+</toc>
diff --git a/doc/org.eclipse.egf.doc.user/topics_GettingStarted.xml b/doc/org.eclipse.egf.doc.user/topics_GettingStarted.xml
new file mode 100644
index 0000000..76145c2
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/topics_GettingStarted.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="Getting Started" link_to="toc.xml#gettingstarted">
+   <topic href="html/gettingStarted/installation/installation.html" label="Installation and First Steps">
+   </topic><topic href="html/gettingStarted/mainFeatures/mainFeatures.html" label="Main features">
+      </topic><topic href="html/gettingStarted/nutshell_examples/nutshell_examples.html" label="Examples">
+      </topic>
+</toc>

diff --git a/doc/org.eclipse.egf.doc.user/topics_Reference.xml b/doc/org.eclipse.egf.doc.user/topics_Reference.xml
new file mode 100644
index 0000000..4090b28
--- /dev/null
+++ b/doc/org.eclipse.egf.doc.user/topics_Reference.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?NLS TYPE="org.eclipse.help.toc"?>

+
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="Reference" link_to="DEPRECATED_toc.xml#reference">

+   <topic label="API Reference">

+      <anchor id="api"/>

+   </topic>

+	<topic label="Menus and Actions" href="html/reference/menus/menus-and-actions.html">

+		<anchor id="menusAndActions" />

+	</topic>

+	<topic label="Preferences">

+		<anchor id="preferences" />

+	</topic>

+	<topic label="Views and Editors">

+		<anchor id="viewsAndEditors" />

+	</topic>

+	<topic label="Wizards and Dialogs">

+		<topic label="Create New Elements">

+			<anchor id="createNewElements" />

+		</topic>

+  <topic label="Edit Elements">

+     <anchor id="editElements"/>

+  </topic>

+		<anchor id="wizardsAndDialogs" />

+	</topic>

+	<topic label="Glossary" href="html/reference/glossary.html">

+		<anchor id="glossary" />

+	</topic>

+	<topic label="Icons">

+		<anchor id="icons" />

+	</topic>

+</toc>

diff --git a/doc/org.eclipse.egf.engine.doc.pattern/.project b/doc/org.eclipse.egf.engine.doc.pattern/.project
new file mode 100644
index 0000000..dfdab7e
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/.project
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>org.eclipse.egf.engine.doc.pattern</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

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

+	</natures>

+</projectDescription>

diff --git a/doc/org.eclipse.egf.engine.doc.pattern/META-INF/MANIFEST.MF b/doc/org.eclipse.egf.engine.doc.pattern/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..517e00c
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.egf.engine.doc.pattern; singleton:=true
+Bundle-Version: 0.2.3.qualifier
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Require-Bundle: 
+ org.eclipse.help
+Bundle-ActivationPolicy: lazy
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/about.html b/doc/org.eclipse.egf.engine.doc.pattern/about.html
new file mode 100644
index 0000000..7e766fe
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/about.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>

+

+

+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

+<title>About</title>

+</head><body lang="EN-US">

+<h2>About This Content</h2>

+ 

+<p>June 5, 2007</p>	

+<h3>License</h3>

+

+<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 

+indicated below, the Content is provided to you under the terms and conditions of the

+Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 

+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.

+For purposes of the EPL, "Program" will mean the Content.</p>

+

+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 

+being redistributed by another party ("Redistributor") and different terms and conditions may

+apply to your use of any object code in the Content.  Check the Redistributor's license that was 

+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise

+indicated below, the terms and conditions of the EPL still apply to any source code in the Content

+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>

+

+</body></html>
\ No newline at end of file
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/build.properties b/doc/org.eclipse.egf.engine.doc.pattern/build.properties
new file mode 100644
index 0000000..4b237e9
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/build.properties
@@ -0,0 +1,18 @@
+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+bin.includes = META-INF/,\

+               about.html,\

+               plugin.xml,\

+               plugin.properties,\

+               contexts.xml,\

+               html/,\

+               toc.xml,\

+               toc_GettingStarted.xml

diff --git a/doc/org.eclipse.egf.engine.doc.pattern/contexts.xml b/doc/org.eclipse.egf.engine.doc.pattern/contexts.xml
new file mode 100644
index 0000000..451af76
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/contexts.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?NLS TYPE="org.eclipse.help.contexts"?>
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<contexts>

+	<context id="egf_pattern_overview_page">

+		<description>The overview page is responsible for the general information of the pattern.</description>

+		<topic label="Pattern Editor Overview" href="html/editor/page/overview.html"/>

+	</context>

+  <context id="egf_pattern_production_page">

+    <description>The production page defines the production parameters applicable to pattern production.</description>

+    <topic label="Pattern Editor Production" href="html/editor/page/production.html"/>

+  </context>	

+	<context id="egf_pattern_specification_page">

+		<description>The specification page defines the pattern parameters and the applicable condition for pattern matching.</description>

+		<topic label="Pattern Editor Specification" href="html/editor/page/specification.html"/>

+	</context>

+	<context id="egf_pattern_inheritance_page">

+		<description>The specification page defines the pattern parents hierarchy.</description>

+		<topic label="Pattern Editor Inheritance" href="html/editor/page/inheritance.html"/>

+	</context>

+	<context id="egf_pattern_implementation_page">

+		<description>The specification page defines the pattern operations and their associated templates.</description>

+		<topic label="Pattern Editor Implementation" href="html/editor/page/implementation.html"/>

+	</context>

+</contexts>

diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/book.css b/doc/org.eclipse.egf.engine.doc.pattern/html/book.css
new file mode 100644
index 0000000..20041f7
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/book.css
@@ -0,0 +1,30 @@
+@import "../PRODUCT_PLUGIN/book.css";
+
+span.control {
+  font-weight: bold;
+}
+
+span.name {
+  font-style: italic;
+}
+
+span.code {
+  font-family: monospace;
+}
+
+p.nav_footer {
+	font-weight: bold;
+}
+
+p.nav_footer a {
+	font-weight: bold;
+	font-style: italic;
+}
+
+.code-block {
+	font-family: monospace;
+	white-space: pre; 
+	background: #e4e3f1;
+	margin:10px;
+	padding: 5px;
+}
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/editor/editor.html b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/editor.html
new file mode 100644
index 0000000..e1b8571
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/editor.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

+<html>

+  <head>

+		<meta name="copyright" content="Copyright (c) THALES, 2007. All rights reserved." >

+		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+    	<meta http-equiv="Content-Style-Type" content="text/css">

+    	<link rel="stylesheet" href="../book.css" charset="ISO-8859-1" type="text/css">

+    	<title>Pattern editor</title>

+  </head>

+  <body>

+  	<h1>Pattern editor</h1>

+

+	<p>The Pattern editor provides specialized features for editing a pattern model.</p>

+	<p>The editor includes the following features:</p>

+	<ul>

+		<li>Multiple pages editor : one page per concept</li>

+		<li>Names validation : pattern, parameters, methods</li>

+		<li>Automatic generation of internal content</li>

+		<li>Links with external editors : templates and Java code</li>

+	</ul>

+	<p>

+		The only ways to invoke the Pattern editor

+		is either by double-clicking an in-development pattern in the <a href="../../../org.eclipse.egf.engine.doc/html/reference/views/views-factoryComponentExplorer.html">Factory Component Explorer</a> view,

+		or by double-clicking a deployed one in the <a href="../../../org.eclipse.egf.engine.doc/html/reference/views/views-factoryComponents.html">Factory Components</a> view.

+	</p>

+	<p>

+		The editor is also automatically invoked when a new pattern is created, using the <a href="../../../org.eclipse.egf.engine.doc/html/reference/wizards/wizards-new-pattern.html">New Pattern Wizard</a>.

+	</p>

+	<p><img border="0" src="../../../org.eclipse.egf.engine.doc/html/images/ngrelc.png" alt="Related concepts"></p>

+	<p>

+		<a href="../../../org.eclipse.egf.engine.doc/html/concepts/pattern.html">Pattern</a>

+	</p>

+	<p><img border="0" src="../../../org.eclipse.egf.engine.doc/html/images/ngrelr.png" alt="Related Reference"></p>

+	<p>

+		The editor pages are detailed in the following sections :<br>

+    	<a href="page/overview.html">Overview Page</a><br>

+      <a href="page/production.html">Production Page</a><br>    	

+    	<a href="page/specification.html">Specification Page</a><br>

+    	<a href="page/inheritance.html">Inheritance Page</a><br>

+    	<a href="page/implementation.html">Implementation Page</a><br>

+    </p>

+    <p>

+    	Views allowing the editor to be opened :<br>

+    	<a href="../../../org.eclipse.egf.engine.doc/html/reference/views/views-factoryComponentExplorer.html">Factory Component Explorer</a><br>

+    	<a href="../../../org.eclipse.egf.engine.doc/html/reference/views/views-factoryComponents.html">Factory Components</a><br>

+    </p>

+  </body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/CreateNewAction.png b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/CreateNewAction.png
new file mode 100644
index 0000000..34d0afb
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/CreateNewAction.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/GenerateMethodActionProperties.png b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/GenerateMethodActionProperties.png
new file mode 100644
index 0000000..6413606
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/GenerateMethodActionProperties.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/ImplementationViewers.png b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/ImplementationViewers.png
new file mode 100644
index 0000000..ff79323
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/ImplementationViewers.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/InternalMethodContentEdition.png b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/InternalMethodContentEdition.png
new file mode 100644
index 0000000..48ae5eb
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/InternalMethodContentEdition.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/InternalMethodProperties.png b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/InternalMethodProperties.png
new file mode 100644
index 0000000..9cd2a00
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/implementation/InternalMethodProperties.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/inheritance/SelectParent.png b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/inheritance/SelectParent.png
new file mode 100644
index 0000000..7b46692
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/inheritance/SelectParent.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/specification/ChooseModel.png b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/specification/ChooseModel.png
new file mode 100644
index 0000000..d686924
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/specification/ChooseModel.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/specification/TypeSelection.png b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/specification/TypeSelection.png
new file mode 100644
index 0000000..c281272
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/images/specification/TypeSelection.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/implementation.html b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/implementation.html
new file mode 100644
index 0000000..b034c9d
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/implementation.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+	<head>
+		<meta name="copyright" content="Copyright (c) THALES, 2007. All rights reserved." >
+		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    	<meta http-equiv="Content-Style-Type" content="text/css">
+    	<link rel="stylesheet" href="../../book.css" charset="ISO-8859-1" type="text/css">
+    	<title>Pattern Editor Implementation Page</title>
+</head>
+<body>
+<h1>Implementation Page</h1>
+	<p>
+		The implementation page defines the pattern implemented behavior.<br/>
+		The implementation is splitted into two concepts :<br/>
+		<ul>
+			<li>The definition of reusable behaviors, named the <a href="#internalMethods"><b>internal methods</b></a>.</li>
+			<li>The orchestration of the usage of the available behaviors, named the <a href="#generateMethod"><b>generate method</b></a>.</li>
+		</ul>
+		<p align="center">
+			<img src="../images/implementation/ImplementationViewers.png" alt="Implementation viewers overview"/>
+		</p>
+		<p>
+			<a name="internalMethods">
+				<h2>The Pattern internal methods section</h2>
+			</a>
+			<p>
+				This is a collection of defined internal methods (behaviors).<br/>
+				<p>
+					A new method can be added by clicking the <b>Add</b> button. It's having a default name (something like <i>newMethodXXX</i>).<br/>
+				</p>
+				<p>
+					To modify a method, click it's representation on the left collection. A new section named <b>Internal method properties</b> appears on the right.
+					<p align="center">
+						<img src="../images/implementation/InternalMethodProperties.png" alt="Internal method properties"/><br/>
+					</p>
+					The method can be renamed (Name field), its content edited (Content link), and its orchestration modified (Sub-list below).<br/>
+					<ul>
+						<li>
+							The name needs to be unique within edited pattern.<br/>
+							It must be the same as parent method one (whatever level the parent may be), in case of overriding need.
+						</li>
+						<li>
+							Clicking the <b>Content</b> link does open the associated JET editor.<br/>
+							<p align="center">
+								<img src="../images/implementation/InternalMethodContentEdition.png" alt="Editing internal method"/>
+							</p>
+							The editor is displaying the internal method name.<br/>
+							To save changes to the implementation, simply save this editor.
+						</li>
+						<li>
+							The orchestration is having sense in the case of an override only.<br/>
+							See the <a href="#generateMethod">Generate method section</a> as of how to use this list, only calls to Super can be added here.
+						</li>
+					</ul>
+				</p>
+				<p>
+					An existing method can be removed.<br/>
+					Select it on the left collection, and click the <b>Remove</b> button.
+				</p>
+			</p>
+		</p>
+		<p>
+			<a name="generateMethod">
+				<h2>The Generate method section</h2>
+			</a>
+			This method is about orchestrating the inherited or local internal methods.<br/>
+			This is defining the pattern behavior as a whole, and is the only visible entry point from outside the pattern.
+			<p>
+				To invoke a new action (ie behavior), click the <b>Add</b> button.<br/>
+				A new dialog opens.<br/>
+				<p align="center">
+					<img src="../images/implementation/CreateNewAction.png" alt="Create a new action"/>
+				</p>
+				<ul>
+					<li>Select the <b>Internal method call</b> action to invoke one of current pattern internal methods.</li>
+					<li>Select the <b>Call to another pattern</b> action to invoke another pattern, as part of current behavior.</li>
+					<li>Select the <b>Super method call</b> action to either invoke parent orchestration (no parameter) or one of the inherited internal methods (parameter).</li>
+				</ul>
+			</p>
+			<p>
+				You can click an action (left viewer) to see its properties.<br/>
+				A new section (<b>Selected action properties</b>) appears on the right side.<br/>
+				<p align="center">
+					<img src="../images/implementation/GenerateMethodActionProperties.png" alt="Display action properties"/>
+				</p>
+				The action properties can not be modified textually, but using the <b>Browse</b> button instead.
+			</p>
+			<p>
+				To organize the orchestration, select an action on the left viewer, and click the <b>Up</b> or <b>Down</b> buttons as required.
+			</p>
+		</p>
+	</p>
+	<p>
+		<img src="../../../../org.eclipse.egf.engine.doc/html/images/ngrelr.png" alt="Related Reference">
+	</p>
+	<a href="../editor.html">Pattern editor</a>
+</body>
+</html>
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/inheritance.html b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/inheritance.html
new file mode 100644
index 0000000..fa1ce65
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/inheritance.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="copyright" content="Copyright (c) THALES, 2007. All rights reserved." >
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+	<meta http-equiv="Content-Style-Type" content="text/css">
+	<link rel="stylesheet" href="../../book.css" charset="ISO-8859-1" type="text/css">
+	<title>Pattern Editor Inheritance Page</title>
+</head>
+
+<body>
+	<h1>Inheritance Page</h1>
+	<p>
+		The inheritance page defines the pattern parent hierarchy.<br/>
+		A pattern can inherit from another one at the uppermost.<br/>
+		<p>
+			The parent selection widget is made of two lists.
+			<ul>
+				<li>The first one, on the left is displaying all the potential parents.</li>
+				<li>The second one, on the right is showing the selected one.</li>
+			</ul>
+			<p>
+				To choose a parent, select it in the left list, and click the <b>></b> button.<br/>
+				Selecting a library disables both buttons.<br/>
+				No new pattern can be selected on the left viewer, and transfered to the right one.
+			</p>
+		</p>
+		<p align="center">
+			<img src="../images/inheritance/SelectParent.png" alt="Select parent pattern"/><br/>
+		</p>
+		<p>
+			To choose a new parent, remove currently selected one.<br/>
+			Click the selected pattern on the right viewer, and click the <b><</b> button.
+		</p>
+		<p>
+			<b>Important note</b>:<br/>
+			Only deployed patterns are shown in the left tree.
+		</p>
+	</p>
+	<p>
+		<img src="../../../../org.eclipse.egf.engine.doc/html/images/ngrelr.png" alt="Related Reference">
+	</p>
+	<a href="../editor.html">Pattern editor</a>
+<p>
+</body>
+</html>
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/overview.html b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/overview.html
new file mode 100644
index 0000000..b63c836
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/overview.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="copyright" content="Copyright (c) THALES, 2007. All rights reserved." >
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <meta http-equiv="Content-Style-Type" content="text/css">
+    <link rel="stylesheet" href="../../book.css" charset="ISO-8859-1" type="text/css">
+    <title>Pattern Editor Overview Page</title>
+</head>
+
+<body>
+	<h1>Overview Page</h1>	
+	<p>
+		The overview page displays the pattern general information and links to the other pages of a pattern editor.<br/>
+		<h2>General Information section</h2>
+		<p>
+			<table border="1" cellspacing="0" cellpadding="5">
+				<tr>
+					<th>Field</th>
+					<th>Description</th>
+					<th>Modifiable</th>
+					<th>Default value</th>
+				</tr>
+				<tr>
+					<td align="left" valign="top">Name</td>
+					<td align="left" valign="top">The pattern logical name.</td>
+					<td align="left" valign="top">Yes</td>
+					<td align="left" valign="top">The name as specified in the pattern creation wizard.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">Library id</td>
+					<td align="left" valign="top">The containing library full id.</td>
+					<td align="left" valign="top">No</td>
+					<td align="left" valign="top">Generated at library creation time.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">Id</td>
+					<td align="left" valign="top">The pattern short id.</td>
+					<td align="left" valign="top">No</td>
+					<td align="left" valign="top">Generated at pattern creation time.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">Description</td>
+					<td align="left" valign="top">A free text description. Should explain as much as possible the pattern goals and interactions.</td>
+					<td align="left" valign="top">Yes</td>
+					<td align="left" valign="top">Auto-generated description for <i>pattern name</i></td>
+				</tr>
+			</table>
+	  </p>
+		<h2>Pattern Content section</h2>
+		<p>
+			Links to the other pages.
+			<br/>
+			<ul>
+        <li>The <a href="./production.html">Production</a> page defines the production parameters applicable to pattern production.</li>			
+				<li>The <a href="./specification.html">Specification</a> page defines the pattern parameters and the condition linking those parameters.</li>
+				<li>The <a href="./inheritance.html">Inheritance</a> page defines the pattern parent.</li>
+				<li>The <a href="./implementation.html">Implementation</a> page defines the pattern operations and their templates.</li>
+			</ul>
+		</p>
+	</p>
+	<p>
+		<img border="0" src="../../../../org.eclipse.egf.engine.doc/html/images/ngrelr.png" alt="Related Reference">
+	</p>
+	<a href="../editor.html">Pattern editor</a>
+</body>
+</html>
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/production.html b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/production.html
new file mode 100644
index 0000000..730f0b8
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/production.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="copyright" content="Copyright (c) THALES, 2007. All rights reserved." >
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <meta http-equiv="Content-Style-Type" content="text/css">
+    <link rel="stylesheet" href="../../book.css" charset="ISO-8859-1" type="text/css">
+    <title>Pattern Editor Production Page</title>
+</head>
+
+<body>
+	<h1>Production Page</h1>	
+	<p>
+		The production page defines the production parameters applicable to pattern production.<br/>
+		<h2>Production options section</h2>
+		<p>
+			This section provides with specific production behaviors.<br/>
+			To modify default or inherited values, check the <i>Override production behavior</i> option.
+			<table border="1" cellspacing="0" cellpadding="5">
+				<tr>
+					<th>Field</th>
+					<th>Description</th>
+					<th>Values and meanings</th>
+					<th>Default value</th>
+				</tr>
+				<tr>
+					<td align="left" valign="top">Compilation step</td>
+					<td align="left" valign="top">Decide whether the pattern should be compiled as a Java class, or left as a JET file.</td>
+					<td align="left" valign="top">
+						<b>Compile</b> to transform the result in a Java class
+						, <b>Skip</b> to leave it as a JET file.
+						If the pattern is not compiled as a Java class, the Pattern Runner factory component won't be able to execute it.
+					</td>
+					<td>Compile</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">Buffer modification</td>
+					<td align="left" valign="top">Decide whether the default JET buffer management should be used (for compatibility), or modified by the pattern implementation as needed.</td>
+					<td align="left" valign="top">
+						<b>Enabled</b> to let the pattern production use buffers as needed. This is mandatory for the use of a Reporter at runtime with Pattern Runner.
+						<b>Disabled</b> to remain compatible with default JET buffer usage. Needed in the case of expected JET files content, as in EMF.
+					</td>
+					<td align="left" valign="top">Enabled</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">Destination path</td>
+					<td align="left" valign="top">Give the produced JET template file a specific path, relative to <i>templates</i> one in current factory component.</td>
+					<td align="left" valign="top">
+						<b>Empty</b>, the framework decides by itself the name, and the location of the resulting template file.
+						<b>A relative path, file name and extension included</b>, the framework sticks to given path. Needed in the case of expected JET files structure, as in EMF.
+					</td>
+					<td align="left" valign="top">Empty</td>
+				</tr>
+			</table>
+			<br/>
+			As mentionned earlier, those values are automatically inherited from the closest parent, if any.
+		</p>
+	</p>
+	<p>
+		<img border="0" src="../../../../org.eclipse.egf.engine.doc/html/images/ngrelr.png" alt="Related Reference">
+	</p>
+	<a href="../editor.html">Pattern editor</a>
+</body>
+</html>
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/specification.html b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/specification.html
new file mode 100644
index 0000000..49962b4
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/editor/page/specification.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="copyright" content="Copyright (c) THALES, 2007. All rights reserved." >
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+	<meta http-equiv="Content-Style-Type" content="text/css">
+	<link rel="stylesheet" href="../../book.css" charset="ISO-8859-1" type="text/css">
+	<title>Pattern Editor Specification Page</title>
+</head>
+
+<body>
+	<h1>Specification Page</h1>
+	<p>
+		The specification page defines the pattern parameters and the applicable condition for pattern matching.
+		<p>
+			A pattern with parameters act as the following piece of code at runtime :
+			<div class="code-block">
+<pre>for every tuple T of possible <a href="#parameters">parameters</a> values {
+  if (<a href="#condition">condition(T)</a>) {
+    generate(T);
+  }
+}</pre>
+			</div>
+		</p>
+		
+		<p>
+			<a name="parameters">
+			<h2>The All Parameters section</h2>
+			</a>
+			This is the list of ordered parameters.<br/>
+			The following actions are available :
+			<ul>
+				<li><b>Add</b> is adding a new parameter to the pattern with a default name and type.</li>
+				<li><b>Remove</b> is removing the selected parameter.</li>
+				<li><b>Up</b> is swapping currently selected parameter with the previous one (higher in the list).</li>
+				<li><b>Down</b> is swapping the currently selected parameter with the next one (lower in the list).</li>
+			</ul>
+			This order is used in the condition class implementation, and at runtime for computation of the current tuple.<br/>
+			Thus inverting the elements may result in different runtime execution speed, depending on the condition content.
+			<h3>The Parameter properties section</h3>
+			The parameter properties are accessible through a details section.
+			<table border="1" cellspacing="0" cellpadding="5">
+				<tr>
+					<th>Field</th>
+					<th>Description</th>
+					<th>Modifiable</th>
+					<th>Default value</th>
+				</tr>
+				<tr>
+					<td align="left" valign="top">Name</td>
+					<td align="left" valign="top">
+						The parameter name. Used in the condition class and in the pattern templates.<br/>
+						This name should be unique in the whole pattern execution chain.
+					</td>
+					<td align="left" valign="top">Yes</td>
+					<td align="left" valign="top">newParameter<i>XXX</i></td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">Type</td>
+					<td align="left" valign="top">
+						The parameter type. Used in the condition class and in the pattern templates.<br/>
+						Each parameter can take a different type from a different metamodel, as long as it makes sense with the model
+						used when executing the pattern.
+					</td>
+					<td align="left" valign="top">Yes, through the <b>Browse...</b> button</td>
+					<td align="left" valign="top">EClass, from Ecore metamodel</i></td>
+				</tr>
+			</table>
+			<p>
+				The following action is available :
+				<ul>
+					<li>
+						<b>Browse...</b> is opening a new type selection window.
+					</li>
+				</ul>
+				<p align="center">
+					<img src="../images/specification/TypeSelection.png" alt="Parameter type selection window"/><br/>
+				</p>
+				It is displaying the available types for currently selected model (by default, Ecore metamodel). One can change the selected model by pressing the <b>Choose model...</b>
+				button. The EMF default load resource window is then displayed.<br/>
+				<p align="center">
+					<img src="../images/specification/ChooseModel.png" alt="Load Resource window"/><br/>
+				</p>
+				Although this window allows the user to select a resource from the file system or from the workspace, the user should always browse registered packages.
+				Once <b>Browse Registered Packages...</b> is hit, the Package Selection window is displayed. The user can now select a new model based on its base package URI.
+				Back to the type selection window, the new available types are displayed.
+			</p>
+		</p>
+		<p>
+			<a name="condition">
+			<h2>The Edit condition class section</h2>
+			</a>
+			It is just made of a single link to the condition class.<br/>
+			By clicking this link, the corresponding Java class is opened for edition.<br/>
+			For synchronization purpose, the content of this class is recomputed if the parameters list has changed.
+			It is also recomputed each time a Save command happens for the current editor.
+			<h3>The Condition class current content section</h3>
+			It is a text component showing the currently known content of the condition class.<br/>
+			Since there is no Java edition feature attach to this widget, it might only be helpful in consultation mode (that is when the content can not be changed).
+			This mode is activated only for deployed factory components.
+		</p>
+	</p>
+	<p>
+		<img border="0" src="../../../../org.eclipse.egf.engine.doc/html/images/ngrelr.png" alt="Related Reference">
+	</p>
+	<a href="../editor.html">Pattern editor</a>
+</body>
+</html>
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/DEPRECATED_common/images/TryIt.gif b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/DEPRECATED_common/images/TryIt.gif
new file mode 100644
index 0000000..f4927a4
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/DEPRECATED_common/images/TryIt.gif
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/DEPRECATED_common/images/tag_1.gif b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/DEPRECATED_common/images/tag_1.gif
new file mode 100644
index 0000000..4859d6f
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/DEPRECATED_common/images/tag_1.gif
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/DEPRECATED_common/images/tag_2.gif b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/DEPRECATED_common/images/tag_2.gif
new file mode 100644
index 0000000..5ea43dc
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/DEPRECATED_common/images/tag_2.gif
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/DEPRECATED_common/images/tip.gif b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/DEPRECATED_common/images/tip.gif
new file mode 100644
index 0000000..77b2451
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/DEPRECATED_common/images/tip.gif
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/part1/egf-tutorial-pattern1.html b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/part1/egf-tutorial-pattern1.html
new file mode 100644
index 0000000..6e1ac80
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/part1/egf-tutorial-pattern1.html
@@ -0,0 +1,264 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

+<head>

+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+	<title>

+		EGF Tutorial - Pattern. First steps.

+	</title>

+	<link rel="stylesheet" href="../book.css" charset="ISO-8859-1" type="text/css" />

+

+	<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." />

+	<meta name="author" content="Benoit Langlois" />

+	<meta name="keywords" content="egf,pattern"/>

+</head>

+

+<body xml:lang="EN-US" lang="EN-US">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;EGF Tutorial - Pattern. First steps.

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+<p class="Para">This first tutorial explains how to create and execute simple patterns with EGF. A pattern is a solution to a recurrent generation problem. A pattern is based on a language, for instance Jet for model-to-text transformations. The pattern technique allows pattern inheritance, delegation to other patterns in order to elaborate reusable and customizable generation solutions.</p>

+

+<br/>

+

+<h2 class="Head">1. Creation of pattern</h2>

+

+<h3 class="Head">1.1. Comprehension</h3>

+<p class="Para"><i>Pattern organization</i>. Patterns are organized by pattern libraries. A <b>pattern library</b> contains a set of patterns and a set of pattern libraries.</p>

+<p class="Para"><i>Pattern nature</i>. A <b>pattern nature</b> indicates which language the pattern implementation conforms to (e.g. Java, Jet).</p>

+<p class="Para"><i>Pattern views</i>. A pattern is visualized with three different folders: 1) Overview, 2) <b>Specification</b> which represents the external view of a pattern, 3) <b>Implementation</b> which represents the internal view of a pattern and where the pattern is implemented.</p>

+

+

+<h3 class="Head">1.2. Practice</h3>

+

+<p class="Para">The sequence of actions to <i>create a pattern</i>:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Create the <i>viewpoints</i> node - On a factory component, Commands: <i>[New Child][Viewpoint Container]</i></li>

+    <li CLASS="Item">Create the <i>Pattern Viewpoint</i> node - On the <i>Viewpoint Container</i> node, Commands: <i>[New Child][Pattern Viewpoint]</i></li>

+    <li CLASS="Item">Create a pattern library - On the pattern viewpoint, Commands: <i>[New Child][Library]</i></li>

+    <li CLASS="Item">Next, create a <i>pattern</i> - On the pattern library, Commands: <i>[New Child][JetNature Pattern | JavaNature Pattern]</i></li>

+    <li CLASS="Item">Edit the pattern -  On the pattern, Commands: <i>[Double-click]</i> or <i>[Right-Click][Open]</i></li>

+    <li CLASS="Item">Set the pattern name</li>

+</ul>

+

+<h3 class="Head">1.3. Application</h3>

+<p class="Para">Create a pattern with the Jet nature.</p>

+

+<p align="left">

+  <img src="./images/egf_tut_pattern_1_1.png" alt="New pattern"/>

+</p>

+<p align="left"><i>Figure 1. Example of new pattern</i></p>  

+

+<br/>

+

+<h2 class="Head">2. Definition of the pattern specification</h2>

+

+<h3 class="Head">2.1. Comprehension</h3>

+

+<p class="Para"><i>Specification view</i>. This view enables to set 1) the super-pattern of the current pattern when pattern inheritance is needed, 2) the pattern nature already set during the pattern creation, 3) the pattern parameters.</p>

+<p class="Para"><i>Pattern query and parameter</i>. The pattern applies queries over a resource that the pattern consumes, for instance a model. Each query record is successively stored in a parameter. The record process is described in the pattern implementation.</p>

+<p class="Para"><i>Pattern query</i>. EGF proposes a default model query. The query list is extensible.</p>

+<p class="Para"><i>Pattern parameter</i>. The pattern type is either a class defined in an ecore model or a Java type (class or interface).</p>

+

+

+<h3 class="Head">2.2. Practice</h3>

+<p class="Para">The sequence of actions to define <i>pattern parameters and their query</i>:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">In the Specification view, in the Parameters section - Command: <i>[+]</i>, set the parameter name</li>

+    <li CLASS="Item">Set the parameter type - Command: choose the model and a class type</li>

+    <li CLASS="Item">Set the query - Command: choose the query, for instance <i>Basic query</i></li>

+</ul>

+

+<h3 class="Head">2.3. Application</h3>

+<p class="Para">Create an EClass parameter with the <i>Basic query</i> to navigate over the model.</p>

+

+<p align="left">

+  <img src="./images/egf_tut_pattern_1_2.png" alt="Pattern Specification View"/>

+</p>

+<p align="left"><i>Figure 2. Pattern Specification View</i></p>  

+<br/>

+

+

+<h2 class="Head">3. Definition of the pattern implementation</h2>

+

+<h3 class="Head">3.1. Comprehension</h3>

+

+<p class="Para"><i>Implementation view</i>. This view enables to define pattern methods, the method orchestration, and local variables.</p>

+<p class="Para"><i>Pattern methods</i>. Four methods are predefined: header, init, preCondition and footer. Header is used for instance to declare the Jet declaration, init for the initialization of local variables (cf. explanation below), preCondition to filter records onto a query result. The user creates as many as methods s/he wants to implement the pattern. Each pattern method contents is supposed to conform to the pattern nature, for instance Jet-based code.</p>

+<p class="Para"><i>Pattern method orchestration</i>. The method orchestration defines the order to call available methods and patterns: methods local to the current pattern, methods from the super-patterns, pattern call with parameter context passing, pattern call with injection.</p>

+<p class="Para"><i>Pattern variables</i>. The pattern variables are accessible by any method of the current pattern. The type is either a class defined in an ecore model or a Java type (class or interface). Pattern variables can be initialized in the <i>init</i> method, update and used in the pattern methods.</p>

+

+

+<h3 class="Head">3.2. Practice</h3>

+<p class="Para">The sequence of actions to manage the <i>implementation methods</i>:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Use the palette to add/delete/rename/reorder a method.</li>

+    <li CLASS="Item">To edit method, double-click on a method of the <i>Implementation methods</i> list. Next, a pattern templates editor allows editing any other method.</li>

+</ul>

+

+<p class="Para">The sequence of actions to manage <i>variables</i>:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">In the variables, to add a variable, Command: <i>[+]</i>, set the parameter name</li>

+    <li CLASS="Item">Set the parameter type - Command: click on the type and select the model / Java type</li>

+</ul>

+

+

+<p class="Para">The sequence of actions to manage the <i>method orchestration</i>:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Use the palette to add/delete/rename/reorder methods</li>

+    <li CLASS="Item">Drag and drop a method from the <i>Implementation methods</i> list</li>

+    <li CLASS="Item">For a super-method call, after clicking on <i>+</i>, choose the <i>method call</i> option, and next select the super-method.</li>

+</ul>

+

+

+<h3 class="Head">3.3. Application</h3>

+<p class="Para">Implement the default body method. Add the following Jet code:</p>

+				<font color="777777"><pre>

+Hello &lt;%= parameter.getName() %&gt;!

+				</pre></font>

+<p class="Para">Drag and drop the method in the pattern orchestration part.</p>

+

+

+<br/>

+

+<h2 class="Head">4. Configuration of the pattern execution</h2>

+

+<h3 class="Head">4.1. Comprehension - Principle of pattern execution</h3>

+<p class="Para">The following figure depicts how patterns are applied onto a domain resource.</p>

+

+<p align="left">

+  <img src="./images/egf_tut_pattern_1_3.png" alt="Pattern Execution"/>

+</p>

+<p align="left"><i>Figure 3. Pattern Execution</i></p>  

+

+<p class="Para"><i>Pattern strategies</i>. A pattern strategy indicates how to apply patterns onto a resource. For instance, a pattern-oriented strategy successively applies a set of patterns onto a resource; a model-oriented strategy applies a set of patterns successively onto each model element. The model-driven strategy takes care of the model element order while the pattern-oriented strategy does not.</p>

+<p class="Para"><i>Tasks to execute patterns</i>. A task must be introduced in order to put in action all the elements described. This task must know:

+  <ol CLASS="UnorderedList">

+    <li> The resource applied on the patterns, for instance a model,</li>

+    <li> The selection of pattern(s) or the pattern library(ies),</li>

+    <li> The reporter (see below).</li>

+  </ol>

+</p>

+

+<p class="Para"><i>Domain resource</i>. Patterns are applied onto a resource, such as a domain model.</p>

+

+<p class="Para"><i>Pattern execution engines</i>. Patterns have a nature (e.g., Jet, Java). Then, at execution time, an engine executes a pattern according its nature. On the pattern flow, different pattern execution engines can be activated.</p>

+

+<p class="Para"><i>Reporter</i>. A reporter is typically useful for model-to-text transformation. Each pattern provides an output result that must be consolidated in one or several files. A reporter serves to report the result of the pattern implementation, for instance on the console or in a file.</p>

+<br/>

+

+<h3 class="Head">4.2. Practice</h3>

+<p class="Para">A task is used to execute a pattern or a set of patterns. This task must know: 1) the domain model, 2) the pattern or pattern library list, 3) the pattern strategy, and 4) the reporter. This tutorial uses the <i>Model-driven pattern strategy</i>. The use of pattern reporter is explained below.</p>

+<p class="Para">The sequence of actions to create a task for pattern execution:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item"><i>Domain creation</i>. This step can be reused independently of the pattern usage.</li>

+    <ul CLASS="UnorderedList">

+        <li CLASS="Item">Step 1. Creation of the domain reference</li>

+        <ul CLASS="UnorderedList">

+            <li CLASS="Item">Creation of the domain viewpoint where domains are declared - On the Viewpoint Container, Command: [New Child][Domain Viewpoint]</li>

+            <li CLASS="Item">Creation of a domain reference - On the Domain Viewpoint, Command: [New Child][URI]. Next, in the Uri property, providing a Uri like <i>platform:/plugin/org.eclipse.egf.model/model/Fcore.ecore</i></li>

+        </ul>

+        <li CLASS="Item">Step 2. Creation of a domain parameter</li>

+        <ul CLASS="UnorderedList">

+            <li CLASS="Item">Creation of a domain reference as a production plan parameter - On the production plan, Command: [New Child][Orchestration Parameter Container]</li>

+            <li CLASS="Item">Creation of a parameter - On the Orchestration Parameter Container, Commands: [New Child][Orchestration Parameter]; Set the parameter name; Set the Domain property to the Uri created just before</li>

+        </ul>

+    </ul>

+    <br/>

+    <li CLASS="Item"><i>Configuration of the pattern call</i>.</li>

+    <ul CLASS="UnorderedList">

+        <li CLASS="Item">Creation of the pattern execution task - On the Production Plan node, Command: [Right-Click][Invoke Activity], and choose the <i>Model driven pattern strategy task [Task Java]</i></li>

+        <li CLASS="Item">Remove the <i>pattern.execution.reporter</i>, <i>pattern.call.back.handler</i> and <i>pattern.modeldriven.visitor</i> contracts</li>

+        <li CLASS="Item">Set the domain identification - On the new Activity / Invocation Contract Container / domain Invocation Contract, Command: 1) Set the Orchestration Parameter to the Orchestration Parameter newly created</li>

+        <li CLASS="Item">Set the pattern library - On the new Activity / Invocation Contract Container / pattern.ids Invocation Contract, Command: [New Child][Type Pattern List]; Next, [Click on the Elements Property], select the pattern library newly created</li>

+    </ul>

+</ul>

+

+<br/>

+

+

+<h3 class="Head">4.3. Application</h3>

+<p class="Para">Create a pattern task invocation as described above. Example of domain: <i>platform:/plugin/org.eclipse.egf.model/model/Fcore.ecore</i>.</p>

+

+<p class="Para">Finally, execute the factory component. The output is displayed on the console.</p>

+

+<br/>

+

+

+<h3 class="Head">4.4. Fixing pattern method errors</h3>

+<p class="Para">Patterns to be compiled are compiled when a pattern is saved. Errors may be raised and, as a consequence, the pattern execution would fail. Then:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">At anytime, in order to regenerate pattern classes and methods: 1) delete the packages under the project <i>generated</i> folder, 2) right-click on the Pattern viewpoint, and apply the [Update generated elements] command on the Pattern viewpoint.</li>

+    <li CLASS="Item">Fixing the errors. Locate the errors in the generated methods, update the pattern methods accordingly, and save the pattern methods.</li>

+</ul>

+

+<br/>

+

+<h3 class="Head">4.5. Comprehension - Pattern Reporter</h3>

+<p class="Para"><i>Reporter class</i>. A reporter is a Java class which implements the PatternExecutionReporter class.</p>

+<p class="Para"><i>Collecting the result</i>. There are two methods to collect the execution result of one pattern: 1) the <i>loopFinished</i> method collects the result for one pattern and for one query tuple, 2) the <i>executionFinished</i> method collects the result for one pattern, which is the aggregation of the <i>loopFinished</i> method results.</p>

+<p class="Para"><i>Reporting the result</i>. The result is generally reported in with the selected media, e.g. a file.</p>

+

+<p class="Para">For more complex reports, refer to the <i>org.eclipse.egf.emf.docgen.html</i> plug-in which examplifies the case of result in a file and a specific folder.</p>

+

+<br/>

+

+<h3 class="Head">4.6. Practice</h3>

+

+<p class="Para">1. Create a reporter Java class like this one:</p>

+				<font color="777777"><pre>

+Package org.eclipse.egf.examples.uc1.reporter;

+

+import java.util.Map;

+

+import org.eclipse.egf.core.EGFCorePlugin;

+import org.eclipse.egf.model.pattern.PatternContext;

+import org.eclipse.egf.model.pattern.PatternExecutionReporter;

+

+public class MyReporter implements PatternExecutionReporter{

+

+	@Override

+	public void executionFinished(String output, PatternContext context) {

+		// Message on the default console

+		System.out.println("Result of pattern:\n"+output);

+		// Message on the EGF console

+		EGFCorePlugin.getDefault().logInfo("Result of pattern:\n"+output);

+	}

+

+	@Override

+	public void loopFinished(String output, PatternContext context,

+			Map&lt;String, Object&gt; parameterValues) {

+		// TODO Auto-generated method stub

+	}

+

+}

+				</pre></font>

+

+<p class="Para">2. Complete the task with the reporter parameter:

+    <ul CLASS="UnorderedList">

+        <li CLASS="Item">Add a contract to the task created before</li>

+        <li CLASS="Item">For Behaviour/Invoked Contract property, select the <i>pattern.execution.reporter</i> contract (removed before!)</li>

+        <li CLASS="Item">Add the <i>Type Pattern Execution Reporter</i> and for value, select the pattern reporter class</li>

+    </ul>

+</p>

+

+<h2 class="Head">5. Pattern translation</h2>

+<p class="Para">The pattern contents is translated into an executable form. This takes into account pattern inheritance and other pattern mechanisms not explained in this tutorial (e.g., pattern call). Next, at execution time, a pattern engine, specific to the pattern nature, executes a pattern.</p>

+<p class="Para">Patterns are translated on the fly. One case requires to manually force pattern rebuild: pattern inheritance. Indeed, children are not notified that a super-pattern in the hierarchy is update. To force this translation:</p>

+

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">On the <i>Pattern viewpoint</i> which contains all the pattern libraries - Command: <i>[Right-Click][Update generated elements]</i> </li>

+</ul>

+

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/part1/images/egf_tut_pattern_1_1.png b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/part1/images/egf_tut_pattern_1_1.png
new file mode 100644
index 0000000..f815d57
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/part1/images/egf_tut_pattern_1_1.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/part1/images/egf_tut_pattern_1_2.png b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/part1/images/egf_tut_pattern_1_2.png
new file mode 100644
index 0000000..5e2ea34
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/part1/images/egf_tut_pattern_1_2.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/part1/images/egf_tut_pattern_1_3.png b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/part1/images/egf_tut_pattern_1_3.png
new file mode 100644
index 0000000..1993b8b
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/html/tutorial/part1/images/egf_tut_pattern_1_3.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/plugin.properties b/doc/org.eclipse.egf.engine.doc.pattern/plugin.properties
new file mode 100644
index 0000000..4ad1c9b
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/plugin.properties
@@ -0,0 +1,13 @@
+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+

+pluginName=EGF Pattern Documentation (Incubation)

+providerName=Eclipse Modeling Project

diff --git a/doc/org.eclipse.egf.engine.doc.pattern/plugin.xml b/doc/org.eclipse.egf.engine.doc.pattern/plugin.xml
new file mode 100644
index 0000000..435ea62
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/plugin.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?eclipse version="3.2"?>
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<plugin>

+   <extension

+         point="org.eclipse.help.toc">

+      <toc

+            file="toc.xml">

+      </toc>

+      <toc

+            file="toc_GettingStarted.xml"

+            primary="false">

+      </toc>

+   </extension>

+   <extension

+         point="org.eclipse.help.contexts">

+      <contexts

+            file="contexts.xml"

+            plugin="org.eclipse.egf.pattern.ui">

+      </contexts>

+   </extension>

+

+</plugin>

diff --git a/doc/org.eclipse.egf.engine.doc.pattern/toc.xml b/doc/org.eclipse.egf.engine.doc.pattern/toc.xml
new file mode 100644
index 0000000..9b8b04a
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/toc.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?NLS TYPE="org.eclipse.help.toc"?>

+
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="Pattern Editor" link_to="../org.eclipse.egf.doc.user/topics_Reference.xml#viewsAndEditors">

+	<topic href="html/editor/editor.html" label="Pattern Editor">

+    <anchor id="patternEditor"/>

+		<topic href="html/editor/page/overview.html" label="Overview" />

+    <topic href="html/editor/page/production.html" label="Production" />		

+    <topic href="html/editor/page/specification.html" label="Specification"/>

+    <topic href="html/editor/page/inheritance.html" label="Inheritance"/>

+    <topic href="html/editor/page/implementation.html" label="Implementation"/>

+	</topic>

+</toc>

diff --git a/doc/org.eclipse.egf.engine.doc.pattern/toc_GettingStarted.xml b/doc/org.eclipse.egf.engine.doc.pattern/toc_GettingStarted.xml
new file mode 100644
index 0000000..2427d6e
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc.pattern/toc_GettingStarted.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="Pattern Tutorials" link_to="../org.eclipse.egf.doc.user/toc.xml#egfEngineTutorials">

+   <topic label="Pattern -  First steps" href="html/tutorial/part1/egf-tutorial-pattern1.html" />
+</toc>

diff --git a/doc/org.eclipse.egf.engine.doc/.project b/doc/org.eclipse.egf.engine.doc/.project
new file mode 100644
index 0000000..314c9e2
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/.project
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>org.eclipse.egf.engine.doc</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

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

+	</natures>

+</projectDescription>

diff --git a/doc/org.eclipse.egf.engine.doc/META-INF/MANIFEST.MF b/doc/org.eclipse.egf.engine.doc/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..fa0be1a
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.egf.engine.doc; singleton:=true
+Bundle-Version: 0.2.3.qualifier
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Require-Bundle: 
+ org.eclipse.help,
+ org.eclipse.pde.core
+Bundle-ActivationPolicy: lazy
diff --git a/doc/org.eclipse.egf.engine.doc/about.html b/doc/org.eclipse.egf.engine.doc/about.html
new file mode 100644
index 0000000..7e766fe
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/about.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>

+

+

+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

+<title>About</title>

+</head><body lang="EN-US">

+<h2>About This Content</h2>

+ 

+<p>June 5, 2007</p>	

+<h3>License</h3>

+

+<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 

+indicated below, the Content is provided to you under the terms and conditions of the

+Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 

+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.

+For purposes of the EPL, "Program" will mean the Content.</p>

+

+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 

+being redistributed by another party ("Redistributor") and different terms and conditions may

+apply to your use of any object code in the Content.  Check the Redistributor's license that was 

+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise

+indicated below, the terms and conditions of the EPL still apply to any source code in the Content

+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>

+

+</body></html>
\ No newline at end of file
diff --git a/doc/org.eclipse.egf.engine.doc/build.properties b/doc/org.eclipse.egf.engine.doc/build.properties
new file mode 100644
index 0000000..579d11f
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/build.properties
@@ -0,0 +1,27 @@
+

+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+bin.includes = META-INF/,\

+               .,\

+               about.html,\

+               plugin.xml,\

+               plugin.properties,\

+               html/,\

+               toc_FactoryComponents.xml,\

+               toc_GettingStarted.xml,\

+               topics_Concepts.xml,\

+               topics_Overviews.xml,\

+               topics_Reference_Api.xml,\

+               topics_Reference_Icons.xml,\

+               topics_Reference_Preferences.xml,\

+               topics_Reference_Views.xml,\

+               topics_Reference_Wizards_Edit.xml,\

+               topics_Reference_Wizards.xml

diff --git a/doc/org.eclipse.egf.engine.doc/html/book.css b/doc/org.eclipse.egf.engine.doc/html/book.css
new file mode 100644
index 0000000..19bb3fa
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/book.css
@@ -0,0 +1,30 @@
+@import "../PRODUCT_PLUGIN/book.css";
+
+span.control {
+  font-weight: bold;
+}
+
+span.name {
+  font-style: italic;
+}
+
+span.code {
+  font-family: monospace;
+}
+
+p.nav_footer {
+	font-weight: bold;
+}
+
+p.nav_footer a {
+	font-weight: bold;
+	font-style: italic;
+}

+

+.code-block {

+	font-family: monospace;

+	white-space: pre; 

+	background: #e4e3f1;

+	margin:10px;

+	padding: 5px;

+}
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/activity/activity.html b/doc/org.eclipse.egf.engine.doc/html/concepts/activity/activity.html
new file mode 100644
index 0000000..c1b8b60
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/activity/activity.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="activity"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>Activity</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;Activity

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+<a name="definition"><h2>Definition</h2></a>

+<p class="Para">An activity is a work unit with a work context. Applied to generation in EGF, an activity is a generation unit.</p>

+  

+  

+<a name="motivation"><h2>Motivation</h2></a>

+<p class="Para">An activity defines a work unit in a software process. The purpose of EGF is to target automated activities. Factory component and task are examples of activities. This list is extensible. For instance, process could be a candidate of new activity.</p>

+

+<a name="structure"><h2>Structure</h2></a>

+

+<p class="Para">An activity has a name, description and a set of contracts that represent the activity parameters. This basic structure is specialized afterward by activity subclasses, such as the factory component that contains viewpoints and an orchestration where activities can be called.</p>

+<br/>

+ 

+

+<p align="center">

+<img src="./images/activityStructure.jpg" alt="Activity Structure"/>

+</p>

+<p align="center">

+<i>Figure 1. Activity structure</i>

+</p>

+

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/activity/images/activityStructure.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/activity/images/activityStructure.jpg
new file mode 100644
index 0000000..6a3ae7a
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/activity/images/activityStructure.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/activityInvocation/activityInvocation.html b/doc/org.eclipse.egf.engine.doc/html/concepts/activityInvocation/activityInvocation.html
new file mode 100644
index 0000000..ef7e717
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/activityInvocation/activityInvocation.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="factory invocation, factory"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>Activity Invocation</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;Activity invocation

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+<a name="definition"><h2>Definition</h2></a>

+<p class="Para">An activity invocation is a step of an orchestration which invokes either an activity, i.e. a factory component or Java task.</p>

+

+  

+<a name="motivation"><h2>Motivation</h2></a>

+<p class="Para">An activity invocation corresponds to a delegation of work to another activity.</p>

+

+<a name="structure"><h2>Structure</h2></a>

+<p class="Para">A factory component delegates its work to a factory component or to a Java task. This creates a graph of activity dependencies (and not a tree, because an activaty can be used by several factory components). In a production plan, this graph of activity dependencies defines the execution order to execute activity factory components and Java tasks.</p>  

+<p class="Para">A parameter of an activity invocation is linked to an activity contract. The parameter value is either the value of a factory component contract, an orchestration context, or a local value to the activity invocation.</p>

+

+<p align="center">

+  <img src="./images/activityInvocationStructure.jpg" alt="Activity Invocation Structure"/>

+</p>

+<p align="center">

+  <i>Figure 1. Activity Invocation Structure</i>

+</p>

+

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/activityInvocation/images/activityInvocationStructure.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/activityInvocation/images/activityInvocationStructure.jpg
new file mode 100644
index 0000000..f60d88b
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/activityInvocation/images/activityInvocationStructure.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/asset/asset.html b/doc/org.eclipse.egf.engine.doc/html/concepts/asset/asset.html
new file mode 100644
index 0000000..2198a31
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/asset/asset.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="asset"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>Asset</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;Asset

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+<a name="definition"><h2>Definition</h2></a>

+<p class="Para">An asset is a software artifact defined and playing a role in a software development process.</p>

+  

+  

+<a name="motivation"><h2>Motivation</h2></a>

+<p class="Para">The purpose of a factory component is to automate production of software artifacts from input software artifacts. The term "Asset" is a generic term to designate any software artifact (e.g., a model, a document, code, a framework) used and produce by a factory component.</p>

+

+<a name="structure"><h2>Structure</h2></a>

+

+<p class="Para">An asset conforms to an asset type (e.g., a model, a language, a framework, a tool) defined in a language. This language is represented or not by a model. The list of asset types is open, however the major ones are: basic types (e.g., Integer, Boolean, etc.), model, (general or specific) language, framework, library, component and tool. Complex assets are broken down into assets. Complex assets can be built at once or at different stages across a software process. For instance, generation of tool code and configuration files of this tool can be built simultaneously or by several factory components.</p>

+<p class="Para">While an asset type is a logical representation, an asset has a physical representation (e.g., a web site asset is materialized by a set of html files). This physical representation must be taken into account during a generation. For executable assets, an asset behavior conforms to an execution semantics on a specific execution platform.</p>

+ 

+<p class="Para">Software product line engineering differentiates two kinds of asset: reusable assets and products. Reusable assets are usable or not as is, or partially, and need to be customized to give products. In software engineering, a product is for instance a software application.</p>

+

+<p align="center">

+<img src="./images/assetStructure.jpg" alt="Asset Structure"/>

+</p>

+<p align="center">

+<i>Figure 1. Example of assets</i>

+</p>

+

+

+<a name="inEgf"><h2>In EGF</h2></a>

+<p class="Para">An Orchestration used input/output data. Those data have a type defined 1) in the extendable default EGF basic type list, or 2) in a viewpoint (e.g., a domain model).</p>

+

+<br>

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/asset/images/assetStructure.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/asset/images/assetStructure.jpg
new file mode 100644
index 0000000..3f6bb37
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/asset/images/assetStructure.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/contract/contract.html b/doc/org.eclipse.egf.engine.doc/html/concepts/contract/contract.html
new file mode 100644
index 0000000..8001d59
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/contract/contract.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="contract"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>Contract</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;Contract

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+

+<a name="definition"><h2>Definition</h2></a>

+

+<p class="Para">A contract is the declaration of a datum required for the execution of an activity, i.e. a factory component or task.</p>

+  

+  

+<a name="motivation"><h2>Motivation</h2></a>

+<p class="Para">A contract is a visible piece of information required to execute an activity. The set of contracts of an activity encapsulates internal information and represents the dependencies with other activities.</p>

+

+<a name="structure"><h2>Structure</h2></a>

+<p class="Para">Contract properties:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">It has a mode: Input / Output / Input-Output</li>

+    <li CLASS="Item">It is mandatory or optional</li>

+    <li CLASS="Item">It is is a key/value association</li>

+    <li CLASS="Item">A value has a type that can be simple (e.g., a string value), complex (e.g., a list) or a reference (e.g., a domain model reference)

+    <li CLASS="Item">It can have a default value</li>

+</ul>

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/domain/domain.html b/doc/org.eclipse.egf.engine.doc/html/concepts/domain/domain.html
new file mode 100644
index 0000000..a0dab12
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/domain/domain.html
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="domain"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>Domain</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;Domain

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+<a name="definition"><h2>Definition</h2></a>

+<p class="Para">

+A domain is a field of interest or knowledge <a href="#[1]">[1]</a><a href="#[3]">[3]</a>.

+</p>

+  

+  

+<a name="motivation"><h2>Motivation</h2></a>

+<p class="Para">A domain is characterized by the relevant objects (a.k.a. concepts) and their relationships. The relevance is relative to the problem at hand, and the decision of whether or not certain objects and relationships are relevant is made by the team who analyzes the domain in the context of a problem, which needs a solution (a.k.a. "Analysts.") <a href="#[2]">[2]</a>. A domain is scoped to maximize the satisfaction of the requirements of its stakeholders, it includes a set of concepts and terminology understood by practitioners in that area, and includes the knowledge of how to build software systems (or parts of software systems) in that area <a href="#[1]">[1]</a>.</p>

+

+<p class="Para">Examples of types of domains:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Business: focus on enterprise viewpoint (e.g., finance, aeronautics),</li>

+    <li CLASS="Item">Methodology: focus on development process viewpoint (e.g., OMG's <a href="http://www.omg.org/spec/SPEM/2.0/">SPEM</a>),</li>

+    <li CLASS="Item">Technology: focus on software viewpoint (e.g., language, platform description),</li>

+    <li CLASS="Item">Non-functional: focus on qualities of development (e.g., quality of service, architecture description).</li>

+</ul>

+

+<p class="Para">Domains can be quite large, for instance "Medical", "Legal". They can also be arranged in some hierarchical structure. For instance, the domain associated with the problem of finding immunizations for rapidly changing human viruses would be a sub-domain of "Medical" <a href="#[2]">[2]</a>.</p>

+

+

+<a name="structure"><h2>Structure</h2></a>

+<p class="Para">A domain user speaks with words of the domain language. This language has a syntax and semantics. A model characterizes a domain in capturing the syntax and semantics of this language domain. For short, we generally use the expression "domain model" but we always must keep in mind this relationship between a domain, a model and a language.</p>

+

+<p align="center">

+  <img src="./images/domainStructure.jpg" alt="Relationship between domain, model and language"/>

+</p>

+<p align="center">

+  <i>Figure 1. Relationship between domain, model and language</i>

+</p>

+

+

+<br>

+

+<dl>

+  <dt><a name="[1]">[1]</a> Czarnecki, K., and Eisenecker, U.W., <i>Generative Programming</i>, Addison-Wesley, 2000.</dt>

+  <dt><a name="[2]">[2]</a> S&aacute;nchez-Ru&iacute;z, A., Saeki, M., Langlois, B., Paiano, R., <i>Domain-Specific Software Development Terminology : Do we All Speak the Same Language?</i>, Proceeding of the 7th OOPSLA Workshop on Domain-Specific Modeling, 2007.</dt>

+  <dt><a name="[3]">[3]</a> Stahl, T., Volter, M., Bettin, J., Haase, A., Helsen, S., <i>Model-Driven Software Development</i>, Wiley, 2006.</dt>

+</dl>

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/domain/images/domainStructure.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/domain/images/domainStructure.jpg
new file mode 100644
index 0000000..89fdab1
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/domain/images/domainStructure.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/dsl/dsl.html b/doc/org.eclipse.egf.engine.doc/html/concepts/dsl/dsl.html
new file mode 100644
index 0000000..ba6488d
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/dsl/dsl.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="domain-specific language, domain specific language, dsl"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>DSL (Domain-Specific Language)</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;DSL (Domain-Specific Language)

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+

+<a name="definition"><h2>Definition</h2></a>

+<p class="Para">A DSL (Domain-Specific Language) is a specialized and problem-oriented language <a href="#[1]">[1]</a>.</p>

+  

+  

+<a name="motivation"><h2>Motivation</h2></a>

+<p class="Para">A DSL is a specialized and problem-oriented language <a href="#[1]">[1]</a>. Contrarily to a General Purpose Language (GPL) (e.g., UML, Java or C#), a DSL serves to accurately describe a domain of knowledge. The interest to combine a DSL and a transformation function is to raise the abstraction level of software. A DSL user concentrates her/his efforts on domain description while complexity, design and implementation decisions and details are hidden <a href="#[2]">[2]</a>. The result of the transformation, the solution, is a part of a software application that is integrated later in the development process. The stake with DSLs is to improve productivity and software quality <a href="#[2]">[2]</a>.</p>

+

+<p align="center">

+  <img src="./images/dslGlobalView.jpg" alt="DSL Global view"/>

+</p>

+<p align="center">

+ <i>Figure 1. DSL Global view</i>

+</p>

+

+<a name="structure"><h2>Structure</h2></a>

+<p class="Para">A DSL is a language formalized by a model. A DSL description, given by a user, is a model instance. An abstract syntax corresponds to the DSL model and is independent of any representation (e.g., textual, graphical representation). On the contrary, a concrete syntax is the abstract syntax represented in a human-usable language (e.g., textual, graphical, tabular). As a consequence, a DSL viewpoint (where DSL descriptions are located) contains for every DSL description i) at least a model that conforms to the abstract syntax of the DSL, ii) different representations of the same DSL description.</p>

+

+<p align="center">

+  <img src="./images/dslStructure.jpg" alt="DSL structure"/>

+</p>

+<p align="center">

+  <i>Figure 2. DSL structure</i>

+</p>

+

+

+<br>

+

+<dl>

+  <dt><a name="[1]">[1]</a> Czarnecki, K., and Eisenecker, U.W., <i>Generative Programming</i>, Addison-Wesley, 2000.</dt>

+  <dt><a name="[2]">[2]</a> S&aacute;nchez-Ru&iacute;z, A., Saeki, M., Langlois, B., Paiano, R., <i>Domain-Specific Software Development Terminology : Do we All Speak the Same Language?</i>, Proceeding of the 7th OOPSLA Workshop on Domain-Specific Modeling, 2007.</dt>

+  <dt><a name="[3]">[3]</a> Stahl, T., Volter, M., Bettin, J., Haase, A., Helsen, S., <i>Model-Driven Software Development</i>, Wiley, 2006.</dt>

+</dl>

+ 

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/dsl/images/dslGlobalView.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/dsl/images/dslGlobalView.jpg
new file mode 100644
index 0000000..a6f54ed
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/dsl/images/dslGlobalView.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/dsl/images/dslStructure.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/dsl/images/dslStructure.jpg
new file mode 100644
index 0000000..a6f5667
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/dsl/images/dslStructure.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/factoryComponent/factoryComponent.html b/doc/org.eclipse.egf.engine.doc/html/concepts/factoryComponent/factoryComponent.html
new file mode 100644
index 0000000..8baaed9
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/factoryComponent/factoryComponent.html
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="factory component"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>Factory Component</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;Factory Component

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+

+<a name="definition"><h2>Definition</h2></a>

+<p class="Para">A Factory Component is a deployable software generation unit aiming at producing assets from inputs assets.</p>

+  

+  

+<a name="motivation"><h2>Motivation</h2></a>

+<p class="Para">A factory component is a component with a set of contracts as the factory component parameters, a set of viewpoints and a generation orchestration.</p>

+<p class="Para">The purpose of factory components is to achieve simple to complex, small- to large-scale, and heterogeneous generations. Unlike to generators with a defined technical scope of generation (e.g., text or model transformation), a factory component can mix several generation techniques, produce complex assets, such as languages, framework or tools, and cover the complete production lifecycle of assets. An heterogeneous generation can be realized individually by a factory component or collectivelly by a set of factory components with a generation chain.</p>

+<p class="Para">A factory component cannot assume alone complex generations. For this reason, it delegates them to other factory components by assembly. Every factory component has a generation objective and realizes the generation it is specialized for.</p>

+<p class="Para">Regarding the process engineering, a factory component is an activity and contributes in the context of a work definition (cf. <a href="http://www.omg.org/spec/SPEM/2.0/">SPEM</a>, e.g. with the notion of process, phase, iteration, activity). The intent is to progressively replace manual development tasks by automated tasks. Then, a factory component is not only a technique but becomes, when intensively used, a vector for common generation practices. Next, it becomes to structure the software practice and the communication language between project team members. Over the time, the stake is to develop sharable factory component portfolios, i.e. homogeneous groups of generation topics extensible by mutual team enrichment.</p>

+

+<p align="center">

+  <img src="./images/factoryComponentGlobalView.jpg" alt="GLobal view of a Factory Component"/>

+</p>

+<p align="center">

+  <i>Figure 1. GLobal view of a Factory Component</i>

+</p>

+

+

+<a name="structure"><h2>Structure</h2></a>

+<p class="Para">A factory component consists of:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">A set of <i>contracts</i>, for the declaration of the required parameters of the generation,</li>

+    <li CLASS="Item">A set of <i>viewpoints</i> for the declaration of the generation data organized by concerns,</li>

+    <li CLASS="Item">A generation <i>orchestration</i>.</li>

+</ul>

+

+<p class="Para">Beyond this structure, a factory component is generally specialized in function of its contents. Some factory components just contain viewpoint information (e.g., domain models, model-to-model mapping), others conduct the generation, or some are a conglomerate of viewpoints and orchestration. A factory component is hyper-specialized when it contains only one information type, such as generation patterns on a generation topic.</p>

+

+

+<a name="relationAndType"><h2>Relationships between factory components and factory component types</h2></a>

+<p class="Para">Two kinds of logical relationships exist between factory components.</p>

+<p class="Para">

+  <i>Delegation relationship</i>. A factory component delegates its work to another one. This implies that every used factory component has an identified generation role. The following figure presents a tool infrastructure factory component that delegates its generation to factory components for model management, model check, transformation and presentation with user interfaces. The model management API generation delegates its generation to two factory components, one for code generation (e.g., Java code) and another one for documentation (e.g., Java Doc.).

+</p>

+<p class="Para">

+  <i>Resource provider relationship</i>. In this case, a factory component has one or several viewpoints which provide generation information. For instance, a factory component contains generation patterns in a generation viewpoint (e.g., a web site generation).  

+</p>

+

+<p align="center">

+  <img src="./images/factoryComponentAssembly.gif" alt="Assembly of a Factory Component"/>

+</p>

+<p align="center">

+  <i>Figure 2. Assembly of Factory Component</i>

+</p>

+

+<p class="Para">Finally, there are four types of factory components:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item"><i>Productive factory component</i>: this kind of factory component is able to produce assets by itself,</li>

+    <li CLASS="Item"><i>Assembly factory component</i>: this kind of factory component delegates its generation to specialized factory components (i.e., productive or assembly factory components),</li>

+    <li CLASS="Item"><i>Resource provider factory component</i>: this kind of factory provides generation data, such as generation patterns or license policy,</li>

+    <li CLASS="Item"><i>Conglomerate factory component</i>: this kind of factory cumulates one or several of the previous factory component roles (i.e., productive, assembly, resource provider).</li>

+</ul>

+

+

+<a name="lifecycle"><h2>Factory Component Lifecycle</h2></a>

+<p class="Para">A factory component can adopt three kinds of stage during its lifecycle: development, execution and exchange. The <i>development</i>, or edition, consists in defining and populating the factory component contents. The <i>execution</i> is the stage when a factory component is activated and produces the expected assets.</p>

+

+<p align="center">

+  <img src="./images/factoryComponentLifecycle.jpg" alt="Factory Component Lifecycle"/>

+</p>

+<p align="center">

+  <i>Figure 3. Factory Component Lifecycle</i>

+</p>

+

+<p class="Para">

+<i>Exchange</i> is the last state. A factory component exchange consists in publishing (i.e., exporting) and harvesting (i.e., importing) factory components between teams and team members. The team that reuses off-the-shelf factory components integrate them in its generation chain, or specialize them.

+</p>

+

+<p>Development / execution / exchange is a first level of lifecycle. At the process level, there are complementary and inter-related lifecycles. There are in-the-small lifecycles, at the developer or team level, and in-the-large lifecycles at the company or community level where more and more complex factory component portfolio are developed and shared.</p>

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/factoryComponent/images/factoryComponentAssembly.gif b/doc/org.eclipse.egf.engine.doc/html/concepts/factoryComponent/images/factoryComponentAssembly.gif
new file mode 100644
index 0000000..329f706
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/factoryComponent/images/factoryComponentAssembly.gif
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/factoryComponent/images/factoryComponentGlobalView.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/factoryComponent/images/factoryComponentGlobalView.jpg
new file mode 100644
index 0000000..13423e0
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/factoryComponent/images/factoryComponentGlobalView.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/factoryComponent/images/factoryComponentLifecycle.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/factoryComponent/images/factoryComponentLifecycle.jpg
new file mode 100644
index 0000000..579b5a2
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/factoryComponent/images/factoryComponentLifecycle.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/javaTask/images/JavaTaskStructure.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/javaTask/images/JavaTaskStructure.jpg
new file mode 100644
index 0000000..603353b
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/javaTask/images/JavaTaskStructure.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/javaTask/javaTask.html b/doc/org.eclipse.egf.engine.doc/html/concepts/javaTask/javaTask.html
new file mode 100644
index 0000000..b6fe359
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/javaTask/javaTask.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="java task"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>Java Task</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;Java Task

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+<a name="definition"><h2>Definition</h2></a>

+<p class="Para">A task is the basic activity for producing assets.</p>

+  

+  

+<a name="motivation"><h2>Motivation</h2></a>

+<p class="Para">A Java task is the basic technique to produce assets in Java. Example 1: patterns are processed by a Java task. Example 2: a text transformation factory component delegates in final its transformation to a text-to-text transformation Java task. The interest is to use any kind of tools with simple to sophisticated Java implementations.</p>

+

+<a name="structure"><h2>Structure</h2></a>

+

+<p class="Para">A java task is an activity called by an activity invocation. The task is associated to a Java class that implements the task.</p>

+

+<p align="center">

+  <img src="./images/JavaTaskStructure.jpg" alt="Java Task structure"/>

+</p>

+<p align="center">

+  <i>Figure 1. Java Task Structure</i>

+</p>

+

+<br>

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/mapping/images/mappingRelationships.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/mapping/images/mappingRelationships.jpg
new file mode 100644
index 0000000..2c7e634
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/mapping/images/mappingRelationships.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/mapping/images/modelMapping.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/mapping/images/modelMapping.jpg
new file mode 100644
index 0000000..aea3177
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/mapping/images/modelMapping.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/mapping/mapping.html b/doc/org.eclipse.egf.engine.doc/html/concepts/mapping/mapping.html
new file mode 100644
index 0000000..e2770b8
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/mapping/mapping.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="mapping"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>Mapping</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;Mapping

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+<a name="definition"><h2>Definition</h2></a>

+<p class="Para">A mapping is a correspondence between model elements from source and target models.</p>

+  

+  

+<a name="motivation"><h2>Motivation</h2></a>

+<p class="Para">Mapping is useful for several types of application: model/domain equivalence (e.g., Eclipse/ECore or OMG's MOF to UML mapping), model transformation, merging, comparison, migration, definition of bridge, problem to solution relationship. The objective is to explicitly declare a correspondence between a source and a target and to use it in different aspects of the production. This allows more flexibility when the source, the target or the correspondence evolve.</p>

+

+<a name="structure"><h2>Structure</h2></a>

+

+<p class="Para">There exist four types of mapping relationship: [1-1], [1-N], [N-1] and [N-M].</p>

+

+

+<p align="center">

+  <img src="./images/mappingRelationships.jpg" alt="Possible mapping relationships between source and target model elements"/>

+</p>

+<p align="center">

+  <i>Figure 1. Possible mapping relationships between source and target model elements</i>

+</p>

+

+<p class="Para">The [1-1] and [1-N] mappings are the most used types of mapping (e.g., a concept is mapped into a UML class for the [1-1] mapping, or mapped into a UML Class and Attribute for the [1-N] mapping). With the [N-1] mapping, several source elements allows deducing one target element, for instance for model merge or model transformation. The [N-M] mapping means several source and target elements are jointly involved for the realization of one mapping. For reducing complexity and maintenance, the N cardinalities can be reduced in applying N times the same kind of mapping, such as transforming the [1-N] mapping into N [1-1] mappings. A mapping is stored in a mapping model containing all source to target model element relationships.</p>

+

+<p class="Para">Mappings, such as toward UML, need extensions (e.g., UML stereotypes and tagged values). Extensions are to be managed as model elements. As a consequence, there are two target models, the UML model and the extensions model, what infringes the rule to have one source and one target model. The solution is to compose the two target models in order to reduce them into one target model. The same operation can be applied at the source level.</p>

+

+<p align="center">

+  <img src="./images/modelMapping.jpg" alt="Model Mapping"/>

+</p>

+<p align="center">

+  <i>Figure 2. Model Mapping</i>

+</p>

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/orchestration/images/orchestrationStructure.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/orchestration/images/orchestrationStructure.jpg
new file mode 100644
index 0000000..6008d9a
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/orchestration/images/orchestrationStructure.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/orchestration/orchestration.html b/doc/org.eclipse.egf.engine.doc/html/concepts/orchestration/orchestration.html
new file mode 100644
index 0000000..692af7a
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/orchestration/orchestration.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="factory"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>Orchestration</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;Orchestration

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+<a name="definition"><h2>Definition</h2></a>

+

+<p class="Para">An orchestration definies how to conduct a set of activities and how activities transform data.</p>

+  

+  

+<a name="motivation"><h2>Motivation</h2></a>

+<p class="Para">An orchestration is the logic to achieve a generation target. However, an orchestration is also a data workflow. Input data can be injected at different stages; an activity output is potentially an input of a next activity.</p>

+

+<a name="structure"><h2>Structure</h2></a>

+

+<p class="Para">An orchestration works with a data context, a set of activities, and a workflow which defines how to conduct the activities. A workflow conforms to a language (e.g., BPMN).</p>

+

+<p align="center">

+  <img src="./images/orchestrationStructure.jpg" alt="Orchestration structure"/>

+</p>

+<p align="center">

+  <i>Figure 1. Orchestra structure</i>

+</p>

+

+<br>

+

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/pattern/images/generationPatternGlobalView.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/pattern/images/generationPatternGlobalView.jpg
new file mode 100644
index 0000000..2204a3c
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/pattern/images/generationPatternGlobalView.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/pattern/images/generationPatternProductionExecution.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/pattern/images/generationPatternProductionExecution.jpg
new file mode 100644
index 0000000..6ebb2b1
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/pattern/images/generationPatternProductionExecution.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/pattern/pattern.html b/doc/org.eclipse.egf.engine.doc/html/concepts/pattern/pattern.html
new file mode 100644
index 0000000..0aa56ba
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/pattern/pattern.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="pattern, generation pattern"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>Generation Pattern</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;Pattern

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+<a name="definition"><h2>Definition</h2></a>

+<p class="Para">A pattern is a solution to a recurrent generation problem. The objective is 1) to produce assets in series (code, frameworks, tools, etc.), 2) to customize a generation in order to fit project needs.</p>

+  

+<a name="motivation"><h2>Motivation</h2></a>

+<p class="Para">The motivation is to produce assets with systematism and with the ability to tailor this generation. The pattern features are the following:</p>

+<ul>

+   <li>A pattern is an autonomous generation unit with <i>parameters and methods</i> which implement the pattern behavior.</li>

+   <li>The pattern <i>inheritance</i> allows the definition of standard behaviors and the ability to <i>customize</i> them afterwards by specialization.</li>

+   <li>The pattern delegation allows the ability to reuse existing patterns. The delegation can be a <i>simple delegation</i> or a delegation with a <i>pattern context injection</i> where the current pattern provides parameter values to the called pattern.</li>

+   <li>A parameter is a resource and can be from <i>any type</i>, e.g. a model, a file directory, a plugin.</li>

+   <li>A method conforms to a <i>language</i> specific to a concern, for instance to apply model-to-text transformations (e.g., with Jet). This language is identified by a <i>pattern nature</i>. A pattern nature is associated to a pattern engine. A pattern engine is able 1) to <i>translate</i> source code into an executable language, and 2) to <i>execute</i> it during an execution phase.</li>

+</ul>

+

+<p align="center">

+  <img src="./images/generationPatternGlobalView.jpg" alt="Generation Pattern GLobal View"/>

+</p>

+<p align="center">

+  <i>Figure 1. Generation Pattern GLobal View</i>

+</p>

+

+

+<a name="structure"><h2>Structure</h2></a>

+

+  <p class="Para">

+  <b>Pattern library</b>. Patterns are organized in pattern libraries. A pattern library allows both classifying and defining pattern execution blocks.

+  </p>

+  <br/>

+  

+<p class="Para">

+  <b>Pattern</b>. A pattern contains an ordered set of parameters, an ordered set of methods, local variables. A pattern can inherit from another pattern (simple inheritance) and can call other patterns.

+</p>

+<p class="Para"><b>Pattern Parameter</b>. A pattern contains a set of parameters. A parameter has a name and type. A parameter type is a model element from an ecore amodel or a Java type.</p>

+<p class="Para">A pattern parameter is associated to a query applied on a input resource.</p>

+<p class="Para">The set of pattern parameters and their queries define a Cartesian product [P1 x P2 x ... x Pn]. At execution time, pattern methods are applied on each tuple of the query results. A pattern without parameter calls the pattern methods just one time.</p>

+

+<p class="Para"><b>Variables</b>. A pattern can work with local variables. The variable type is a model element or a Java type.</p>

+

+<p class="Para"><b>Method</b>. A method contains a description that conforms to a language (e.g., Jet). The most popular type of description is textual but it could be action semantics or an activity graph. A method can overload a method of a super-pattern. A method orchestration defines the order to apply methods and pattern calls at execution.</p>

+

+<p class="Para"><b>Pattern Inheritance</b>. Pattern inheritance serves to inherit of parameter definition and methods. For the Cartesian product, the super-patterns are considered first. A super-pattern can be defined in another a pattern library than the current pattern's library, or in a library from a different Factory Component.</p>

+

+<p class="Para"><b>Pattern Call</b>. A pattern call serves to reuse patterns.</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Case 1. The called pattern has no parameter. It is a simple pattern delegation.</li>

+    <li CLASS="Item">Case 2. The called pattern has parameters. It is a delegation and the called pattern applies queries on each parameter.</li>

+    <li CLASS="Item">Case 3. A pattern call with parameter injection. The parameters of the called pattern are initialized by the pattern caller.</li>

+</ul>

+

+

+<a name="translationAndExecution"><h2>Process of translation and execution</h2></a>

+

+<p class="Para">Patterns are edited first (creation, update, deletion), processed to be executed, and executed.</p>

+

+<p class="Para"><b>Translation</b>.Translation transforms the pattern and its methods toward a target language (e.g., Jet form) understandable by an engine (e.g., the Jet engine). When needed, the translated code is compiled.</p>

+

+<p class="Para"><b>Execution</b>. At this step, the executable result of the translation is executed by an engine (e.g., the Jet model-to-text engine) according an execution strategy (e.g., pattern-oriented, resource-oriented strategies). The result of this execution is transmitted to a reporter.</p>

+<br>

+

+<p align="center">

+  <img src="./images/generationPatternProductionExecution.jpg" alt="Translation and Execution of Pattern"/>

+</p>

+<p align="center">

+  <i>Figure 3. Translation and Execution of Pattern</i>

+</p>

+

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/productionPlan/images/productionPlanStructure.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/productionPlan/images/productionPlanStructure.jpg
new file mode 100644
index 0000000..e2dd06c
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/productionPlan/images/productionPlanStructure.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/productionPlan/productionPlan.html b/doc/org.eclipse.egf.engine.doc/html/concepts/productionPlan/productionPlan.html
new file mode 100644
index 0000000..b054415
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/productionPlan/productionPlan.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="production plan, orchestration"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>Production Plan</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;Production Plan

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+<a name="definition"><h2>Definition</h2></a>

+<p class="Para">A production plan is an orchestration of activity invocations.</p>

+  

+  

+<a name="motivation"><h2>Motivation</h2></a>

+<p class="Para">Production plan is the default EGF orchestration. It is a simple workflow that consists in sequentially calling and executing activities.</p>

+

+<a name="structure"><h2>Structure</h2></a>

+

+<p class="Para"></p>

+

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/viewpoint/images/viewpointStructure.jpg b/doc/org.eclipse.egf.engine.doc/html/concepts/viewpoint/images/viewpointStructure.jpg
new file mode 100644
index 0000000..0c64084
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/viewpoint/images/viewpointStructure.jpg
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/concepts/viewpoint/viewpoint.html b/doc/org.eclipse.egf.engine.doc/html/concepts/viewpoint/viewpoint.html
new file mode 100644
index 0000000..904edce
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/concepts/viewpoint/viewpoint.html
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD>

+

+<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

+<meta name="author" content="Benoit Langlois" >

+<meta name="keywords" content="viewpoint, architecture"/>

+

+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

+

+<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

+<title>Viewpoint</title>

+</HEAD>

+<BODY BGCOLOR="#ffffff">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;Viewpoint

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+<a name="definition"><h2>Definition</h2></a>

+<p class="Para">A viewpoint is a software perspective with all the conventions for constructing and using it.</p>

+  

+<a name="motivation"><h2>Motivation</h2></a>

+<p class="Para">The notion of viewpoint is introduced to decouple the generation concerns from the logic of generation itself realized by a activities (factory components, tasks). For instance, instead of declaring a mapping in code, it is explicitly declared in a mapping viewpoint with a mapping model. A generation can use several complementary viewpoints. Conversely, all the complementary viewpoints must cover all the generation concerns.</p>

+

+<p class="Para">Examples of viewpoints:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Model to model mapping (e.g., eCore-to-ecore, ecore-to-UML mappings)</li>

+    <li CLASS="Item">Generation with patterns</li>

+    <li CLASS="Item">DSL (Domain-Specific Language)</li>

+    <li CLASS="Item">Functional description</li>

+    <li CLASS="Item">Non-functional description (e.g., performance, safety, security)</li>

+    <li CLASS="Item">Architecture decisions</li>

+    <li CLASS="Item">Software product line decisions</li>

+    <li CLASS="Item">Deployment</li>

+    <li CLASS="Item">Licensing</li>

+</ul>

+

+<p class="Para">The structure of a specific viewpoint is presented in its own section. This section develops the generic concept of viewpoint and its relationship with the IEEE 1471-2000 <a href="#[1]">[1]</a> and ISO/IEC WD3 42010 - IEEE P42010/D3 <a href="#[2]">[2]</a> standards. The purpose of a viewpoint is to explicitly describe generation specifications and decisions. A viewpoint actually translates a generation concern and helps a software actor to express or understand a part of the generation description, and this without being polluted by implementation details. Regarding the software architecture description, generation description by viewpoint becomes a sub-part of the software architecture description.</p>

+

+<a name="structure"><h2>Structure</h2></a>

+

+<p class="Para">A viewpoint implements a software perspective with its own rationale, i.e. a purpose, choices and decisions, and practices. Several viewpoints can mutually implement the same perspective. For instance, the generation of a tool infrastructure requires mapping, non-functional (e.g., persistence), deployment viewpoints. A viewpoint is instatiated and stored in a model. The metamodel of this model formalizes a language, typically expressed with a DSL. Then, all the viewpoints jointly formalized the software architecture from the generation consideration.</p>

+

+<p align="center">

+  <img src="./images/viewpointStructure.jpg" alt="Viewpoint structure"/>

+</p>

+<p align="center">

+  <i>Figure 1. Viewpoint Structure</i>

+</p>

+

+<br>

+

+

+<a name="Extensibility"><h2>Extensibility</h2></a>

+<p>The list of viewpoints is variable with the project concerns. This implies that the structure where the viewpoints are described must be extensible and to meet evolution of generation needs.</p>

+

+<br>

+

+<dl>

+  <dt><a name="[1]">[1]</a> IEEE Standard 1471-2000, <i>IEEE Recommended Practice for Architectural Description of Software-Intensive Systems</i>, 21 September, 2000.</dt>

+  <dt><a name="[2]">[2]</a> ISO/IEC WD3 42010, IEEE P42010/D3, <i>Systems and software engineering - Architectural description</i>, 2008-09-14.</dt>

+</dl>

+

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc/html/images/contract-element-mandatory.png b/doc/org.eclipse.egf.engine.doc/html/images/contract-element-mandatory.png
new file mode 100644
index 0000000..46c9a46
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/images/contract-element-mandatory.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-context-menu.png b/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-context-menu.png
new file mode 100644
index 0000000..4ac8fef
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-context-menu.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-context-menu1.png b/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-context-menu1.png
new file mode 100644
index 0000000..f2a8dd7
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-context-menu1.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-filtered-view.png b/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-filtered-view.png
new file mode 100644
index 0000000..51a256e
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-filtered-view.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-view-linking-enabled.png b/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-view-linking-enabled.png
new file mode 100644
index 0000000..44cf328
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-view-linking-enabled.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-view.png b/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-view.png
new file mode 100644
index 0000000..576690c
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/images/factory-component-explorer-view.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/images/factory-components-context-menu.png b/doc/org.eclipse.egf.engine.doc/html/images/factory-components-context-menu.png
new file mode 100644
index 0000000..6397f3f
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/images/factory-components-context-menu.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/images/factory-components-context-menu1.png b/doc/org.eclipse.egf.engine.doc/html/images/factory-components-context-menu1.png
new file mode 100644
index 0000000..73d3fe0
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/images/factory-components-context-menu1.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/images/factory-components-filtered-view.png b/doc/org.eclipse.egf.engine.doc/html/images/factory-components-filtered-view.png
new file mode 100644
index 0000000..2afdfe7
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/images/factory-components-filtered-view.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/images/factory-components-view.png b/doc/org.eclipse.egf.engine.doc/html/images/factory-components-view.png
new file mode 100644
index 0000000..f65bc56
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/images/factory-components-view.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/images/ngrelc.png b/doc/org.eclipse.egf.engine.doc/html/images/ngrelc.png
new file mode 100644
index 0000000..161e3aa
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/images/ngrelc.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/images/ngrelr.png b/doc/org.eclipse.egf.engine.doc/html/images/ngrelr.png
new file mode 100644
index 0000000..4726f8c
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/images/ngrelr.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/images/ngrelt.png b/doc/org.eclipse.egf.engine.doc/html/images/ngrelt.png
new file mode 100644
index 0000000..74bee2b
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/images/ngrelt.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_common_logger.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_common_logger.html
new file mode 100644
index 0000000..cbfc758
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_common_logger.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>EGF Logger</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">EGF Logger</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.common.logger<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>0.2.0

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Breaks the dependency towards UI for log purposes.<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.logger">logger</a>*)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;IDREF #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.logger">logger</a> (EMPTY+)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST logger</p>

+<p class="code SchemaDtdAttlist">class&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>class</b> - The implementation of the expected services.
+Must implement IEGFLoggerFactory interface (either directly or not).</li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>[Enter API information here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+Copyright (c) 2009-2010 Thales Corporate Services S.A.S.<br>
+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 <a 
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>

+

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_common_user_helper.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_common_user_helper.html
new file mode 100644
index 0000000..64d8a8f
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_common_user_helper.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>User enforced helper</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">User enforced helper</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.common.user_helper<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>1.2.0_M3

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Breaks the dependency towards UI for helper purposes (such as resource handling with configuration management, ...).<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.helperImplementation">helperImplementation</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.helperImplementation">helperImplementation</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST helperImplementation</p>

+<p class="code SchemaDtdAttlist">class&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>class</b> - The implementation of the expected services.
+Must implement IUserEnforced interface (either directly or not).</li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>[Enter API information here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_assetConfiguration.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_assetConfiguration.html
new file mode 100644
index 0000000..3380bfc
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_assetConfiguration.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>EGF Asset Configuration</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">EGF Asset Configuration</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.core.assetConfiguration<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>[Enter description of this extension point.]<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.assetConfiguration">assetConfiguration</a>)+&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.assetConfiguration">assetConfiguration</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST assetConfiguration</p>

+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">contextId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">taskFactoryId&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">assetId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - </li>

+<li><b>name</b> - </li>

+<li><b>contextId</b> - </li>

+<li><b>taskFactoryId</b> - </li>

+<li><b>assetId</b> - </li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_context.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_context.html
new file mode 100644
index 0000000..00ebc3f
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_context.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>EGF Context</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">EGF Context</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.core.context<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Extension point to define a context.<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.context">context</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.context">context</a> (<a href="#e.contextElement">contextElement</a>*)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST context</p>

+<p class="code SchemaDtdAttlist">id&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - </li>

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.contextElement">contextElement</a> ((<a href="#e.contractElementRef">contractElementRef</a> | <a href="#e.key">key</a>) , <a href="#e.contextValue">contextValue</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST contextElement</p>

+<p class="code SchemaDtdAttlist">id&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - </li>

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.contextValue">contextValue</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST contextValue</p>

+<p class="code SchemaDtdAttlist">value&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">class&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<p class="ConfigMarkupElementDesc">

+Define a readable string value.
+This value may be interpreted</p>

+<br>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>value</b> - The readable representation of the context element value.</li>

+<li><b>class</b> - A type holder describing the context value, if this context element does not point to a contract element.
+Thus this attribute is optional.</li>

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.contractElementRef">contractElementRef</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST contractElementRef</p>

+<p class="code SchemaDtdAttlist">contractElementReferenceId&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<p class="ConfigMarkupElementDesc">

+Context element refers directly to identified contract element.</p>

+<br>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>contractElementReferenceId</b> - </li>

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.key">key</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST key</p>

+<p class="code SchemaDtdAttlist">name&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<p class="ConfigMarkupElementDesc">

+Context element is a simple (key, value) holder.</p>

+<br>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>name</b> - </li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_contract.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_contract.html
new file mode 100644
index 0000000..cf9f94e
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_contract.html
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>EGF Contract</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">EGF Contract</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.core.contract<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Extension point to define a contract.<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.contract">contract</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.contract">contract</a> (<a href="#e.contractElement">contractElement</a>)*&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST contract</p>

+<p class="code SchemaDtdAttlist">id&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<p class="ConfigMarkupElementDesc">

+Defines a contract element list.</p>

+<br>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - </li>

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.contractElement">contractElement</a> (<a href="#e.description">description</a>? , (<a href="#e.contractElementRef">contractElementRef</a>)*)*&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST contractElement</p>

+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">mandatory&nbsp;(true | false) </p>&gt;</p>

+<p></p>

+<p class="ConfigMarkupElementDesc">

+Defines a couple (name, type). Type has to be a java class. A contract element can reference another one through contractReferenceId attribute.</p>

+<br>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - </li>

+<li><b>name</b> - Contract unique key.</li>

+<li><b>type</b> - </li>

+<li><b>mandatory</b> - Whether or not a context element must match this contract element.
+If the contract element is mandatory, it should be valued by a context element.
+If not set, the contract element is mandatory.</li>

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.contractElementRef">contractElementRef</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST contractElementRef</p>

+<p class="code SchemaDtdAttlist">contractElementReferenceId&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>contractElementReferenceId</b> - </li>

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.description">description</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST description</p>

+<p class="code SchemaDtdAttlist">id&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<p class="ConfigMarkupElementDesc">

+Define a description node.</p>

+<br>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - </li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_contractReferences.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_contractReferences.html
new file mode 100644
index 0000000..c6ca4ef
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_contractReferences.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>EGF ContractReferences</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">EGF ContractReferences</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.core.contractReferences<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Extension point to define a contract reference.<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.contractElementReference">contractElementReference</a>+)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.contractElementReference">contractElementReference</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST contractElementReference</p>

+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">referencedContractElementId&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">referencedContractElementName&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">referencedAssetId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - </li>

+<li><b>referencedContractElementId</b> - </li>

+<li><b>referencedContractElementName</b> - Deprecated.
+Keep it only to ensure backward compatibility.</li>

+<li><b>referencedAssetId</b> - </li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_factoryComponent.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_factoryComponent.html
new file mode 100644
index 0000000..3c4b9c9
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_factoryComponent.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>EGF Factory Component</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">EGF Factory Component</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.core.factoryComponent<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Extension point to define a factory Component<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.factoryComponent">factoryComponent</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.factoryComponent">factoryComponent</a> (<a href="#e.description">description</a>)?&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST factoryComponent</p>

+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">contractId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">domain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">productionPlanId&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - Asset identifier.</li>

+<li><b>name</b> - </li>

+<li><b>contractId</b> - Reference to a contract extension point through its id.</li>

+<li><b>domain</b> - Plug-in path to ecore domain model.</li>

+<li><b>productionPlanId</b> - Reference to a production plan extension point through its id.</li>

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.description">description</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST description</p>

+<p class="code SchemaDtdAttlist">id&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<p class="ConfigMarkupElementDesc">

+Define a description node.</p>

+<br>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - </li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_factoryComponentReader.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_factoryComponentReader.html
new file mode 100644
index 0000000..47bbb4e
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_factoryComponentReader.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>Factory Component reader</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">Factory Component reader</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.core.factoryComponentReader<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>[This extension-point allows contributors to read EGF elements in different manner.]<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.reader">reader</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.reader">reader</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST reader</p>

+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">class&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - </li>

+<li><b>class</b> - </li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_fcore.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_fcore.html
new file mode 100644
index 0000000..a58245e
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_fcore.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>EGF Factory Core</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">EGF Factory Core</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.core.fcore<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>0.1.0

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Exposes EGF Factory Core.<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.fcore">fcore</a>*)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;IDREF #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.fcore">fcore</a> (EMPTY+)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST fcore</p>

+<p class="code SchemaDtdAttlist">id&nbsp;IDREF #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - FactoryComponent identifier.</li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>[Enter API information here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+Copyright (c) 2009-2010 Thales Corporate Services S.A.S.<br>
+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 <a 
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>

+

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_log4jConfigurer.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_log4jConfigurer.html
new file mode 100644
index 0000000..d851aee
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_log4jConfigurer.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>Log4J Configurer</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">Log4J Configurer</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.core.log4jConfigurer<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Breaks the dependency towards UI for log4j configuration.
+Only one contribution is expected.<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.configurerImplementation">configurerImplementation</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.configurerImplementation">configurerImplementation</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST configurerImplementation</p>

+<p class="code SchemaDtdAttlist">class&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>class</b> - The implementation of the expected services.
+Must implement ILog4jConfigurer interface (either directly or not).</li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>[Enter API information here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_mapping.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_mapping.html
new file mode 100644
index 0000000..be210ab
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_mapping.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>EGF Mapping</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">EGF Mapping</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.core.mapping<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Extension point to define a mapping.<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.mapping">mapping</a>)+&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.mapping">mapping</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST mapping</p>

+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">assetIdAsSource&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">assetIdAsTarget&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - Mapping identifier.</li>

+<li><b>name</b> - Mapping name.</li>

+<li><b>path</b> - The ecore2ecore file defining the mapping.</li>

+<li><b>assetIdAsSource</b> - The identifier of asset that hosts the domain used as input in this mapping.</li>

+<li><b>assetIdAsTarget</b> - The identifier of asset that hosts the domain used as output in this mapping.</li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_productionPlan.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_productionPlan.html
new file mode 100644
index 0000000..cc04fa0
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_productionPlan.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>EGFproduction plan</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">EGFproduction plan</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.core.productionPlan<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Extension point to define a production plan.<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.productionPlan">productionPlan</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.productionPlan">productionPlan</a> (<a href="#e.assetConfiguration">assetConfiguration</a>*)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST productionPlan</p>

+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">contextId&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<p class="ConfigMarkupElementDesc">

+A production plan is a set of asset configuration id.</p>

+<br>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - </li>

+<li><b>contextId</b> - </li>

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.assetConfiguration">assetConfiguration</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST assetConfiguration</p>

+<p class="code SchemaDtdAttlist">id&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<p class="ConfigMarkupElementDesc">

+Reference to an asset configuration extension point through its id.</p>

+<br>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - </li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_taskFactory.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_taskFactory.html
new file mode 100644
index 0000000..09ef695
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_core_taskFactory.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>EGF Task Factory</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">EGF Task Factory</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.core.taskFactory<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>[Enter description of this extension point.]<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.taskFactory">taskFactory</a>+)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.taskFactory">taskFactory</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST taskFactory</p>

+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">class&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - </li>

+<li><b>class</b> - </li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_model_delegatedValidator.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_model_delegatedValidator.html
new file mode 100644
index 0000000..ae8764a
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_model_delegatedValidator.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>Delegated Validator</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">Delegated Validator</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.model.delegatedValidator<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Breaks the dependency towards RootAsset for model validation.
+Only one contribution is expected.<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.validationImplementation">validationImplementation</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.validationImplementation">validationImplementation</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST validationImplementation</p>

+<p class="code SchemaDtdAttlist">class&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>class</b> - The implementation of the expected services.
+Must implement IDelegatedValidator interface (either directly or not).</li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>[Enter API information here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_model_factoryComponentLoadingHelper.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_model_factoryComponentLoadingHelper.html
new file mode 100644
index 0000000..db87aec
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_model_factoryComponentLoadingHelper.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>Factory Component Loading Helper</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">Factory Component Loading Helper</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>This extension-point allows contributors to read mdsofa elements in different manner..factoryComponentLoadingHelper<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>[This extension-point allows only one contributor to provide a factory component loading implementation.]<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.factoryComponentLoadingHelper">factoryComponentLoadingHelper</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.factoryComponentLoadingHelper">factoryComponentLoadingHelper</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST factoryComponentLoadingHelper</p>

+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">class&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - </li>

+<li><b>class</b> - </li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_extension.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_extension.html
new file mode 100644
index 0000000..eab3249
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_extension.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>Pattern Extension</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">Pattern Extension</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.pattern.org.eclipse.egf.pattern.extension<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>[Enter description of this extension point.]<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.flavor">flavor</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.flavor">flavor</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST flavor</p>

+<p class="code SchemaDtdAttlist">class&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>class</b> - </li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>[Enter API information here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_generatedPattern.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_generatedPattern.html
new file mode 100644
index 0000000..859d7a8
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_generatedPattern.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>EGF Generated Pattern</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">EGF Generated Pattern</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.pattern.generatedPattern<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>EGF generated pattern extension point.
+
+Used to define generated patterns.
+A generated  pattern is defined by an id, a template code string and a template engine type value.<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.generatedPattern">generatedPattern</a>)+&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.generatedPattern">generatedPattern</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST generatedPattern</p>

+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">templateCode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">templateEngineType&nbsp;(jet) "jet"</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - The unique id of the pattern in its containing library.
+A comment on characters that are allowed is needed here.</li>

+<li><b>templateCode</b> - The pattern code resulting from pattern generation.</li>

+<li><b>templateEngineType</b> - An attribute to define the template engine used to generate this pattern.
+If omitted, then it is <samp>jet</samp> by default. 
+
+The attribute value will be one of the following:
+    <table border="0" width="80%">
+      <tr>
+ <td valign="jet" width="25"></td>
+        <td valign="jet" nowrap><b>jet</b></td>
+        <td valign="jet">- as JET template engine.</td>
+      </tr>
+    </table></li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_pattern.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_pattern.html
new file mode 100644
index 0000000..1987e4e
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_pattern.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>EGF Pattern</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">EGF Pattern</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.pattern.pattern<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>EGF pattern extension point.
+
+Used to define patterns and librairies.
+
+A library can contain either librairies or patterns (elements).
+It can also add specific description about how (which order) to use its elements.
+A pattern is defined by an id and an ecore model (that fully describes the pattern).<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.library">library</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.library">library</a> (<a href="#e.library">library</a> | <a href="#e.pattern">pattern</a>)+&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST library</p>

+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">productionOrchestration&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">runtimeOrchestration&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<p class="ConfigMarkupElementDesc">

+A new pattern library.</p>

+<br>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - The id of the library.
+A comment on characters that are allowed is needed here.</li>

+<li><b>name</b> - The name of the library.
+Shown in the mdsofa explorer (the id being not exposed).
+A comment on characters that are allowed is needed here.</li>

+<li><b>productionOrchestration</b> - Defines the way the library should be used when being produced.
+It contains short library or pattern ids separated by comma (or white space) characters.</li>

+<li><b>runtimeOrchestration</b> - Defines the way the library should be used when being executed.
+It contains full library or pattern ids separated by comma (or white space) characters.</li>

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.pattern">pattern</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST pattern</p>

+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">definition&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<p class="ConfigMarkupElementDesc">

+A new pattern.</p>

+<br>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - The unique id of the pattern in its containing library.
+A comment on characters that are allowed is needed here.</li>

+<li><b>name</b> - The pattern name.
+A comment on characters that are allowed is needed here.</li>

+<li><b>definition</b> - The ecore file defining the pattern.
+Each pattern is a subclass of the Pattern class as provided by the pattern model (pattern.ecore).</li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_patternCondition.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_patternCondition.html
new file mode 100644
index 0000000..ad7fe96
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_patternCondition.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>EGF pattern condition declaration</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">EGF pattern condition declaration</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.pattern.patternCondition<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Pattern condition implementation pointer.<br>
+This extension point is intended to be used by pattern ui exclusively for declaration.<br>
+Reading these extensions is then left to a specific pattern execution.<br>
+So, you should not be using this extension point.<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.conditionPointer">conditionPointer</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.conditionPointer">conditionPointer</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST conditionPointer</p>

+<p class="code SchemaDtdAttlist">patternId&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<p class="ConfigMarkupElementDesc">

+A pointer to a condition class for identified pattern.</p>

+<br>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>patternId</b> - Pattern full id having need for this condition.<br>
+Note that a pattern can have only one condition at a time, so its unique id is sufficient so as to find out which condition to use.</li>

+<li><b>class</b> - The pattern condition implementation fully qualified class name.<br>
+It must be instantiable by the plug-in declaring such an extension.</li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_ui_patternGenerator.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_ui_patternGenerator.html
new file mode 100644
index 0000000..2a0d836
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_ui_patternGenerator.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>EGF Pattern Generator</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">EGF Pattern Generator</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.pattern.ui.patternGenerator<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>MDSofa Pattern Generator extension point.
+Provides with asset that are capable of generating a new pattern through a generator class.<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.patternGeneratorRoot">patternGeneratorRoot</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.patternGenerator">patternGenerator</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST patternGenerator</p>

+<p class="code SchemaDtdAttlist">class&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>class</b> - The implementation of the pattern generator.</li>

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.patternGeneratorRoot">patternGeneratorRoot</a> (<a href="#e.patternGenerator">patternGenerator</a>)+&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST patternGeneratorRoot</p>

+<p class="code SchemaDtdAttlist">id&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - The project name that is selected when calling for the generate action.</li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_ui_patternProduction.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_ui_patternProduction.html
new file mode 100644
index 0000000..bd380ff
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pattern_ui_patternProduction.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>Pattern production</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">Pattern production</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.pattern.ui.patternProduction<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Pattern production extension point.
+Allows to point libraries and patterns to produce for a selected asset project.<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.patternProductionRoot">patternProductionRoot</a>)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.patternProductionRoot">patternProductionRoot</a> (<a href="#e.libraryOrPatternReference">libraryOrPatternReference</a>)+&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST patternProductionRoot</p>

+<p class="code SchemaDtdAttlist">id&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - The project name that is selected when calling for the production action.</li>

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.libraryOrPatternReference">libraryOrPatternReference</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST libraryOrPatternReference</p>

+<p class="code SchemaDtdAttlist">id&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - The full id of the library or the pattern to produce.</li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pde_factoryComponentContent.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pde_factoryComponentContent.html
new file mode 100644
index 0000000..0c88b93
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_pde_factoryComponentContent.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>Factory Component Content Wizards</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">Factory Component Content Wizards</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.pde.factoryComponentContent<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>This extension point provides for contributing wizards that create additional content of the EGF PDE Factory Component
+projects. After the plug-in manifest and key files have been
+created, these wizards can be used to add more files and
+extensions to the initial structure. A typical implementation
+of this wizard would add content based on a parametrized
+template customized based on the user choices in the wizard.
+The goal is to arrive at an asset that is does something
+useful right after the creation.<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.wizard">wizard</a>*)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>point</b> - a fully qualified identifier of the target extension point</li>

+<li><b>id</b> - an optional identifier of the extension instance</li>

+<li><b>name</b> - an optional name of the extension instance</li>

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.wizard">wizard</a> (<a href="#e.description">description</a>?)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST wizard</p>

+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">category&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">ui-content&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "true"</p><p class="code SchemaDtdAttlist">java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "true"</p><p class="code SchemaDtdAttlist">requiresActivator&nbsp;(true | false) "false"</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>id</b> - a unique name that will be used to identify this wizard.</li>

+<li><b>name</b> - a translatable name that will be used in UI representation
+of this wizard.</li>

+<li><b>icon</b> - a relative path of an icon that will be used to visually 
+represent the wizard.</li>

+<li><b>class</b> - a fully qualified name of a class which implements 
+<samp>org.eclipse.pde.ui.IPluginContentWizard</samp>.</li>

+<li><b>category</b> - an optional tag that can be used to associate content wizards with different target projects.</li>

+<li><b>ui-content</b> - a flag that indicates if the wizard will contribute code with user interface content. This flag will affect which plug-in class will be picked since (UI plug-ins extend <code>AbstractUIPlugin</code> class, while non-UI plug-ins extends <code>Plugin</code> base class). Since many contributions to Eclipse have UI content, this attribute is <code>true</code> by default.</li>

+<li><b>java</b> - a flag that indicates that the wizard will contribute Java content. Since most of the Eclipse plug-ins have Java code, the attribute is <code>true</code> by default. Set it to <code>false</code> if the plug-in will not have Java code (for example, documentation files only).</li>

+<li><b>requiresActivator</b> - Since 3.2.  A boolean flag indicating whether the wizard contributes an activator class.  If set to <code>true</code>, the wizard will appear in the New Plug-in Project wizard only when the user chooses to generate an activator to control the plug-in life cycle.</li>

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.description">description</a> (#PCDATA)&gt;</p>

+<p></p>

+<p class="ConfigMarkupElementDesc">

+Short description of this wizard.</p>

+<br><br>

+<h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>The following is an example of this extension point:
+<pre class="Example"><span class="code SchemaTag">   
+   &lt;extension point=</span><span class="code SchemaCstring">&quot;org.eclipse.egf.pde.factoryComponentContent&quot;</span><span class="code SchemaTag">&gt;
+      &lt;wizard
+         name=</span><span class="code SchemaCstring">&quot;Example Plug-in Content Generator&quot;</span><span class="code SchemaTag">
+         icon=</span><span class="code SchemaCstring">&quot;icons/content_wizard.gif&quot;</span><span class="code SchemaTag">
+         class=</span><span class="code SchemaCstring">&quot;com.example.xyz.ContentGeneratorWizard&quot;</span><span class="code SchemaTag">
+         id=</span><span class="code SchemaCstring">&quot;com.example.xyz.ExampleContentGenerator&quot;</span><span class="code SchemaTag">&gt;
+         &lt;description&gt;
+            Create an asset that depends on the JavaBundle Asset.
+         &lt;/description&gt;
+      &lt;/wizard&gt;
+   &lt;/extension&gt;
+</span></pre>

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>MDsoFa PDE provides APIs for contributing content wizards based on customizable templates.

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+/**
+ * Copyright (c) THALES, 2007. All rights reserved.
+ */

+

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_query.html b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_query.html
new file mode 100644
index 0000000..1fe994c
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/extension-points/org_eclipse_egf_query.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

+<HTML>

+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+<title>Pattern Query</title>

+<style type="text/css">@import url("../../book.css");</style>

+<style type="text/css">@import url("../../schema.css");</style>

+</HEAD>

+<BODY>

+<H1 style="text-align:center">Pattern Query</H1>

+<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.egf.pattern.org.eclipse.egf.query<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>[Enter the first release in which this extension point appears.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>[Enter description of this extension point.]<p></p>

+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>

+<p></p>

+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.query">query</a>+)&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>

+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+</ul>

+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.query">query</a> EMPTY&gt;</p>

+<p class="code SchemaDtd">&lt;!ATTLIST query</p>

+<p class="code SchemaDtdAttlist">class&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #REQUIRED</p>&gt;</p>

+<p></p>

+<ul class="ConfigMarkupAttlistDesc">

+<li><b>class</b> - </li>

+<li><b>id</b> - </li>

+<li><b>name</b> - </li>

+</ul>

+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>[Enter extension point usage example here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>[Enter API information here.]

+<p></p>

+

+<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>[Enter information about supplied implementation of this extension point.]

+<p></p>

+

+<br>

+<p class="note SchemaCopyright">

+</p>

+</BODY>

+</HTML>

diff --git a/doc/org.eclipse.egf.engine.doc/html/reference/icons.html b/doc/org.eclipse.egf.engine.doc/html/reference/icons.html
new file mode 100644
index 0000000..e8c3b85
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/reference/icons.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

+<html>

+	<head>

+		<meta name="copyright" content="Copyright (c) THALES, 2007. All rights reserved.">

+		<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

+		<meta http-equiv="Content-Style-Type" content="text/css">

+		<link rel="stylesheet" href="../book.css" charset="ISO-8859-1" type="text/css">

+		<title>EGF Engine icons</title>

+		<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"> </script>

+	</head>

+	

+	<body>

+		<h1>EGF Engine icons</h1>

+		<table cellspacing="0" cellpadding="5" border="1" width="50%">

+			<tbody>

+	    		<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/FactoryComponent.gif"  alt="Factory Component">

+	         		</td>

+	          		<td valign="top">Factory Component</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/Domain.gif"  alt="Domain">

+	         		</td>

+	          		<td valign="top">Domain</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/Specification.gif"  alt="Viewpoints">

+	         		</td>

+	          		<td valign="top">Viewpoints</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/Contract.gif"  alt="Contract">

+	         		</td>

+	          		<td valign="top">Contract viewpoint : set of contract elements</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../images/contract-element-mandatory.png"  alt="Mandatory Contract Element">

+	         		</td>

+	          		<td valign="top">Mandatory Contract Element</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/ContractElement.gif"  alt="Optional Contract Element">

+	         		</td>

+	          		<td valign="top">Optional Contract Element</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/PatternViewpoint.gif"  alt="Pattern Viewpoint">

+	         		</td>

+	          		<td valign="top">Pattern viewpoint : set of pattern libraries</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/PatternLibrary.gif"  alt="Pattern Library">

+	         		</td>

+	          		<td valign="top">Pattern Library</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/PatternModel.gif"  alt="Pattern">

+	         		</td>

+	          		<td valign="top">Pattern</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/MappingViewpoint.gif"  alt="Mapping Viewpoint">

+	         		</td>

+	          		<td valign="top">Mapping viewpoint : set of mappings</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/MappingModel.gif"  alt="Mapping">

+	         		</td>

+	          		<td valign="top">Mapping</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/Factory.gif"  alt="Factory">

+	         		</td>

+	          		<td valign="top">Factory</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/ProductionPlan.gif"  alt="Production Plan">

+	         		</td>

+	          		<td valign="top">Production Plan</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/FactoryComponentInvocation.gif"  alt="FactoryComponentInvocation">

+	         		</td>

+	          		<td valign="top">Factory Component Invocation</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/Context.gif"  alt="Context">

+	         		</td>

+	          		<td valign="top">Context</td>

+	        	</tr>

+	        	<tr>

+	        		<td valign="middle" align="center">

+	            		<img src="../../../org.eclipse.egf.model.edit/icons/full/obj16/ContextElement.gif"  alt="Context Element">

+	         		</td>

+	          		<td valign="top">Context Element</td>

+	        	</tr>

+	    	</tbody>

+		</table>

+	</body>

+</html>
\ No newline at end of file
diff --git a/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/egf-tutorial-fc1.html b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/egf-tutorial-fc1.html
new file mode 100644
index 0000000..02106e5
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/egf-tutorial-fc1.html
@@ -0,0 +1,234 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

+<head>

+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+	<title>

+		EGF Tutorial - Factory Component. First steps.

+	</title>

+	<link rel="stylesheet" href="../book.css" charset="ISO-8859-1" type="text/css" />

+

+	<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." />

+	<meta name="author" content="Benoit Langlois" />

+	<meta name="keywords" content="egf,factory,component"/>

+</head>

+

+<body xml:lang="EN-US" lang="EN-US">

+

+<table border="0" cellpadding="2" cellspacing="0" width="100%">

+  <tbody>

+    <tr>

+    	<td colspan="2" align="left" bgcolor="#0080c0" valign="top">

+    	  <h2><font face="Arial,Helvetica"><font color="#ffffff">

+    	  &nbsp;EGF Tutorial - Factory Component. First steps.

+    	  </font></font></h2>

+    	</td>

+    </tr>

+	</tbody>

+</table>

+

+<p class="Para">This first tutorial explains how to create and execute simple factory components with EGF.</p>

+

+<br/>

+

+<h2 class="Head">1. Creation of factory component and task</h2>

+

+<h3 class="Head">1.1. Comprehension</h3>

+<p class="Para"><i>Generation activities</i>. A generation can be decomposed into generation stages down to the generation leaves which realize the effective generation tasks, such as producing an API. In EGF, this corresponds to <b>factory components</b> that delegate their generations, by an activity invocation, to other factory components until <b>tasks</b> that realizes a generation task. EGF proposes a task implementation in the Java language.</p>

+<p class="Para"><i>Storage</i>. Factory components and tasks are stored in <b>fcore</b> files.</p>

+

+<p align="center">

+  <img src="./images/egf_tut_fc_1_1.png" alt="EGF Activity Relationships"/>

+</p>

+<p align="center"><i>Figure 1. EGF Activity Relationships</i></p>  

+

+

+<h3 class="Head">1.2. Practice</h3>

+

+<p class="Para">The sequence of actions to <i>create a factory component</i>:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">First, create a project and a folder where the factory components and tasks will be located</li>

+    <li CLASS="Item">Creation of a Factory Component - Commands: <i>[File][New][EGF Activity]</i></li>

+    <li CLASS="Item">Select a project or a project folder, and set the fcore file name</li>

+    <li CLASS="Item">Click on Finish or Next, and select <i>Factory Component</i> for model object</li>

+    <li CLASS="Item">Click on Finish; the Factory Component is created</li>

+    <li CLASS="Item">Set the factory component name in the <i>Properties</i> view to better identify it later</li>

+</ul>

+

+<p class="Para">The sequence of actions is the same for creating a task: select <i>Task</i> as model object instead of <i>Factory Component</i>.</p>

+

+<p class="Para">A fcore file is a resource able to contain several activities, i.e. several factory components or tasks. In order to add a new activity in the same fcore file:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Right-Click on an activity - Commands: <i>[New Sibling]</i></li>

+    <li CLASS="Item">Select the activity type to create</li>

+</ul>

+<br/>

+

+<h3 class="Head">1.3. Application</h3>

+<p class="Para">During this tutorial, a Java class will be implemented. Then, it is better to start with a Java project.</p>

+<p class="Para">Create a Factory component named <i>HelloWorld</i> and a Task named <i>HelloWorldTask</i>.</p>

+

+<p align="center">

+  <img src="./images/egf_tut_fc_1_2.png" alt="New EGF Activity"/>

+</p>

+<p align="center"><i>Figure 2. New EGF Activity</i></p>  

+<br/>

+

+<h2 class="Head">2. Creation of task contracts and task implementation</h2>

+

+<h3 class="Head">2.1. Comprehension</h3>

+

+<p class="Para"><i>Contracts</i>. In EGF, an activity parameter is named <b>Contract</b>. Factory component and task contracts are contained in a <i>Contract Container</i>. A <i>Contract</i> has a Name, Mode (IN, OUT, IN_OUT), is mandatory or not, has a <b>Type</b>, and possibly a default value.</p>

+

+<p align="center">

+  <img src="./images/egf_tut_fc_1_3.png" alt="Activity Contracts"/>

+</p>

+<p align="center"><i>Figure 3. Activity Contracts</i></p>  

+

+<p class="Para"><i>Task declaration and implementation</i>. A task realizes an effective work. It is necessary to differentiate the task declaration, defined in a fcore model, from the task implementation, defined in a Java class. After its declaration, a task can be invoked by different factory components. The task implementation is the means to execute any generation tool, or something else in Java. The Java class implements an <i>ITaskProduction</i> interface. It can implement three methods: preExecute, doExecute, postExecute. The task methods have a context parameter to get, set and work with the task contracts. The link between the Task and the task Java class is realized at the task level.</p>

+

+<p align="center">

+  <img src="./images/egf_tut_fc_1_4.png" alt="Java Task and Java Task implementation"/>

+</p>

+<p align="center"><i>Figure 4. Java Task and Java Task implementation</i></p>  

+

+

+<h3 class="Head">2.2. Practice</h3>

+<p class="Para">Task modeling - The sequence of actions to <i>create task contracts</i>:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Creation of the task contract container - Command: on a task, <i>[New Child][Task Contract Container]</i></li>

+    <li CLASS="Item">Creation of a task contract - Command: on the task contract container, <i>[New Child][Contract]</i></li>

+    <li CLASS="Item">Set the contract name, mode, and mandatory values</li>

+    <li CLASS="Item">Definition of the task contract type - Command: on the task contract, <i>[New Child][String|Integer...]</i></li>

+    <li CLASS="Item">Set the default value on the contract type with the <i>Value</i> property</li>

+</ul>

+

+<h3 class="Head">2.3. Application</h3>

+<p class="Para">Create a Task contract 'value' of String contract type with the  (default) value 'World', as shown in the following figure.</p>

+

+<p align="center">

+  <img src="./images/egf_tut_fc_1_5.png" alt="Java Task Example"/>

+</p>

+<p align="center"><i>Figure 5. Java Task Example</i></p>  

+

+

+<h3 class="Head">2.4. Practice</h3>

+<p class="Para">Task implementation - The sequence of actions to <i>create and associate a task Java Class</i>:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Create a Class which implements the <i>ITaskProduction</i> Interface</li>

+    <li CLASS="Item">Implement the task class</li>

+    <li CLASS="Item">Associate the task with the task Java class - Command: on the [Java Task], on the <i>Implementation</i> property, select a Java task class</li>

+</ul>

+

+<p align="center">

+  <img src="./images/egf_tut_fc_1_6.png" alt="Java Task / Java class association"/>

+</p>

+<p align="center"><i>Figure 6. Java Task / Java class association</i></p>  

+

+<h3 class="Head">2.5. Application</h3>

+<p class="Para">Create a Java class <i>HelloWorld</i> that displays an parameterized Hello message. Example of code:</p>

+				<font color="777777"><pre>

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

+import org.eclipse.egf.core.EGFCorePlugin;

+import org.eclipse.egf.core.producer.InvocationException;

+import org.eclipse.egf.fprod.producer.context.ITaskProductionContext;

+import org.eclipse.egf.fprod.producer.invocation.ITaskProduction;

+

+

+public class HelloWorld implements ITaskProduction {

+

+	@Override

+	public void doExecute(ITaskProductionContext productionContext,

+			IProgressMonitor monitor) throws InvocationException {

+		String value  = productionContext.getInputValue("value", String.class);

+		String outputMessage = new String ("Hello " + value + "!");

+		// Message on the default console

+		System.out.println(outputMessage);

+		// Message on the EGF console

+	    EGFCorePlugin.getDefault().logInfo(outputMessage); 		  

+	}

+

+	@Override

+	  public void preExecute(final ITaskProductionContext context, final IProgressMonitor monitor_p) throws InvocationException {

+		// TODO Auto-generated method stub

+

+	}

+

+	@Override

+	  public void postExecute(final ITaskProductionContext context, final IProgressMonitor monitor_p) throws InvocationException {

+		// TODO Auto-generated method stub

+

+	}

+

+}

+				</pre></font>

+

+<p class="Para">Associate the <i>HelloWorld</i> class to the <i>HelloWorldTask</i> Java task.</p>

+

+<br/>

+

+<h2 class="Head">3. Task invocation in a factory component</h2>

+

+<h3 class="Head">3.1. Comprehension</h3>

+<p class="Para"><i>Orchestration</i>. The same task / factory component can be invoked by different factory components; the same factory component can invoke several factory component and/or tasks. Invocations to factory components and tasks are defined in an orchestration. EGF proposes a simple orchestration type named <b>production plan</b>. A production plan is a sorted list of activity invocations. A <b>task invocation</b> calls a task with the values required by the task contracts. The following figure details the first figure.</p>

+

+<p align="center">

+  <img src="./images/egf_tut_fc_1_7.png" alt="Factory Component Orchestration"/>

+</p>

+<p align="center"><i>Figure 7. Factory Component Orchestration</i></p>  

+

+

+<h3 class="Head">3.2. Practice</h3>

+

+<p class="Para">The sequence of actions to <i>create a production plan</i>:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Commands: on a factory component, <i>[New Child][Production Plan]</i></li>

+</ul>

+

+<p class="Para">The sequence of actions to <i>create an invocation</i> in a production plan:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Commands: on a production plan, <i>[New Child][Production Plan Invocation]</i></li>

+    <li CLASS="Item">Set the Name with semantic meaning</li>

+    <li CLASS="Item">In the Activity section of the production plan invocation, set the <i>Invoked Activity</i> property: select a task or factory component</li>

+</ul>

+

+<p class="Para">The sequence of actions to <i>create task invocation values</i> in a task invocation:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">First, create an invocation context - Commands: on a task invocation, <i>[New Child][Invocation Contract Container]</i></li>

+    <li CLASS="Item">For each task contract to be valued - Commands: on an invocation context container, <i>[New Child][Invocation Contract]</i></li>

+    <li CLASS="Item">On the invocation contract, in the <i>Invoked Contract</i> property of the <i>Behaviour</i> section, select the concerned task contract to be valued</li>

+    <li CLASS="Item">Definition of an Invocation Contract value - Commands: on an invocation contract, <i>[New Child][the activity contract type, e.g. String]</i></li>

+    <li CLASS="Item">Set the value</li>

+</ul>

+

+<p class="Para">The two last steps are necessary when the default value of the task contract must be redefined or is undefined and madatory.</p>

+

+<h3 class="Head">3.3. Application</h3>

+<p class="Para">Create a task invocation without Invocation Contract (the default value of the task contract is used) and one with.</p>

+

+

+<br/>

+

+<h2 class="Head">4. Execution of task and factory component</h2>

+

+<h3 class="Head">4.1. Comprehension</h3>

+<p class="Para"><i>Execution during the development phase</i>. During the development phase, there exist two modes to execute a task or factory component. 1) Dynamically, directly on a factory component or on a task, when the model is open. This mode is useful to simultaneously develop and test tasks and factory components. Before execution, it is controled that the model is valid. 2) On the fcore resource. This avoids to open the fcore resource.</p>

+<p class="Para"><i>Execution on the target platform</i>. After deployment in the target platform, the factory components, tasks, and fcore resources can be normally executed.</p>

+<p class="Para"><i>Preferences</i>. The EGF production settings are accessible via the EGF preferences.</p>

+

+

+<h3 class="Head">4.2. Practice</h3>

+

+<p class="Para">The sequence of actions to <i>execute a task or factory component dynamically</i>:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Commands: <i>[Right-Click][Run EGF Activity...]: on a task or a factory component</i></li>

+</ul>

+

+

+<p class="Para">The sequence of actions to <i>execute a fcore resource</i>:</p>

+<ul CLASS="UnorderedList">

+    <li CLASS="Item">Commands: <i>[Right-Click][Run EGF Activity...] on the fcore file</i></li>

+    <li CLASS="Item">If there are several factory components or tasks in the same fcore file, then it is necessary to select the activity to be executed</li>

+</ul>

+

+</body>

+</html>

diff --git a/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_1.png b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_1.png
new file mode 100644
index 0000000..e5971c8
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_1.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_2.png b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_2.png
new file mode 100644
index 0000000..563de53
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_2.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_3.png b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_3.png
new file mode 100644
index 0000000..a27dc50
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_3.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_4.png b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_4.png
new file mode 100644
index 0000000..287b462
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_4.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_5.png b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_5.png
new file mode 100644
index 0000000..ca3027a
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_5.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_6.png b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_6.png
new file mode 100644
index 0000000..d9964ac
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_6.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_7.png b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_7.png
new file mode 100644
index 0000000..614b0af
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/html/tutorial/part1/images/egf_tut_fc_1_7.png
Binary files differ
diff --git a/doc/org.eclipse.egf.engine.doc/plugin.properties b/doc/org.eclipse.egf.engine.doc/plugin.properties
new file mode 100644
index 0000000..a760f67
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/plugin.properties
@@ -0,0 +1,13 @@
+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+

+pluginName=EGF Engine Guide (Incubation)

+providerName=Eclipse Modeling Project

diff --git a/doc/org.eclipse.egf.engine.doc/plugin.xml b/doc/org.eclipse.egf.engine.doc/plugin.xml
new file mode 100644
index 0000000..f07986e
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/plugin.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?eclipse version="3.2"?>
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<plugin>

+   <extension

+         point="org.eclipse.help.toc">

+      <toc

+            file="topics_Concepts.xml">

+      </toc>

+      <toc

+            file="topics_Reference_Preferences.xml">

+      </toc>

+      <toc

+            file="topics_Reference_Views.xml">

+      </toc>

+      <toc

+            file="topics_Reference_Wizards.xml">

+      </toc>

+      <toc

+            file="topics_Reference_Wizards_Edit.xml">

+      </toc>

+      <toc

+            file="topics_Reference_Icons.xml">

+      </toc>

+      <toc

+            file="topics_Overviews.xml">

+      </toc>

+      <toc

+            file="toc_GettingStarted.xml">

+      </toc>

+      <toc

+            file="topics_Reference_Api.xml">

+      </toc>

+   </extension>

+   <extension

+         point="org.eclipse.pde.core.javadoc">

+      <javadoc

+            path="html/reference/javadoc/">

+         <plugin

+               id="org.eclipse.egf.common">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.common.ui">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.model">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.model.edit">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.pde">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.pde.emf">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.core">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.core.ui">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.core.ui.workbench">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.mapping.ui.editor">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.mapping">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.batch.application">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.pattern">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.pattern.ui">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.pde.pattern">

+         </plugin>

+         <plugin

+               id="org.eclipse.egf.pattern.refactoring">

+         </plugin>

+      </javadoc>

+   </extension>

+</plugin>

diff --git a/doc/org.eclipse.egf.engine.doc/toc_FactoryComponents.xml b/doc/org.eclipse.egf.engine.doc/toc_FactoryComponents.xml
new file mode 100644
index 0000000..8e76871
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/toc_FactoryComponents.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?NLS TYPE="org.eclipse.help.toc"?>

+
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="Domain To HTML Generator"

+	link_to="../org.eclipse.egf.doc.user/topics_FactoryComponents.xml#core">

+	<topic label="Java Code Generator"

+		href="html/fcs/fc-java-code-generator.html" />

+</toc>

diff --git a/doc/org.eclipse.egf.engine.doc/toc_GettingStarted.xml b/doc/org.eclipse.egf.engine.doc/toc_GettingStarted.xml
new file mode 100644
index 0000000..c0f811e
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/toc_GettingStarted.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="Factory Component in Action Tutorials" link_to="../org.eclipse.egf.doc.user/toc.xml#egfEngineTutorials">

+   <topic label="Factory Component - First steps" href="html/tutorial/part1/egf-tutorial-fc1.html" />

+</toc>

diff --git a/doc/org.eclipse.egf.engine.doc/topics_Concepts.xml b/doc/org.eclipse.egf.engine.doc/topics_Concepts.xml
new file mode 100644
index 0000000..c498b0e
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/topics_Concepts.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?NLS TYPE="org.eclipse.help.toc"?>

+
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="Concepts"

+	link_to="../org.eclipse.egf.doc.user/toc.xml#concepts">

+	<topic label="EGF Engine">

+  <topic href="html/concepts/activity/activity.html" label="Activity">

+  </topic>

+		<topic label="Factory component"

+			href="html/concepts/factoryComponent/factoryComponent.html" />

+		<topic label="Asset"

+			href="html/concepts/asset/asset.html" />

+		

+		<topic label="Contract" href="html/concepts/contract/contract.html" /><topic label="Viewpoint"

+				href="html/concepts/viewpoint/viewpoint.html">

+			<topic label="Domain" href="html/concepts/domain/domain.html" />

+			<topic label="DSL"

+				href="html/concepts/dsl/dsl.html" />

+			<topic label="Mapping"

+				href="html/concepts/mapping/mapping.html" />

+			<topic label="Pattern"

+				href="html/concepts/pattern/pattern.html" />

+		</topic>

+		<topic label="Orchestration"

+				href="html/concepts/orchestration/orchestration.html">

+			<topic label="Production Plan"

+				href="html/concepts/productionPlan/productionPlan.html" />

+			<topic label="Activity Invocation"

+				href="html/concepts/activityInvocation/activityInvocation.html">

+				<topic label="Java Task"

+					href="html/concepts/javaTask/javaTask.html" />

+			</topic>

+		</topic>

+	</topic>

+</toc>

diff --git a/doc/org.eclipse.egf.engine.doc/topics_Overviews.xml b/doc/org.eclipse.egf.engine.doc/topics_Overviews.xml
new file mode 100644
index 0000000..9b18551
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/topics_Overviews.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?NLS TYPE="org.eclipse.help.toc"?>

+
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="EGF Engine Overview"

+	link_to="../org.eclipse.egf.doc.user/toc.xml#egfOverviews">

+	<topic label="EGF Engine" />

+</toc>

diff --git a/doc/org.eclipse.egf.engine.doc/topics_Reference_Api.xml b/doc/org.eclipse.egf.engine.doc/topics_Reference_Api.xml
new file mode 100644
index 0000000..20f0123
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/topics_Reference_Api.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?NLS TYPE="org.eclipse.help.toc"?>

+
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="API Reference" link_to="../org.eclipse.egf.doc.user/topics_Reference.xml#api">

+	<topic label="EGF Engine" href="html/reference/javadoc/overview-summary.html" />

+</toc>

diff --git a/doc/org.eclipse.egf.engine.doc/topics_Reference_Icons.xml b/doc/org.eclipse.egf.engine.doc/topics_Reference_Icons.xml
new file mode 100644
index 0000000..ff608d1
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/topics_Reference_Icons.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?NLS TYPE="org.eclipse.help.toc"?>

+
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="Icons" link_to="../org.eclipse.egf.doc.user/topics_Reference.xml#icons">

+   <topic href="html/reference/icons.html" label="EGF Engine Icons">

+   </topic>

+</toc>

diff --git a/doc/org.eclipse.egf.engine.doc/topics_Reference_Preferences.xml b/doc/org.eclipse.egf.engine.doc/topics_Reference_Preferences.xml
new file mode 100644
index 0000000..274c9a7
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/topics_Reference_Preferences.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?NLS TYPE="org.eclipse.help.toc"?>

+
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="EGF Engine Preferences"

+	link_to="../org.eclipse.egf.doc.user/topics_Reference.xml#preferences">

+	<topic label="Domain"

+		href="html/reference/preferences/preferences-domain.html" />

+ <topic href="html/reference/preferences/preferences-fc.html" label="Factory Component">

+ </topic>

+ <topic href="html/reference/preferences/preferences-pattern.html" label="Pattern">

+ </topic>

+</toc>

diff --git a/doc/org.eclipse.egf.engine.doc/topics_Reference_Views.xml b/doc/org.eclipse.egf.engine.doc/topics_Reference_Views.xml
new file mode 100644
index 0000000..be4cd32
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/topics_Reference_Views.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?NLS TYPE="org.eclipse.help.toc"?>

+
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="EGF Engine Views and Editors"

+	link_to="../org.eclipse.egf.doc.user/topics_Reference.xml#viewsAndEditors">

+	<topic label="Factory Component Explorer"

+		href="html/reference/views/views-factoryComponentExplorer.html" />

+	<topic label="Factory Components"

+		href="html/reference/views/views-factoryComponents.html" />

+</toc>

diff --git a/doc/org.eclipse.egf.engine.doc/topics_Reference_Wizards.xml b/doc/org.eclipse.egf.engine.doc/topics_Reference_Wizards.xml
new file mode 100644
index 0000000..d1cae7b
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/topics_Reference_Wizards.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?NLS TYPE="org.eclipse.help.toc"?>

+
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="EGF Engine Creation Wizards"

+	link_to="../org.eclipse.egf.doc.user/topics_Reference.xml#createNewElements">

+	<topic label="New Factory Component Project Wizard"

+		href="html/reference/wizards/wizards-new-factory-component.html">

+		<topic label="Factory Component Project Structure"

+			href="html/reference/wizards/factory-component-project-structure.html" />

+		<topic label="Factory Component Content"

+			href="html/reference/wizards/factory-component-content.html" />

+		<topic label="Factory Component Templates"

+			href="html/reference/wizards/factory-component-templates.html">

+			<anchor id="factoryComponentTemplates" />

+			<topic label="Empty Factory Component Template"

+				href="html/reference/wizards/factory-component-templates-empty.html" />

+		</topic>

+	</topic>

+	<topic label="New Domain Wizard"

+		href="html/reference/wizards/wizards-new-domain.html" />

+	<topic label="New Contract Element Wizard"

+		href="html/reference/wizards/wizards-new-contract-element.html">

+		<topic label="Contract Element Definition"

+			href="html/reference/wizards/contract-element-definition.html" />

+		<topic label="Contract Element Nature"

+			href="html/reference/wizards/contract-element-nature.html" />

+	</topic>

+	<topic href="html/reference/wizards/wizards-new-pattern-library.html" label="New Pattern Library Wizard">

+    <topic href="html/reference/wizards/pattern-library-definition.html" label="Pattern Library Definition">

+    </topic>

+    <topic href="html/reference/wizards/pattern-library-production.html" label="Pattern Library Production Orchestration">

+    </topic>

+    <topic href="html/reference/wizards/pattern-library-runtime.html" label="Pattern Library Runtime Orchestration">

+    </topic>

+ </topic>

+	<topic label="New Pattern Wizard"

+		href="html/reference/wizards/wizards-new-pattern.html" />

+	<topic label="New Mapping Wizard"

+		href="html/reference/wizards/wizards-new-mapping.html" />

+	<topic label="New Factory Component Invocation Wizard"

+		href="html/reference/wizards/wizards-new-factory-component-invocation.html" />

+	<topic href="html/reference/wizards/wizards-new-context-element.html" label="New Context Element Wizard">

+    <topic href="html/reference/wizards/context-element-definition.html" label="Context Element Definition">

+    </topic>

+    <topic href="html/reference/wizards/context-element-nature.html" label="Context Element Nature">

+    </topic>

+    <topic href="html/reference/wizards/context-element-value.html" label="Context Element Value">

+    </topic>

+ </topic>

+	<topic label="New Task Factory Wizard"

+		href="html/reference/wizards/wizards-new-task-factory.html" />

+</toc>

diff --git a/doc/org.eclipse.egf.engine.doc/topics_Reference_Wizards_Edit.xml b/doc/org.eclipse.egf.engine.doc/topics_Reference_Wizards_Edit.xml
new file mode 100644
index 0000000..bffc696
--- /dev/null
+++ b/doc/org.eclipse.egf.engine.doc/topics_Reference_Wizards_Edit.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?NLS TYPE="org.eclipse.help.toc"?>

+
<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+
+<toc label="EGF Engine Edit Wizards"

+	link_to="../org.eclipse.egf.doc.user/topics_Reference.xml#editElements">

+	<topic label="Edit Factory Component Wizard"

+		href="html/reference/wizards/wizards-edit-factory-component.html" />
+</toc>

diff --git a/examples/runtime/org.eclipse.egf.example.emf.docgen.html/.project b/examples/runtime/org.eclipse.egf.example.emf.docgen.html/.project
new file mode 100644
index 0000000..11e107f
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.emf.docgen.html/.project
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>org.eclipse.egf.example.emf.docgen.html</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

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

+	</natures>

+</projectDescription>

diff --git a/examples/runtime/org.eclipse.egf.example.emf.docgen.html/META-INF/MANIFEST.MF b/examples/runtime/org.eclipse.egf.example.emf.docgen.html/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..0f326bd
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.emf.docgen.html/META-INF/MANIFEST.MF
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Ex1
+Bundle-SymbolicName: org.eclipse.egf.example.emf.docgen.html;singleton:=true
+Bundle-Version: 0.2.2.qualifier
+Require-Bundle: org.eclipse.egf.eclipse.resources.mgt;bundle-version="0.2.1"
diff --git a/examples/runtime/org.eclipse.egf.example.emf.docgen.html/about.html b/examples/runtime/org.eclipse.egf.example.emf.docgen.html/about.html
new file mode 100644
index 0000000..7e766fe
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.emf.docgen.html/about.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>

+

+

+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

+<title>About</title>

+</head><body lang="EN-US">

+<h2>About This Content</h2>

+ 

+<p>June 5, 2007</p>	

+<h3>License</h3>

+

+<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 

+indicated below, the Content is provided to you under the terms and conditions of the

+Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 

+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.

+For purposes of the EPL, "Program" will mean the Content.</p>

+

+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 

+being redistributed by another party ("Redistributor") and different terms and conditions may

+apply to your use of any object code in the Content.  Check the Redistributor's license that was 

+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise

+indicated below, the terms and conditions of the EPL still apply to any source code in the Content

+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>

+

+</body></html>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.example.emf.docgen.html/build.properties b/examples/runtime/org.eclipse.egf.example.emf.docgen.html/build.properties
new file mode 100644
index 0000000..92333e3
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.emf.docgen.html/build.properties
@@ -0,0 +1,19 @@
+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+

+bin.includes = META-INF/,\

+               egf/,\

+               plugin.xml,\

+               model/,\

+               output/,\

+               output1/,\

+               about.html

+src.includes = about.html

diff --git a/examples/runtime/org.eclipse.egf.example.emf.docgen.html/egf/LibraryHtmlDoc.fcore b/examples/runtime/org.eclipse.egf.example.emf.docgen.html/egf/LibraryHtmlDoc.fcore
new file mode 100644
index 0000000..f6e0fe4
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.emf.docgen.html/egf/LibraryHtmlDoc.fcore
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<fcore:FactoryComponent xmi:version="2.0"

+    xmlns:xmi="http://www.omg.org/XMI" xmlns:domain="http://www.eclipse.org/egf/1.0.0/domain"

+    xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore" xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod"

+    xmlns:types="http://www.eclipse.org/egf/1.0.0/types" xmi:id="_6rsIkQpYEd-pyqf4uNW3tw"

+    name="LibraryHtmlDoc">

+  <viewpointContainer xmi:id="_N71eYQprEd-7fqY_JLtg2w">

+    <viewpoints xmi:type="domain:DomainViewpoint" xmi:id="_OdNtIAprEd-7fqY_JLtg2w">

+      <domains xmi:type="domain:DomainURI" xmi:id="_SUbPQAprEd-7fqY_JLtg2w" uri="platform:/plugin/org.eclipse.egf.example.emf.docgen.html/model/library.ecore"/>

+    </viewpoints>

+  </viewpointContainer>

+  <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_8VyS4ApYEd-pyqf4uNW3tw">

+    <invocations xmi:id="_9BcfAApYEd-pyqf4uNW3tw" name="Html Documentation Generation"

+        invokedActivity="fcore:FactoryComponent platform:/plugin/org.eclipse.egf.emf.docgen.html/egf/EmfDocGenHtml.fcore#_BxjIkAG0Ed-7fNNmMjB2jQ">

+      <invocationContractContainer xmi:id="_vVEUIAqQEd-o4MG7iLHReg">

+        <invocationContracts xmi:id="_wFpcgAqQEd-o4MG7iLHReg" invokedContract="fcore:FactoryComponentContract platform:/plugin/org.eclipse.egf.emf.docgen.html/egf/EmfDocGenHtml.fcore#_Yp4VcAprEd-7fqY_JLtg2w">

+          <type xmi:type="domain:TypeDomainURI" xmi:id="_yuVWAAqQEd-o4MG7iLHReg" domain="#_SUbPQAprEd-7fqY_JLtg2w"/>

+        </invocationContracts>

+        <invocationContracts xmi:id="_Rrl4YAqREd-o4MG7iLHReg" invokedContract="fcore:FactoryComponentContract platform:/plugin/org.eclipse.egf.emf.docgen.html/egf/EmfDocGenHtml.fcore#_7NKWkApbEd-pyqf4uNW3tw">

+          <type xmi:type="types:TypeString" xmi:id="_T3qHUAqREd-o4MG7iLHReg" description=""

+              value="org.eclipse.egf.library.doc"/>

+        </invocationContracts>

+        <invocationContracts xmi:id="_Vvw4cAqREd-o4MG7iLHReg" invokedContract="fcore:FactoryComponentContract platform:/plugin/org.eclipse.egf.emf.docgen.html/egf/EmfDocGenHtml.fcore#_AvXa4ApcEd-pyqf4uNW3tw">

+          <type xmi:type="types:TypeString" xmi:id="_XmE50AqREd-o4MG7iLHReg" value="html"/>

+        </invocationContracts>

+      </invocationContractContainer>

+    </invocations>

+  </orchestration>

+</fcore:FactoryComponent>

diff --git a/examples/runtime/org.eclipse.egf.example.emf.docgen.html/model/library.ecore b/examples/runtime/org.eclipse.egf.example.emf.docgen.html/model/library.ecore
new file mode 100644
index 0000000..fc62bf0
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.emf.docgen.html/model/library.ecore
@@ -0,0 +1,124 @@
+<?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="library"

+    nsURI="http://org.eclipse.egf.docgen.html/library.ecore/1.0.0" nsPrefix="lib">

+  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+    <details key="documentation" value="This model describes the library domain."/>

+  </eAnnotations>

+  <eClassifiers xsi:type="ecore:EClass" name="Book" eSuperTypes="#//CirculatingItem">

+    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">

+      <details key="constraints" value="TitleNotEmpty"/>

+    </eAnnotations>

+    <eAnnotations source="http://www.eclipse.org/egf/2010/GenDoc">

+      <details key="documentation" value="A book is written by an author, has a title and category.&#xD;&#xA;Several borrowers can simultaneously take the same book because there are several copies of the same book."/>

+    </eAnnotations>

+    <eOperations name="bestBook">

+      <eParameters name="Param1" eType="#//Book"/>

+      <eParameters name="Param2" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+      <eParameters name="N" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EShort"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"

+        defaultValueLiteral="100"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="#//BookCategory"

+        unsettable="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="author" lowerBound="1"

+        eType="#//Writer" eOpposite="#//Writer/books"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//Addressable">

+    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">

+      <details key="constraints" value="NameNotEmpty"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="writers" upperBound="-1"

+        eType="#//Writer" volatile="true" transient="true" derived="true" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="group" value="#people"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="employees" upperBound="-1"

+        eType="#//Employee" volatile="true" transient="true" derived="true" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="group" value="#people"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" upperBound="-1"

+        eType="#//Borrower" volatile="true" transient="true" derived="true" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="group" value="#people"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="stock" ordered="false"

+        upperBound="-1" eType="#//Item" containment="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="books" ordered="false"

+        upperBound="-1" eType="#//Book" transient="true" derived="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="branches" upperBound="-1"

+        eType="#//Library" containment="true" eOpposite="#//Library/parentBranch"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="parentBranch" eType="#//Library"

+        eOpposite="#//Library/branches"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="people" upperBound="-1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="group"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Writer" eSuperTypes="#//Person">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"

+        volatile="true" transient="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1"

+        eType="#//Book" eOpposite="#//Book/author"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="BookCategory">

+    <eLiterals name="Mystery"/>

+    <eLiterals name="ScienceFiction" value="1"/>

+    <eLiterals name="Biography" value="2"/>

+    <eLiterals name="Fantasy" value="3"/>

+    <eLiterals name="Thriller" value="4"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Item" abstract="true">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Lendable" abstract="true" interface="true">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="copies" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" ordered="false"

+        upperBound="-1" eType="#//Borrower" eOpposite="#//Borrower/borrowed"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CirculatingItem" abstract="true" eSuperTypes="#//Item #//Lendable"/>

+  <eClassifiers xsi:type="ecore:EClass" name="Periodical" abstract="true" eSuperTypes="#//Item">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="issuesPerYear" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="AudioVisualItem" abstract="true" eSuperTypes="#//CirculatingItem">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="minutesLength" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="damaged" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="BookOnTape" eSuperTypes="#//AudioVisualItem">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="reader" eType="#//Person"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="author" eType="#//Writer"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="VideoCassette" eSuperTypes="#//AudioVisualItem">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="cast" upperBound="-1" eType="#//Person"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Borrower" eSuperTypes="#//Person">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="borrowed" upperBound="-1"

+        eType="#//Lendable" eOpposite="#//Lendable/borrowers"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="#//Addressable">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastName" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Employee" eSuperTypes="#//Person">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="manager" eType="#//Employee"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Addressable" abstract="true" interface="true">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+  </eClassifiers>

+</ecore:EPackage>

diff --git a/examples/runtime/org.eclipse.egf.example.emf.docgen.html/plugin.xml b/examples/runtime/org.eclipse.egf.example.emf.docgen.html/plugin.xml
new file mode 100644
index 0000000..359faec
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.emf.docgen.html/plugin.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?eclipse version="3.2"?>

+<!--

+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+

+<plugin>

+

+   <extension

+         point="org.eclipse.egf.core.fcore">

+      <fcore

+            id="egf/LibraryHtmlDoc.fcore">

+      </fcore>

+   </extension>

+

+</plugin>

diff --git a/examples/runtime/org.eclipse.egf.example.fcs/.project b/examples/runtime/org.eclipse.egf.example.fcs/.project
new file mode 100644
index 0000000..2cab7f5
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.fcs/.project
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>org.eclipse.egf.example.fcs</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

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

+	</natures>

+</projectDescription>

diff --git a/examples/runtime/org.eclipse.egf.example.fcs/META-INF/MANIFEST.MF b/examples/runtime/org.eclipse.egf.example.fcs/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..e8ae242
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.fcs/META-INF/MANIFEST.MF
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.egf.example.fcs;singleton:=true
+Bundle-Version: 0.2.2.qualifier
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-ClassPath: .
+Bundle-ActivationPolicy: lazy
diff --git a/examples/runtime/org.eclipse.egf.example.fcs/build.properties b/examples/runtime/org.eclipse.egf.example.fcs/build.properties
new file mode 100644
index 0000000..03c2320
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.fcs/build.properties
@@ -0,0 +1,4 @@
+bin.includes = META-INF/,\

+               fc/,\

+               plugin.properties,\

+               plugin.xml

diff --git a/examples/runtime/org.eclipse.egf.example.fcs/fc/fc1.fcore b/examples/runtime/org.eclipse.egf.example.fcs/fc/fc1.fcore
new file mode 100644
index 0000000..e776b15
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.fcs/fc/fc1.fcore
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<fcore:FactoryComponent xmi:version="2.1"

+    xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore"

+    xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod" xmlns:types="http://www.eclipse.org/egf/1.0.0/types" 

+    xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask" xmi:id="Ko39UWVuEd64TpQQ4RciWw" name="FC1">

+  <contractContainer xmi:id="_SmBtAL-2Ed6E7J0w9U7NFQ">

+    <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_S7e_oL-2Ed6E7J0w9U7NFQ" name="amount" mode="Out" invocationContracts="#_IDAaML-2Ed6E7J0w9U7NFQ">

+      <type xmi:type="types:TypeFloat" xmi:id="_MZ2CIb-3Ed61q9pxr2iF9w" value="100.0"/>

+    </contracts>

+    <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_1SUNMcLoEd6YQfrk65kDFw" name="price" mode="Out" invocationContracts="#_GpyuQb_nEd6gHIEE-OJ_Mw">

+      <type xmi:type="types:TypeFloat" xmi:id="_BV5T0MLpEd6YQfrk65kDFw" value="11.0"/>

+    </contracts>

+    <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_ljAQIMVjEd6ngr_25dSdnQ" name="rebate" invocationContracts="#_YeTqwMVjEd6ngr_25dSdnQ">

+      <type xmi:type="types:TypeFloat" xmi:id="_na9QQMVjEd6ngr_25dSdnQ"/>

+    </contracts>

+    <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_5siVYMnxEd62uJjVIIL53A" name="generatorAdapterFactory"

+        mode="Out" invocationContracts="#_HzSEYciDEd6oON34eIZwow">

+      <type xmi:type="types:TypeGeneratorAdapterFactory" xmi:id="_7EKPoMnxEd62uJjVIIL53A"/>

+    </contracts>

+    <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_aZgPYNW6Ed6dzvinGX1cMA" name="parameters" mandatory="true"

+        invocationContracts="#_OHww8NW6Ed6dzvinGX1cMA">

+      <type xmi:type="types:TypeList" xmi:id="_ceRjgNW6Ed6dzvinGX1cMA"/>

+    </contracts>

+  </contractContainer>

+  <orchestration xmi:type="fprod:ProductionPlan" xmi:id="4w2VoabFEd692t-PG4ogiQ">

+    <invocations xmi:type="fprod:ProductionPlanInvocation" xmi:id="tKWXIabGEd69ANF1SOWYYg"

+        invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.example.task.h1/task_h1.fcore#1Zvd4LdCEd6AWpPtW_wFiQ">

+      <invocationContractContainer xmi:id="_GuhTgb-2Ed6E7J0w9U7NFQ">

+        <invocationContracts xmi:id="_bu7G8MVjEd6ngr_25dSdnQ" invokedContract="fcore:Contract platform:/plugin/org.eclipse.egf.example.task.h1/task_h1.fcore#_sZPqULpOEd6O-6ob3O13Lw">

+          <type xmi:type="types:TypeInteger" xmi:id="_wKWpUMVjEd6ngr_25dSdnQ" value="10"/>

+        </invocationContracts>

+        <invocationContracts xmi:id="_YeTqwMVjEd6ngr_25dSdnQ" factoryComponentContract="#_ljAQIMVjEd6ngr_25dSdnQ"

+            invokedContract="fcore:Contract platform:/plugin/org.eclipse.egf.example.task.h1/task_h1.fcore#_5TrVYMBtEd60u-W6Ywx4cQ"/>

+        <invocationContracts xmi:id="_GpyuQb_nEd6gHIEE-OJ_Mw" factoryComponentContract="#_1SUNMcLoEd6YQfrk65kDFw"

+            invokedContract="fcore:Contract platform:/plugin/org.eclipse.egf.example.task.h1/task_h1.fcore#_xfSXELpOEd6O-6ob3O13Lw">

+          <type xmi:type="types:TypeFloat" xmi:id="_S8tDYMVjEd6ngr_25dSdnQ"/>

+        </invocationContracts>

+        <invocationContracts xmi:id="_IDAaML-2Ed6E7J0w9U7NFQ" factoryComponentContract="#_S7e_oL-2Ed6E7J0w9U7NFQ"

+            invokedContract="fcore:Contract platform:/plugin/org.eclipse.egf.example.task.h1/task_h1.fcore#_2vwLILpOEd6O-6ob3O13Lw"/>

+        <invocationContracts xmi:id="_HzSEYciDEd6oON34eIZwow" 

+            factoryComponentContract="#_5siVYMnxEd62uJjVIIL53A" invokedContract="fcore:Contract platform:/plugin/org.eclipse.egf.example.task.h1/task_h1.fcore#_PFOYwbshEd6hlL3ru-eQtQ"/>

+        <invocationContracts xmi:id="_OHww8NW6Ed6dzvinGX1cMA" factoryComponentContract="#_aZgPYNW6Ed6dzvinGX1cMA"

+            invokedContract="fcore:Contract platform:/plugin/org.eclipse.egf.example.task.h1/task_h1.fcore#_l2A5kdT3Ed6Pk6ruhJpBtQ"/>

+      </invocationContractContainer>

+    </invocations>

+    <invocations xmi:type="fprod:ProductionPlanInvocation" xmi:id="ID2loKbGEd692t-PG4ogiQ"

+        invokedActivity="fcore:FactoryComponent platform:/plugin/org.eclipse.egf.example.fcs/fc/fc2.fcore#6yt_IWV8Ed6WjOtbZOwqNA"/>

+  </orchestration>

+</fcore:FactoryComponent>

diff --git a/examples/runtime/org.eclipse.egf.example.fcs/fc/fc2.fcore b/examples/runtime/org.eclipse.egf.example.fcs/fc/fc2.fcore
new file mode 100644
index 0000000..4ddb8a4
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.fcs/fc/fc2.fcore
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<fcore:FactoryComponent xmi:version="2.1"

+    xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore"

+    xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod" xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask"

+    xmi:id="6yt_IWV8Ed6WjOtbZOwqNA" name="FC2">

+  <orchestration xmi:type="fprod:ProductionPlan" xmi:id="zwp8wKbGEd69ANF1SOWYYg">

+    <invocations xmi:type="fprod:ProductionPlanInvocation" xmi:id="28WcsKbGEd69ANF1SOWYYg"

+        invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.example.task.h2/task_h2.fcore#9hT-gKbGEd69ANF1SOWYYg"/>

+  </orchestration>

+</fcore:FactoryComponent>

diff --git a/examples/runtime/org.eclipse.egf.example.fcs/plugin.properties b/examples/runtime/org.eclipse.egf.example.fcs/plugin.properties
new file mode 100644
index 0000000..4fbfa82
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.fcs/plugin.properties
@@ -0,0 +1,13 @@
+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+

+pluginName=EGF Test FC (Incubation)

+providerName=Eclipse Modeling Project

diff --git a/examples/runtime/org.eclipse.egf.example.fcs/plugin.xml b/examples/runtime/org.eclipse.egf.example.fcs/plugin.xml
new file mode 100644
index 0000000..8284479
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.fcs/plugin.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?eclipse version="3.0"?>

+<plugin

+>

+   <extension

+         point="org.eclipse.egf.core.fcore">

+      <fcore

+            id="fc/fc1.fcore">

+      </fcore>

+      <fcore

+            id="fc/fc2.fcore">

+      </fcore>

+   </extension>  

+      
+</plugin>

diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/.classpath b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/.classpath
new file mode 100644
index 0000000..9a34df0
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="generated"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/.project b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/.project
new file mode 100644
index 0000000..5c150a0
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.egf.example.strategy.modeldriven</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.egf.pattern.ui.PatternBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.egf.core.EGFNature</nature>
+	</natures>
+</projectDescription>
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/.settings/org.eclipse.jdt.core.prefs b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..8ab03fc
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Thu Dec 10 15:27:56 CET 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/META-INF/MANIFEST.MF b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..5f83267
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Strategy
+Bundle-SymbolicName: org.eclipse.egf.example.strategy.modeldriven;singleton:=true
+Bundle-Version: 0.2.2.qualifier
+Bundle-Activator: strategy.Activator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.egf.pattern;visibility:=reexport,
+ org.eclipse.egf.pattern.ftask,
+ org.eclipse.egf.model.ftask;visibility:=reexport
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: myLib,
+ strategy
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/build.properties b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/build.properties
new file mode 100644
index 0000000..b8d142f
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/build.properties
@@ -0,0 +1,35 @@
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml
+source.. = src/
+source.. = src/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               META-INF/MANIFEST.MF
+source.. = src/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               META-INF/MANIFEST.MF
+source.. = src/,\
+           generated/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               META-INF/MANIFEST.MF,\
+               .settings/,\
+               bin/,\
+               model/,\
+               templates/
+source.. = src/,\
+           generated/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               META-INF/MANIFEST.MF,\
+               .settings/,\
+               bin/,\
+               model/,\
+               templates/
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/default.fcore b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/default.fcore
new file mode 100644
index 0000000..e2319d7
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/default.fcore
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fcore:FactoryComponent xmi:version="2.1"
+    xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:domain="http://www.eclipse.org/egf/1.0.0/domain"
+    xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore" xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod"
+    xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask" xmlns:jetpattern="http://www.eclipse.org/egf/1.0.0/jetpattern"
+    xmlns:pattern="http://www.eclipse.org/egf/1.0.0/pattern" xmi:id="_Sq3-AOWYEd6IuMdAhwYvKg"
+    name="Model driven strategy example">
+  <viewpointContainer xmi:id="_TtBXgOWYEd6IuMdAhwYvKg">
+    <viewpoints xmi:type="domain:DomainViewpoint" xmi:id="_UP7QQOWYEd6IuMdAhwYvKg">
+      <domains xmi:type="domain:DomainURI" xmi:id="_YptT8OWYEd6IuMdAhwYvKg" uri="platform:/plugin/org.eclipse.egf.example.strategy.modeldriven/model/mypackage.ecore"/>
+    </viewpoints>
+    <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_c10vEOWYEd6IuMdAhwYvKg">
+      <libraries xmi:id="_dHixMOWYEd6IuMdAhwYvKg" name="myLib">
+        <elements xmi:type="pattern:Pattern" xmi:id="_RzMnwPuUEd6-V5xjQsdIkw" name="classPattern"
+            headerMethod="#_RzMnwfuUEd6-V5xjQsdIkw" footerMethod="#_RzNO0PuUEd6-V5xjQsdIkw"
+            initMethod="#_RzMnwvuUEd6-V5xjQsdIkw">
+          <methods xmi:id="_RzMnwfuUEd6-V5xjQsdIkw" name="header" patternFilePath="templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzMnwfuUEd6-V5xjQsdIkw.pt"/>
+          <methods xmi:id="_RzMnwvuUEd6-V5xjQsdIkw" name="init" patternFilePath="templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzMnwvuUEd6-V5xjQsdIkw.pt"/>
+          <methods xmi:id="_RzMnw_uUEd6-V5xjQsdIkw" name="body" patternFilePath="templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzMnw_uUEd6-V5xjQsdIkw.pt"/>
+          <methods xmi:id="_RzNO0PuUEd6-V5xjQsdIkw" name="footer" patternFilePath="templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzNO0PuUEd6-V5xjQsdIkw.pt"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_puGhsPuUEd6-V5xjQsdIkw"
+              called="#_RzMnw_uUEd6-V5xjQsdIkw"/>
+          <orchestration xmi:type="pattern:BackCall" xmi:id="_t_r7UP64Ed6-wtqQkH9CMw"/>
+          <parameters xmi:id="_mjj4UPuUEd6-V5xjQsdIkw" name="parameter" type="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_RzNO0vuUEd6-V5xjQsdIkw"
+              name="JET"/>
+        </elements>
+        <elements xmi:type="pattern:Pattern" xmi:id="_X0ajUPuUEd6-V5xjQsdIkw" name="attributePattern"
+            headerMethod="#_X0ajUfuUEd6-V5xjQsdIkw" footerMethod="#_X0ajVPuUEd6-V5xjQsdIkw"
+            initMethod="#_X0ajUvuUEd6-V5xjQsdIkw">
+          <methods xmi:id="_X0ajUfuUEd6-V5xjQsdIkw" name="header" patternFilePath="templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajUfuUEd6-V5xjQsdIkw.pt"/>
+          <methods xmi:id="_X0ajUvuUEd6-V5xjQsdIkw" name="init" patternFilePath="templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajUvuUEd6-V5xjQsdIkw.pt"/>
+          <methods xmi:id="_X0ajU_uUEd6-V5xjQsdIkw" name="body" patternFilePath="templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajU_uUEd6-V5xjQsdIkw.pt"/>
+          <methods xmi:id="_X0ajVPuUEd6-V5xjQsdIkw" name="footer" patternFilePath="templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajVPuUEd6-V5xjQsdIkw.pt"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_X0ajVfuUEd6-V5xjQsdIkw"
+              called="#_X0ajU_uUEd6-V5xjQsdIkw"/>
+          <orchestration xmi:type="pattern:BackCall" xmi:id="_s8MeAP64Ed6-wtqQkH9CMw"/>
+          <parameters xmi:id="_t-TyoPuUEd6-V5xjQsdIkw" name="parameter" type="http://www.eclipse.org/emf/2002/Ecore#//EAttribute"/>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_X0ajVvuUEd6-V5xjQsdIkw"
+              name="JET"/>
+        </elements>
+        <elements xmi:type="pattern:Pattern" xmi:id="_eKJWUPuUEd6-V5xjQsdIkw" name="packagePattern"
+            headerMethod="#_eKJWUfuUEd6-V5xjQsdIkw" footerMethod="#_eKJWVPuUEd6-V5xjQsdIkw"
+            initMethod="#_eKJWUvuUEd6-V5xjQsdIkw">
+          <methods xmi:id="_eKJWUfuUEd6-V5xjQsdIkw" name="header" patternFilePath="templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWUfuUEd6-V5xjQsdIkw.pt"/>
+          <methods xmi:id="_eKJWUvuUEd6-V5xjQsdIkw" name="init" patternFilePath="templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWUvuUEd6-V5xjQsdIkw.pt"/>
+          <methods xmi:id="_eKJWU_uUEd6-V5xjQsdIkw" name="body" patternFilePath="templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWU_uUEd6-V5xjQsdIkw.pt"/>
+          <methods xmi:id="_eKJWVPuUEd6-V5xjQsdIkw" name="footer" patternFilePath="templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWVPuUEd6-V5xjQsdIkw.pt"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_eKJWVfuUEd6-V5xjQsdIkw"
+              called="#_eKJWU_uUEd6-V5xjQsdIkw"/>
+          <orchestration xmi:type="pattern:BackCall" xmi:id="_nxAykf64Ed6-wtqQkH9CMw"/>
+          <parameters xmi:id="_q3yGkPuUEd6-V5xjQsdIkw" name="parameter" type="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_eKJWVvuUEd6-V5xjQsdIkw"
+              name="JET"/>
+        </elements>
+      </libraries>
+    </viewpoints>
+  </viewpointContainer>
+  <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_OSANYOWlEd60Qvosup1c6Q">
+    <invocations xmi:id="_e4U3MAHEEd-Y9ZZNa95dIg" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_8FZ3aof6eEd64XYPo3s6sPg">
+      <invocationContractContainer xmi:id="_jj7qsAHEEd-Y9ZZNa95dIg">
+        <invocationContracts xmi:id="_j1FsIAHEEd-Y9ZZNa95dIg" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg">
+          <type xmi:type="domain:TypeDomainURI" xmi:id="_mwKWIAHEEd-Y9ZZNa95dIg" domain="#_YptT8OWYEd6IuMdAhwYvKg"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_n257wAHEEd-Y9ZZNa95dIg" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">
+          <type xmi:type="pattern:TypePatternList" xmi:id="_WVH1sCHyEd-V4KH4GeEy-w"
+              elements="#_dHixMOWYEd6IuMdAhwYvKg"/>
+        </invocationContracts>
+      </invocationContractContainer>
+    </invocations>
+  </orchestration>
+</fcore:FactoryComponent>
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/generated/myLib/attributePattern.java b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/generated/myLib/attributePattern.java
new file mode 100644
index 0000000..815018a
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/generated/myLib/attributePattern.java
@@ -0,0 +1,100 @@
+package myLib;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class attributePattern 
+{
+  protected static String nl;
+  public static synchronized attributePattern create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    attributePattern result = new attributePattern();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = NL;
+  protected final String TEXT_2 = NL;
+  protected final String TEXT_3 = NL;
+
+	public attributePattern()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    
+List<Object> parameterList = null;
+//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+
+for (Object parameterParameter : parameterList ) {
+
+this.parameter = (org.eclipse.emf.ecore.EAttribute)parameterParameter;
+
+
+    orchestration(ctx);
+    
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();
+}
+    
+    stringBuffer.append(TEXT_2);
+    stringBuffer.append(TEXT_3);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+method_body(ictx.getBuffer(), ictx);
+    {
+final Map<String, Object> parameters = new HashMap<String, Object>();
+index = ictx.getBuffer().length();
+ictx.getExecutionBuffer().append(ictx.getBuffer());
+parameters.put("parameter", this.parameter);
+CallbackContext ctx_callback = new CallbackContext(ictx);
+CallHelper.callBack(ctx_callback, parameters);
+}
+
+    
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+    Map<String, Object> parameterValues = new HashMap<String, Object>();
+    parameterValues.put("parameter", this.parameter);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+    ictx.clearBuffer();}
+return loop;
+} 
+
+protected org.eclipse.emf.ecore.EAttribute parameter = null;
+public void set_parameter(org.eclipse.emf.ecore.EAttribute object) {
+this.parameter = object;
+}
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append("attribute "+parameter.getName());
+    stringBuffer.append(TEXT_1);
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/generated/myLib/classPattern.java b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/generated/myLib/classPattern.java
new file mode 100644
index 0000000..fd7b4e7
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/generated/myLib/classPattern.java
@@ -0,0 +1,100 @@
+package myLib;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class classPattern 
+{
+  protected static String nl;
+  public static synchronized classPattern create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    classPattern result = new classPattern();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = NL;
+  protected final String TEXT_2 = NL;
+  protected final String TEXT_3 = NL;
+
+	public classPattern()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    
+List<Object> parameterList = null;
+//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+
+for (Object parameterParameter : parameterList ) {
+
+this.parameter = (org.eclipse.emf.ecore.EClass)parameterParameter;
+
+
+    orchestration(ctx);
+    
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();
+}
+    
+    stringBuffer.append(TEXT_2);
+    stringBuffer.append(TEXT_3);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+method_body(ictx.getBuffer(), ictx);
+    {
+final Map<String, Object> parameters = new HashMap<String, Object>();
+index = ictx.getBuffer().length();
+ictx.getExecutionBuffer().append(ictx.getBuffer());
+parameters.put("parameter", this.parameter);
+CallbackContext ctx_callback = new CallbackContext(ictx);
+CallHelper.callBack(ctx_callback, parameters);
+}
+
+    
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+    Map<String, Object> parameterValues = new HashMap<String, Object>();
+    parameterValues.put("parameter", this.parameter);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+    ictx.clearBuffer();}
+return loop;
+} 
+
+protected org.eclipse.emf.ecore.EClass parameter = null;
+public void set_parameter(org.eclipse.emf.ecore.EClass object) {
+this.parameter = object;
+}
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append("class "+parameter.getName());
+    stringBuffer.append(TEXT_1);
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/generated/myLib/packagePattern.java b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/generated/myLib/packagePattern.java
new file mode 100644
index 0000000..fe09820
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/generated/myLib/packagePattern.java
@@ -0,0 +1,100 @@
+package myLib;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class packagePattern 
+{
+  protected static String nl;
+  public static synchronized packagePattern create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    packagePattern result = new packagePattern();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = NL;
+  protected final String TEXT_2 = NL;
+  protected final String TEXT_3 = NL;
+
+	public packagePattern()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    
+List<Object> parameterList = null;
+//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+
+for (Object parameterParameter : parameterList ) {
+
+this.parameter = (org.eclipse.emf.ecore.EPackage)parameterParameter;
+
+
+    orchestration(ctx);
+    
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();
+}
+    
+    stringBuffer.append(TEXT_2);
+    stringBuffer.append(TEXT_3);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+method_body(ictx.getBuffer(), ictx);
+    {
+final Map<String, Object> parameters = new HashMap<String, Object>();
+index = ictx.getBuffer().length();
+ictx.getExecutionBuffer().append(ictx.getBuffer());
+parameters.put("parameter", this.parameter);
+CallbackContext ctx_callback = new CallbackContext(ictx);
+CallHelper.callBack(ctx_callback, parameters);
+}
+
+    
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+    Map<String, Object> parameterValues = new HashMap<String, Object>();
+    parameterValues.put("parameter", this.parameter);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+    ictx.clearBuffer();}
+return loop;
+} 
+
+protected org.eclipse.emf.ecore.EPackage parameter = null;
+public void set_parameter(org.eclipse.emf.ecore.EPackage object) {
+this.parameter = object;
+}
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append("package "+parameter.getName());
+    stringBuffer.append(TEXT_1);
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/model/mypackage.ecore b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/model/mypackage.ecore
new file mode 100644
index 0000000..6b94da3
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/model/mypackage.ecore
@@ -0,0 +1,15 @@
+<?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="mypackage"
+    nsURI="http://mypackage" nsPrefix="mypackage">
+  <eClassifiers xsi:type="ecore:EClass" name="Employee">
+    <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="Company">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="employees" upperBound="-1"
+        eType="#//Employee" containment="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Test"/>
+</ecore:EPackage>
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/model/mypackage.genmodel b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/model/mypackage.genmodel
new file mode 100644
index 0000000..e3f7479
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/model/mypackage.genmodel
@@ -0,0 +1,18 @@
+<?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" modelDirectory="/pipo/src"
+    modelPluginID="pipo" modelName="Mypackage" importerID="org.eclipse.emf.importer.ecore"
+    complianceLevel="6.0" copyrightFields="false">
+  <foreignModel>mypackage.ecore</foreignModel>
+  <genPackages prefix="Mypackage" disposableProviderFactory="true" ecorePackage="mypackage.ecore#/">
+    <genClasses ecoreClass="mypackage.ecore#//Employee">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mypackage.ecore#//Employee/name"/>
+    </genClasses>
+    <genClasses ecoreClass="mypackage.ecore#//Company">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mypackage.ecore#//Company/name"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference mypackage.ecore#//Company/employees"/>
+    </genClasses>
+    <genClasses ecoreClass="mypackage.ecore#//Test"/>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/plugin.xml b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/plugin.xml
new file mode 100644
index 0000000..1774697
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/plugin.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+
+   <extension
+         point="org.eclipse.egf.core.fcore">
+      <fcore
+            id="default.fcore">
+      </fcore>
+   </extension>
+
+</plugin>
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/src/strategy/Activator.java b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/src/strategy/Activator.java
new file mode 100644
index 0000000..01f2ff0
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/src/strategy/Activator.java
@@ -0,0 +1,50 @@
+package strategy;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "Strategy";
+
+	// The shared instance
+	private static Activator plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._Pd58YPw5Ed6HzKUlOQ0ZSA/method._Pd58Y_w5Ed6HzKUlOQ0ZSA.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._Pd58YPw5Ed6HzKUlOQ0ZSA/method._Pd58Y_w5Ed6HzKUlOQ0ZSA.pt
new file mode 100644
index 0000000..d9f5aae
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._Pd58YPw5Ed6HzKUlOQ0ZSA/method._Pd58Y_w5Ed6HzKUlOQ0ZSA.pt
@@ -0,0 +1 @@
+<%="overloaded class "+parameter.getName()%>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._Pd58YPw5Ed6HzKUlOQ0ZSA/method._Pd58Yfw5Ed6HzKUlOQ0ZSA.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._Pd58YPw5Ed6HzKUlOQ0ZSA/method._Pd58Yfw5Ed6HzKUlOQ0ZSA.pt
new file mode 100644
index 0000000..38a2d85
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._Pd58YPw5Ed6HzKUlOQ0ZSA/method._Pd58Yfw5Ed6HzKUlOQ0ZSA.pt
@@ -0,0 +1 @@
+<%@ jet package="myLib" class="parentClassPattern" imports="java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._Pd58YPw5Ed6HzKUlOQ0ZSA/method._Pd58Yvw5Ed6HzKUlOQ0ZSA.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._Pd58YPw5Ed6HzKUlOQ0ZSA/method._Pd58Yvw5Ed6HzKUlOQ0ZSA.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._Pd58YPw5Ed6HzKUlOQ0ZSA/method._Pd58Yvw5Ed6HzKUlOQ0ZSA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._Pd58YPw5Ed6HzKUlOQ0ZSA/method._Pd58ZPw5Ed6HzKUlOQ0ZSA.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._Pd58YPw5Ed6HzKUlOQ0ZSA/method._Pd58ZPw5Ed6HzKUlOQ0ZSA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._Pd58YPw5Ed6HzKUlOQ0ZSA/method._Pd58ZPw5Ed6HzKUlOQ0ZSA.pt
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzMnw_uUEd6-V5xjQsdIkw.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzMnw_uUEd6-V5xjQsdIkw.pt
new file mode 100644
index 0000000..6b3a106
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzMnw_uUEd6-V5xjQsdIkw.pt
@@ -0,0 +1,3 @@
+<%="class "+parameter.getName()%>
+
+
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzMnwfuUEd6-V5xjQsdIkw.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzMnwfuUEd6-V5xjQsdIkw.pt
new file mode 100644
index 0000000..de508d2
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzMnwfuUEd6-V5xjQsdIkw.pt
@@ -0,0 +1 @@
+<%@ jet package="myLib" class="classPattern" imports="java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzMnwvuUEd6-V5xjQsdIkw.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzMnwvuUEd6-V5xjQsdIkw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzMnwvuUEd6-V5xjQsdIkw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzNO0PuUEd6-V5xjQsdIkw.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzNO0PuUEd6-V5xjQsdIkw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._RzMnwPuUEd6-V5xjQsdIkw/method._RzNO0PuUEd6-V5xjQsdIkw.pt
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajU_uUEd6-V5xjQsdIkw.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajU_uUEd6-V5xjQsdIkw.pt
new file mode 100644
index 0000000..ac2c2c5
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajU_uUEd6-V5xjQsdIkw.pt
@@ -0,0 +1,3 @@
+<%="attribute "+parameter.getName()%>
+
+
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajUfuUEd6-V5xjQsdIkw.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajUfuUEd6-V5xjQsdIkw.pt
new file mode 100644
index 0000000..45b1e4e
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajUfuUEd6-V5xjQsdIkw.pt
@@ -0,0 +1 @@
+<%@ jet package="myLib" class="attributePattern" imports="java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajUvuUEd6-V5xjQsdIkw.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajUvuUEd6-V5xjQsdIkw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajUvuUEd6-V5xjQsdIkw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajVPuUEd6-V5xjQsdIkw.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajVPuUEd6-V5xjQsdIkw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._X0ajUPuUEd6-V5xjQsdIkw/method._X0ajVPuUEd6-V5xjQsdIkw.pt
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWU_uUEd6-V5xjQsdIkw.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWU_uUEd6-V5xjQsdIkw.pt
new file mode 100644
index 0000000..050c18c
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWU_uUEd6-V5xjQsdIkw.pt
@@ -0,0 +1,3 @@
+<%="package "+parameter.getName()%>
+
+
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWUfuUEd6-V5xjQsdIkw.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWUfuUEd6-V5xjQsdIkw.pt
new file mode 100644
index 0000000..279cfc7
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWUfuUEd6-V5xjQsdIkw.pt
@@ -0,0 +1 @@
+<%@ jet package="myLib" class="packagePattern" imports="java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWUvuUEd6-V5xjQsdIkw.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWUvuUEd6-V5xjQsdIkw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWUvuUEd6-V5xjQsdIkw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWVPuUEd6-V5xjQsdIkw.pt b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWVPuUEd6-V5xjQsdIkw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.strategy.modeldriven/templates/pattern._eKJWUPuUEd6-V5xjQsdIkw/method._eKJWVPuUEd6-V5xjQsdIkw.pt
diff --git a/examples/runtime/org.eclipse.egf.example.task.h1/.classpath b/examples/runtime/org.eclipse.egf.example.task.h1/.classpath
new file mode 100644
index 0000000..2d1a430
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h1/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<classpath>

+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>

+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

+	<classpathentry kind="src" path="src"/>

+	<classpathentry kind="output" path="bin"/>

+</classpath>

diff --git a/examples/runtime/org.eclipse.egf.example.task.h1/.project b/examples/runtime/org.eclipse.egf.example.task.h1/.project
new file mode 100644
index 0000000..0108785
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h1/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>org.eclipse.egf.example.task.h1</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

+			<name>org.eclipse.jdt.core.javabuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

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

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

+	</natures>

+</projectDescription>

diff --git a/examples/runtime/org.eclipse.egf.example.task.h1/.settings/org.eclipse.jdt.core.prefs b/examples/runtime/org.eclipse.egf.example.task.h1/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..60cc79a
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h1/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Mon Sep 14 17:43:13 CEST 2009

+eclipse.preferences.version=1

+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled

+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5

+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

+org.eclipse.jdt.core.compiler.compliance=1.5

+org.eclipse.jdt.core.compiler.debug.lineNumber=generate

+org.eclipse.jdt.core.compiler.debug.localVariable=generate

+org.eclipse.jdt.core.compiler.debug.sourceFile=generate

+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error

+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error

+org.eclipse.jdt.core.compiler.source=1.5

diff --git a/examples/runtime/org.eclipse.egf.example.task.h1/META-INF/MANIFEST.MF b/examples/runtime/org.eclipse.egf.example.task.h1/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..5d81fed
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h1/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.egf.example.task.h1;singleton:=true
+Bundle-Activator: org.eclipse.egf.example.task.h1.Activator
+Bundle-Version: 0.2.2.qualifier
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-ClassPath: .
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: 
+ org.eclipse.egf.model.ftask
+Export-Package: 
+ org.eclipse.egf.example.task.h1
+Bundle-ActivationPolicy: lazy
diff --git a/examples/runtime/org.eclipse.egf.example.task.h1/build.properties b/examples/runtime/org.eclipse.egf.example.task.h1/build.properties
new file mode 100644
index 0000000..ea315fe
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h1/build.properties
@@ -0,0 +1,7 @@
+bin.includes = META-INF/,\

+               .,\

+               plugin.properties,\

+               task_h1.fcore,\

+               plugin.xml

+source.. = src/

+output.. = bin/

diff --git a/examples/runtime/org.eclipse.egf.example.task.h1/plugin.properties b/examples/runtime/org.eclipse.egf.example.task.h1/plugin.properties
new file mode 100644
index 0000000..0cbba56
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h1/plugin.properties
@@ -0,0 +1,13 @@
+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+

+pluginName=EGF Test Task H1 (Incubation)

+providerName=Eclipse Modeling Project

diff --git a/examples/runtime/org.eclipse.egf.example.task.h1/plugin.xml b/examples/runtime/org.eclipse.egf.example.task.h1/plugin.xml
new file mode 100644
index 0000000..01942c2
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h1/plugin.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?eclipse version="3.2"?>

+<plugin>

+

+  <extension

+        point="org.eclipse.egf.core.fcore">

+     <fcore

+           id="task_h1.fcore">

+     </fcore>

+  </extension>

+

+

+</plugin>

diff --git a/examples/runtime/org.eclipse.egf.example.task.h1/src/org/eclipse/egf/example/task/h1/Activator.java b/examples/runtime/org.eclipse.egf.example.task.h1/src/org/eclipse/egf/example/task/h1/Activator.java
new file mode 100644
index 0000000..b5adb4a
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h1/src/org/eclipse/egf/example/task/h1/Activator.java
@@ -0,0 +1,60 @@
+package org.eclipse.egf.example.task.h1;

+

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

+import org.eclipse.egf.common.activator.EGFAbstractPlugin;

+import org.osgi.framework.Bundle;

+import org.osgi.framework.BundleContext;

+

+/**

+ * The activator class controls the plug-in life cycle

+ */

+public class Activator extends EGFAbstractPlugin {

+

+  // The shared instance

+  private static Activator plugin;

+

+  /*

+   * (non-Javadoc)

+   * 

+   * @see

+   * 

+   * 

+   * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext

+   * )

+   */

+  @Override

+  public void start(BundleContext context) throws Exception {

+    super.start(context);

+    plugin = this;

+    logInfo("org.eclipse.egf.example.task.h1 is starting"); //$NON-NLS-1$

+  }

+

+  /*

+   * (non-Javadoc)

+   * 

+   * @see

+   * 

+   * 

+   * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext

+   * )

+   */

+  @Override

+  public void stop(BundleContext context) throws Exception {

+    Bundle bundle = Platform.getBundle("org.eclipse.swt"); //$NON-NLS-1$

+    if (bundle.getState() == Bundle.ACTIVE) {

+      logInfo("org.eclipse.egf.example.task.h1 is stopping"); //$NON-NLS-1$

+    }

+    plugin = null;

+    super.stop(context);

+  }

+

+  /**

+   * Returns the shared instance

+   * 

+   * @return the shared instance

+   */

+  public static Activator getDefault() {

+    return plugin;

+  }

+

+}

diff --git a/examples/runtime/org.eclipse.egf.example.task.h1/src/org/eclipse/egf/example/task/h1/H1.java b/examples/runtime/org.eclipse.egf.example.task.h1/src/org/eclipse/egf/example/task/h1/H1.java
new file mode 100644
index 0000000..8ef1f86
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h1/src/org/eclipse/egf/example/task/h1/H1.java
@@ -0,0 +1,39 @@
+package org.eclipse.egf.example.task.h1;

+

+import java.util.Collection;

+

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

+import org.eclipse.egf.core.producer.InvocationException;

+import org.eclipse.egf.ftask.producer.context.ITaskProductionContext;

+import org.eclipse.egf.ftask.producer.invocation.ITaskProduction;

+import org.eclipse.emf.codegen.ecore.generator.GeneratorAdapterFactory;

+import org.eclipse.emf.codegen.ecore.genmodel.generator.GenModelGeneratorAdapterFactory;

+

+public class H1 implements ITaskProduction {

+

+  private Integer quantity;

+

+  private Float price;

+

+  private Float amount;

+

+  private Collection<String> parameters;

+

+  @SuppressWarnings("unchecked")

+  public void preExecute(final ITaskProductionContext context, final IProgressMonitor monitor) throws InvocationException {

+    quantity = context.getInputValue("quantity", Integer.class); //$NON-NLS-1$

+    price = context.getInputValue("price", Float.class); //$NON-NLS-1$

+    parameters = context.getInputValue("parameters", Collection.class); //$NON-NLS-1$

+    context.getOutputValue("generatorAdapterFactory", GeneratorAdapterFactory.class); //$NON-NLS-1$       

+  }

+

+  public void doExecute(final ITaskProductionContext context, final IProgressMonitor monitor) throws InvocationException {

+    amount = quantity * price;

+  }

+

+  public void postExecute(final ITaskProductionContext context, final IProgressMonitor monitor) throws InvocationException {

+    context.setOutputValue("amount", amount); //$NON-NLS-1$       

+    context.setOutputValue("generatorAdapterFactory", new GenModelGeneratorAdapterFactory()); //$NON-NLS-1$

+  }

+

+}

diff --git a/examples/runtime/org.eclipse.egf.example.task.h1/task_h1.fcore b/examples/runtime/org.eclipse.egf.example.task.h1/task_h1.fcore
new file mode 100644
index 0000000..5392aeb
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h1/task_h1.fcore
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<ftask:Task xmi:version="2.1"

+    xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask"

+    xmlns:types="http://www.eclipse.org/egf/1.0.0/types" xmi:id="1Zvd4LdCEd6AWpPtW_wFiQ"

+    description="" name="H1" kind="java" implementation="org.eclipse.egf.example.task.h1.H1">

+  <contractContainer xmi:id="_sAEVUbpOEd6O-6ob3O13Lw">

+    <contracts xmi:id="_sZPqULpOEd6O-6ob3O13Lw" name="quantity">

+      <type xmi:type="types:TypeInteger" xmi:id="_wO9-sLpOEd6O-6ob3O13Lw" value="100"/>

+    </contracts>

+    <contracts xmi:id="_5TrVYMBtEd60u-W6Ywx4cQ" name="rebate">

+      <type xmi:type="types:TypeFloat" xmi:id="_7dzqoMBtEd60u-W6Ywx4cQ" value="5.0"/>

+    </contracts>

+    <contracts xmi:id="_xfSXELpOEd6O-6ob3O13Lw" name="price" mode="In_Out">

+      <type xmi:type="types:TypeFloat" xmi:id="_y0EYsLpOEd6O-6ob3O13Lw" value="10.5"/>

+    </contracts>

+    <contracts xmi:id="_2vwLILpOEd6O-6ob3O13Lw" name="amount" mode="Out">

+      <type xmi:type="types:TypeFloat" xmi:id="_5M9NYLpOEd6O-6ob3O13Lw"/>

+    </contracts>

+    <contracts xmi:id="_PFOYwbshEd6hlL3ru-eQtQ" name="generatorAdapterFactory" mode="Out">

+      <type xmi:type="types:TypeGeneratorAdapterFactory" xmi:id="_PsaUkLshEd6hlL3ru-eQtQ"

+          value="org.eclipse.emf.codegen.ecore.genmodel.generator.GenModelGeneratorAdapterFactory"/>

+    </contracts>

+    <contracts xmi:id="_l2A5kdT3Ed6Pk6ruhJpBtQ" name="parameters">

+      <type xmi:type="types:TypeCollection" xmi:id="_D-EkIdW6Ed6dzvinGX1cMA" value="java.util.ArrayList"/>

+    </contracts>

+    <contracts xmi:id="_cu1e0d5cEd6JPoD-K_4SPg" name="collection">

+      <type xmi:type="types:TypeCollection" xmi:id="_dHku8N5cEd6JPoD-K_4SPg" value="org.eclipse.emf.common.util.BasicEList"/>

+    </contracts>

+  </contractContainer>

+</ftask:Task>

diff --git a/examples/runtime/org.eclipse.egf.example.task.h2/.classpath b/examples/runtime/org.eclipse.egf.example.task.h2/.classpath
new file mode 100644
index 0000000..2d1a430
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h2/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<classpath>

+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>

+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

+	<classpathentry kind="src" path="src"/>

+	<classpathentry kind="output" path="bin"/>

+</classpath>

diff --git a/examples/runtime/org.eclipse.egf.example.task.h2/.project b/examples/runtime/org.eclipse.egf.example.task.h2/.project
new file mode 100644
index 0000000..f2c7800
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h2/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>org.eclipse.egf.example.task.h2</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

+			<name>org.eclipse.jdt.core.javabuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

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

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

+	</natures>

+</projectDescription>

diff --git a/examples/runtime/org.eclipse.egf.example.task.h2/.settings/org.eclipse.jdt.core.prefs b/examples/runtime/org.eclipse.egf.example.task.h2/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..58372dd
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h2/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Thu Sep 17 13:53:15 CEST 2009

+eclipse.preferences.version=1

+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled

+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5

+org.eclipse.jdt.core.compiler.compliance=1.5

+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error

+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error

+org.eclipse.jdt.core.compiler.source=1.5

diff --git a/examples/runtime/org.eclipse.egf.example.task.h2/META-INF/MANIFEST.MF b/examples/runtime/org.eclipse.egf.example.task.h2/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f03ec19
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h2/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.egf.example.task.h2;singleton:=true
+Bundle-Activator: org.eclipse.egf.example.task.h2.Activator
+Bundle-Version: 0.2.2.qualifier
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-ClassPath: .
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: 
+ org.eclipse.egf.common.ui,
+ org.eclipse.egf.model.ftask
+Export-Package: 
+ org.eclipse.egf.example.task.h2
+Bundle-ActivationPolicy: lazy
diff --git a/examples/runtime/org.eclipse.egf.example.task.h2/build.properties b/examples/runtime/org.eclipse.egf.example.task.h2/build.properties
new file mode 100644
index 0000000..c6a3c18
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h2/build.properties
@@ -0,0 +1,7 @@
+bin.includes = META-INF/,\

+               .,\

+               plugin.properties,\

+               task_h2.fcore,\

+               plugin.xml

+source.. = src/

+output.. = bin/

diff --git a/examples/runtime/org.eclipse.egf.example.task.h2/plugin.properties b/examples/runtime/org.eclipse.egf.example.task.h2/plugin.properties
new file mode 100644
index 0000000..7a17bb3
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h2/plugin.properties
@@ -0,0 +1,13 @@
+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+

+pluginName=EGF Test Task H2 (Incubation)

+providerName=Eclipse Modeling Project

diff --git a/examples/runtime/org.eclipse.egf.example.task.h2/plugin.xml b/examples/runtime/org.eclipse.egf.example.task.h2/plugin.xml
new file mode 100644
index 0000000..6895155
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h2/plugin.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?eclipse version="3.2"?>

+<plugin>

+

+   <extension

+         point="org.eclipse.egf.core.fcore">

+      <fcore

+            id="task_h2.fcore">

+      </fcore>

+   </extension>

+

+</plugin>

diff --git a/examples/runtime/org.eclipse.egf.example.task.h2/src/org/eclipse/egf/example/task/h2/Activator.java b/examples/runtime/org.eclipse.egf.example.task.h2/src/org/eclipse/egf/example/task/h2/Activator.java
new file mode 100644
index 0000000..cb0e509
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h2/src/org/eclipse/egf/example/task/h2/Activator.java
@@ -0,0 +1,48 @@
+package org.eclipse.egf.example.task.h2;

+

+import org.eclipse.egf.common.ui.activator.EGFAbstractUIPlugin;

+import org.eclipse.ui.PlatformUI;

+import org.osgi.framework.BundleContext;

+

+/**

+ * The activator class controls the plug-in life cycle

+ */

+public class Activator extends EGFAbstractUIPlugin {

+

+	// The shared instance

+	private static Activator plugin;

+

+	/*

+	 * (non-Javadoc)

+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)

+	 */

+	@Override

+	public void start(BundleContext context) throws Exception {

+		super.start(context);

+		plugin = this;

+		logInfo("org.eclipse.egf.example.task.h2 is starting"); //$NON-NLS-1$		

+	}

+

+	/*

+	 * (non-Javadoc)

+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)

+	 */

+	@Override

+	public void stop(BundleContext context) throws Exception {

+		if (PlatformUI.isWorkbenchRunning()) {

+			logInfo("org.eclipse.egf.example.task.h2 is stopping"); //$NON-NLS-1$

+		}

+		plugin = null;

+		super.stop(context);

+	}

+

+	/**

+	 * Returns the shared instance

+	 *

+	 * @return the shared instance

+	 */

+	public static Activator getDefault() {

+		return plugin;

+	}

+

+}

diff --git a/examples/runtime/org.eclipse.egf.example.task.h2/src/org/eclipse/egf/example/task/h2/H2.java b/examples/runtime/org.eclipse.egf.example.task.h2/src/org/eclipse/egf/example/task/h2/H2.java
new file mode 100644
index 0000000..b247632
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h2/src/org/eclipse/egf/example/task/h2/H2.java
@@ -0,0 +1,23 @@
+package org.eclipse.egf.example.task.h2;

+

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

+import org.eclipse.egf.core.EGFCorePlugin;

+import org.eclipse.egf.core.producer.InvocationException;

+import org.eclipse.egf.ftask.producer.context.ITaskProductionContext;

+import org.eclipse.egf.ftask.producer.invocation.ITaskProduction;

+

+public class H2 implements ITaskProduction {

+

+  public void preExecute(final ITaskProductionContext productionContext, final IProgressMonitor monitor_p) throws InvocationException {

+    EGFCorePlugin.getDefault().logInfo("preExecute H2"); //$NON-NLS-1$

+  }

+

+  public void doExecute(final ITaskProductionContext productionContext, final IProgressMonitor monitor_p) throws InvocationException {

+    throw new InvocationException("I'm a task who raised an exception"); //$NON-NLS-1$

+  }

+

+  public void postExecute(final ITaskProductionContext productionContext, final IProgressMonitor monitor_p) throws InvocationException {

+    EGFCorePlugin.getDefault().logInfo("postExecute H2"); //$NON-NLS-1$	  		  

+  }

+

+}

diff --git a/examples/runtime/org.eclipse.egf.example.task.h2/task_h2.fcore b/examples/runtime/org.eclipse.egf.example.task.h2/task_h2.fcore
new file mode 100644
index 0000000..f1d4bde
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.example.task.h2/task_h2.fcore
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<ftask:Task xmi:version="2.1"

+    xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask" xmi:id="9hT-gKbGEd69ANF1SOWYYg"

+    name="H2" kind="java" implementation="org.eclipse.egf.example.task.h2.H2"/>

diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/.classpath b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/.classpath
new file mode 100644
index 0000000..45f024e
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<classpath>

+	<classpathentry kind="src" path="src"/>

+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>

+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

+	<classpathentry kind="output" path="bin"/>

+</classpath>

diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/.project b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/.project
new file mode 100644
index 0000000..6d9ad86
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>org.eclipse.egf.usecase.fc.uc1</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

+			<name>org.eclipse.egf.pattern.ui.PatternBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.eclipse.jdt.core.javabuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

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

+		<nature>org.eclipse.egf.core.EGFNature</nature>

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

+	</natures>

+</projectDescription>

diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/.settings/org.eclipse.core.resources.prefs b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..7d6c2bd
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 25 11:51:02 CET 2010

+eclipse.preferences.version=1

+encoding/about.html=ISO-8859-1

diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/.settings/org.eclipse.jdt.core.prefs b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..99b905a
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Wed Jun 24 09:15:48 CEST 2009

+eclipse.preferences.version=1

+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled

+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5

+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

+org.eclipse.jdt.core.compiler.compliance=1.5

+org.eclipse.jdt.core.compiler.debug.lineNumber=generate

+org.eclipse.jdt.core.compiler.debug.localVariable=generate

+org.eclipse.jdt.core.compiler.debug.sourceFile=generate

+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error

+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error

+org.eclipse.jdt.core.compiler.source=1.5

diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/META-INF/MANIFEST.MF b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..7a0f146
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.egf.usecase.fc.uc1;singleton:=true
+Bundle-Version: 0.2.3.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: 
+ org.eclipse.egf.model.ftask;visibility:=reexport
+Export-Package: 
+ org.eclipse.egf.usecase.fc.uc1
+Bundle-ActivationPolicy: lazy 
diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/about.html b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/about.html
new file mode 100644
index 0000000..7e766fe
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/about.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>

+

+

+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

+<title>About</title>

+</head><body lang="EN-US">

+<h2>About This Content</h2>

+ 

+<p>June 5, 2007</p>	

+<h3>License</h3>

+

+<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 

+indicated below, the Content is provided to you under the terms and conditions of the

+Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 

+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.

+For purposes of the EPL, "Program" will mean the Content.</p>

+

+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 

+being redistributed by another party ("Redistributor") and different terms and conditions may

+apply to your use of any object code in the Content.  Check the Redistributor's license that was 

+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise

+indicated below, the terms and conditions of the EPL still apply to any source code in the Content

+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>

+

+</body></html>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/build.properties b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/build.properties
new file mode 100644
index 0000000..82e6b05
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/build.properties
@@ -0,0 +1,20 @@
+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+

+source.. = src/

+output.. = bin/

+bin.includes = META-INF/,\

+               .,\

+               egf/,\

+               plugin.properties,\

+               about.html,\

+               plugin.xml

+src.includes = about.html

diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_0_AllTogether.fcore b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_0_AllTogether.fcore
new file mode 100644
index 0000000..020c8fe
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_0_AllTogether.fcore
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<fcore:FactoryComponent xmi:version="2.0"

+    xmlns:xmi="http://www.omg.org/XMI" xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore"

+    xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod" xmi:id="_UaP9kBvVEd-W6L66jY5sHw"

+    name="UseCase - Factory Component - UC1 - All Together">

+  <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_aMiFQBvVEd-W6L66jY5sHw">

+    <invocations xmi:id="_azHkIBvVEd-W6L66jY5sHw" invokedActivity="fcore:FactoryComponent platform:/plugin/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_1_FCAndTask.fcore#_NTILsRuaEd-ffO4YhZA0ZQ"/>

+    <invocations xmi:id="_e4LVABvVEd-W6L66jY5sHw" invokedActivity="fcore:FactoryComponent platform:/plugin/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_2_FCWithContracts.fcore#_NHi_EBugEd-ffO4YhZA0ZQ"/>

+    <invocations xmi:id="_nl_xABvmEd-W6L66jY5sHw" invokedActivity="fcore:FactoryComponent platform:/plugin/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_3_FCPricer.fcore#_rPuYIBvjEd-W6L66jY5sHw"/>

+  </orchestration>

+</fcore:FactoryComponent>

diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_1_FCAndTask.fcore b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_1_FCAndTask.fcore
new file mode 100644
index 0000000..7133866
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_1_FCAndTask.fcore
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<xmi:XMI xmi:version="2.0"

+    xmlns:xmi="http://www.omg.org/XMI" xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore"

+    xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod" xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask"

+    xmlns:types="http://www.eclipse.org/egf/1.0.0/types">

+  <fcore:FactoryComponent xmi:id="_NTILsRuaEd-ffO4YhZA0ZQ" name="FC - UC1.1 - FC">

+    <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_PjN_ABuaEd-ffO4YhZA0ZQ">

+      <invocations xmi:id="_Uj7DUBubEd-ffO4YhZA0ZQ" invokedActivity="#_Q5pmcBuaEd-ffO4YhZA0ZQ"/>

+      <invocations xmi:id="_Zrmu0BubEd-ffO4YhZA0ZQ" invokedActivity="#_Q5pmcBuaEd-ffO4YhZA0ZQ">

+        <invocationContractContainer xmi:id="_btGFcBubEd-ffO4YhZA0ZQ">

+          <invocationContracts xmi:id="_cd0XwBubEd-ffO4YhZA0ZQ" invokedContract="#_KRvo4BubEd-ffO4YhZA0ZQ">

+            <type xmi:type="types:TypeString" xmi:id="_eT1eMBubEd-ffO4YhZA0ZQ" value="Folks"/>

+          </invocationContracts>

+        </invocationContractContainer>

+      </invocations>

+    </orchestration>

+  </fcore:FactoryComponent>

+  <ftask:Task xmi:id="_Q5pmcBuaEd-ffO4YhZA0ZQ" name="FC - UC1.1 - HelloWorldTask"

+      kind="java" implementation="org.eclipse.egf.usecase.fc.uc1.HelloWorld">

+    <contractContainer xmi:id="_Jyv_wBubEd-ffO4YhZA0ZQ">

+      <contracts xmi:id="_KRvo4BubEd-ffO4YhZA0ZQ" name="value">

+        <type xmi:type="types:TypeString" xmi:id="_OgDcYBubEd-ffO4YhZA0ZQ" value="World"/>

+      </contracts>

+    </contractContainer>

+  </ftask:Task>

+</xmi:XMI>

diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_2_FCWithContracts.fcore b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_2_FCWithContracts.fcore
new file mode 100644
index 0000000..e916e31
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_2_FCWithContracts.fcore
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<xmi:XMI xmi:version="2.0"

+    xmlns:xmi="http://www.omg.org/XMI" xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore"

+    xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod" xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask"

+    xmlns:types="http://www.eclipse.org/egf/1.0.0/types">

+  <fcore:FactoryComponent xmi:id="_NHi_EBugEd-ffO4YhZA0ZQ" name="FC - UC1.2 - FC with contracts">

+    <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_C2OuABulEd-iZpx-nITNvw">

+      <invocations xmi:id="_G-IXgBulEd-iZpx-nITNvw" invokedActivity="#_NTILsRuaEd-ffO4YhZA0ZQ">

+        <invocationContractContainer xmi:id="_J7OawBulEd-iZpx-nITNvw">

+          <invocationContracts xmi:id="_KbkHsBulEd-iZpx-nITNvw" invokedContract="#_b0jmEBugEd-ffO4YhZA0ZQ">

+            <type xmi:type="types:TypeString" xmi:id="_L1RFkBulEd-iZpx-nITNvw" value="Romeo and Juliet"/>

+          </invocationContracts>

+        </invocationContractContainer>

+      </invocations>

+    </orchestration>

+  </fcore:FactoryComponent>

+  <fcore:FactoryComponent xmi:id="_NTILsRuaEd-ffO4YhZA0ZQ" name="FC - UC1.2 - FC parameterized">

+    <contractContainer xmi:id="_bSIOcBugEd-ffO4YhZA0ZQ">

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_b0jmEBugEd-ffO4YhZA0ZQ"

+          name="who" invocationContracts="#_6UjIMBuhEd-ffO4YhZA0ZQ">

+        <type xmi:type="types:TypeString" xmi:id="_8gwroRuiEd-iZpx-nITNvw" value="undefined"/>

+      </contracts>

+    </contractContainer>

+    <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_PjN_ABuaEd-ffO4YhZA0ZQ">

+      <invocations xmi:id="_Uj7DUBubEd-ffO4YhZA0ZQ" name="Hello for Who Parameter"

+          invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_1_FCAndTask.fcore#_Q5pmcBuaEd-ffO4YhZA0ZQ">

+        <invocationContractContainer xmi:id="_5p7d4BuhEd-ffO4YhZA0ZQ">

+          <invocationContracts xmi:id="_6UjIMBuhEd-ffO4YhZA0ZQ" description="" factoryComponentContract="#_b0jmEBugEd-ffO4YhZA0ZQ"

+              invokedContract="platform:/plugin/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_1_FCAndTask.fcore#_KRvo4BubEd-ffO4YhZA0ZQ"/>

+        </invocationContractContainer>

+      </invocations>

+    </orchestration>

+  </fcore:FactoryComponent>

+</xmi:XMI>

diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_3_FCPricer.fcore b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_3_FCPricer.fcore
new file mode 100644
index 0000000..70af4ca
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/egf/FC_UC1_3_FCPricer.fcore
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<xmi:XMI xmi:version="2.0"

+    xmlns:xmi="http://www.omg.org/XMI" xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore"

+    xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod" xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask"

+    xmlns:types="http://www.eclipse.org/egf/1.0.0/types">

+  <fcore:FactoryComponent xmi:id="_rPuYIBvjEd-W6L66jY5sHw" name="FC - UC1.3 - FCPricer">

+    <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_uAJRUBvjEd-W6L66jY5sHw">

+      <invocations xmi:id="_uzs1MBvjEd-W6L66jY5sHw" invokedActivity="#_ni7LsBviEd-W6L66jY5sHw"/>

+      <invocations xmi:id="_zIGpoBvjEd-W6L66jY5sHw" invokedActivity="#_P_2ckBvaEd-W6L66jY5sHw"/>

+    </orchestration>

+  </fcore:FactoryComponent>

+  <fcore:FactoryComponent xmi:id="_ni7LsBviEd-W6L66jY5sHw" name="FC - UC1.3 - FCPricer - Version with Task call">

+    <contractContainer xmi:id="_ECwpYBvjEd-W6L66jY5sHw">

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_ECwpYRvjEd-W6L66jY5sHw"

+          name="quantity" mandatory="true" invocationContracts="#_Rlhq0BvjEd-W6L66jY5sHw #_ZWwygBvjEd-W6L66jY5sHw">

+        <type xmi:type="types:TypeInteger" xmi:id="_ECwpYhvjEd-W6L66jY5sHw" value="2"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_ECwpYxvjEd-W6L66jY5sHw"

+          name="price" mandatory="true" invocationContracts="#_UJSBABvjEd-W6L66jY5sHw #_bCfUgBvjEd-W6L66jY5sHw">

+        <type xmi:type="types:TypeFloat" xmi:id="_ECwpZBvjEd-W6L66jY5sHw" value="4.0"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_ECwpZRvjEd-W6L66jY5sHw"

+          name="amount" mode="Out">

+        <type xmi:type="types:TypeFloat" xmi:id="_ECwpZhvjEd-W6L66jY5sHw" value="0.0"/>

+      </contracts>

+    </contractContainer>

+    <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_ECwpZxvjEd-W6L66jY5sHw">

+      <invocations xmi:id="_ECwpaBvjEd-W6L66jY5sHw" invokedActivity="#_Si3L4BvaEd-W6L66jY5sHw">

+        <invocationContractContainer xmi:id="_RRQrABvjEd-W6L66jY5sHw">

+          <invocationContracts xmi:id="_Rlhq0BvjEd-W6L66jY5sHw" factoryComponentContract="#_ECwpYRvjEd-W6L66jY5sHw"

+              invokedContract="#_bvSfMBvaEd-W6L66jY5sHw"/>

+          <invocationContracts xmi:id="_UJSBABvjEd-W6L66jY5sHw" factoryComponentContract="#_ECwpYxvjEd-W6L66jY5sHw"

+              invokedContract="#_hllkMBvaEd-W6L66jY5sHw"/>

+          <invocationContracts xmi:id="_WSX0cBvjEd-W6L66jY5sHw" targetInvocationContract="#_dQfdIBvjEd-W6L66jY5sHw"

+              invokedContract="#_l5PxwBvaEd-W6L66jY5sHw"/>

+        </invocationContractContainer>

+      </invocations>

+      <invocations xmi:id="_ECwpbRvjEd-W6L66jY5sHw" invokedActivity="#_DZf4sBvdEd-W6L66jY5sHw">

+        <invocationContractContainer xmi:id="_Y_XmMBvjEd-W6L66jY5sHw">

+          <invocationContracts xmi:id="_ZWwygBvjEd-W6L66jY5sHw" factoryComponentContract="#_ECwpYRvjEd-W6L66jY5sHw"

+              invokedContract="#_PEwl8RvdEd-W6L66jY5sHw"/>

+          <invocationContracts xmi:id="_bCfUgBvjEd-W6L66jY5sHw" factoryComponentContract="#_ECwpYxvjEd-W6L66jY5sHw"

+              invokedContract="#_PEwl8xvdEd-W6L66jY5sHw"/>

+          <invocationContracts xmi:id="_dQfdIBvjEd-W6L66jY5sHw" sourceInvocationContract="#_WSX0cBvjEd-W6L66jY5sHw"

+              invokedContract="#_PEwl9RvdEd-W6L66jY5sHw"/>

+        </invocationContractContainer>

+      </invocations>

+    </orchestration>

+  </fcore:FactoryComponent>

+  <fcore:FactoryComponent xmi:id="_P_2ckBvaEd-W6L66jY5sHw" name="FC - UC1.3 - FCPricer - Version with FC call">

+    <contractContainer xmi:id="_sRw2MBveEd-W6L66jY5sHw">

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_sRw2MRveEd-W6L66jY5sHw"

+          name="quantity" mandatory="true" invocationContracts="#_IVHosBveEd-W6L66jY5sHw #_VjUvYBveEd-W6L66jY5sHw">

+        <type xmi:type="types:TypeInteger" xmi:id="_sRw2MhveEd-W6L66jY5sHw" value="3"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_sRw2MxveEd-W6L66jY5sHw"

+          name="price" mandatory="true" invocationContracts="#_LivbQBveEd-W6L66jY5sHw #_9gjdcBveEd-W6L66jY5sHw">

+        <type xmi:type="types:TypeFloat" xmi:id="_sRw2NBveEd-W6L66jY5sHw" value="5.0"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_sRw2NRveEd-W6L66jY5sHw"

+          name="amount" mode="Out">

+        <type xmi:type="types:TypeFloat" xmi:id="_sRw2NhveEd-W6L66jY5sHw" value="0.0"/>

+      </contracts>

+    </contractContainer>

+    <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_4pQz0BvdEd-W6L66jY5sHw">

+      <invocations xmi:id="_EnJiIBveEd-W6L66jY5sHw" invokedActivity="#_5AJKIBvaEd-W6L66jY5sHw">

+        <invocationContractContainer xmi:id="_H77soBveEd-W6L66jY5sHw">

+          <invocationContracts xmi:id="_IVHosBveEd-W6L66jY5sHw" factoryComponentContract="#_sRw2MRveEd-W6L66jY5sHw"

+              invokedContract="#_SiuzkBvbEd-W6L66jY5sHw"/>

+          <invocationContracts xmi:id="_LivbQBveEd-W6L66jY5sHw" factoryComponentContract="#_sRw2MxveEd-W6L66jY5sHw"

+              invokedContract="#_WrOS8BvbEd-W6L66jY5sHw"/>

+          <invocationContracts xmi:id="_OsWQgBveEd-W6L66jY5sHw" targetInvocationContract="#_Dcq2kBvfEd-W6L66jY5sHw"

+              invokedContract="#_evOloBvbEd-W6L66jY5sHw"/>

+        </invocationContractContainer>

+      </invocations>

+      <invocations xmi:id="_ScjLsBveEd-W6L66jY5sHw" invokedActivity="#_11YzcBvcEd-W6L66jY5sHw">

+        <invocationContractContainer xmi:id="_VELVQBveEd-W6L66jY5sHw">

+          <invocationContracts xmi:id="_VjUvYBveEd-W6L66jY5sHw" factoryComponentContract="#_sRw2MRveEd-W6L66jY5sHw"

+              invokedContract="#_5360wBvcEd-W6L66jY5sHw"/>

+          <invocationContracts xmi:id="_9gjdcBveEd-W6L66jY5sHw" factoryComponentContract="#_sRw2MxveEd-W6L66jY5sHw"

+              invokedContract="#_5360whvcEd-W6L66jY5sHw"/>

+          <invocationContracts xmi:id="_Dcq2kBvfEd-W6L66jY5sHw" sourceInvocationContract="#_OsWQgBveEd-W6L66jY5sHw"

+              invokedContract="#_5360xBvcEd-W6L66jY5sHw"/>

+        </invocationContractContainer>

+      </invocations>

+    </orchestration>

+  </fcore:FactoryComponent>

+  <fcore:FactoryComponent xmi:id="_5AJKIBvaEd-W6L66jY5sHw" name="FC - UC1.3 - FCPricer - Computation">

+    <contractContainer xmi:id="_9oNhcBvaEd-W6L66jY5sHw">

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_SiuzkBvbEd-W6L66jY5sHw"

+          name="quantity" mandatory="true" invocationContracts="#_qqlkYBvbEd-W6L66jY5sHw">

+        <type xmi:type="types:TypeInteger" xmi:id="_WRvb8BvbEd-W6L66jY5sHw" value="0"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_WrOS8BvbEd-W6L66jY5sHw"

+          name="price" mandatory="true" invocationContracts="#_vWFqMBvbEd-W6L66jY5sHw">

+        <type xmi:type="types:TypeFloat" xmi:id="_eJh3kBvbEd-W6L66jY5sHw" value="0.0"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_evOloBvbEd-W6L66jY5sHw"

+          name="amount" mandatory="true" mode="Out" invocationContracts="#_x7x6EBvbEd-W6L66jY5sHw">

+        <type xmi:type="types:TypeFloat" xmi:id="_iNPkoBvbEd-W6L66jY5sHw" value="0.0"/>

+      </contracts>

+    </contractContainer>

+    <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_m86_0BvbEd-W6L66jY5sHw">

+      <invocations xmi:id="_nmMmUBvbEd-W6L66jY5sHw" invokedActivity="#_Si3L4BvaEd-W6L66jY5sHw">

+        <invocationContractContainer xmi:id="_qWBpoBvbEd-W6L66jY5sHw">

+          <invocationContracts xmi:id="_qqlkYBvbEd-W6L66jY5sHw" factoryComponentContract="#_SiuzkBvbEd-W6L66jY5sHw"

+              invokedContract="#_bvSfMBvaEd-W6L66jY5sHw"/>

+          <invocationContracts xmi:id="_vWFqMBvbEd-W6L66jY5sHw" factoryComponentContract="#_WrOS8BvbEd-W6L66jY5sHw"

+              invokedContract="#_hllkMBvaEd-W6L66jY5sHw"/>

+          <invocationContracts xmi:id="_x7x6EBvbEd-W6L66jY5sHw" factoryComponentContract="#_evOloBvbEd-W6L66jY5sHw"

+              invokedContract="#_l5PxwBvaEd-W6L66jY5sHw"/>

+        </invocationContractContainer>

+      </invocations>

+    </orchestration>

+  </fcore:FactoryComponent>

+  <fcore:FactoryComponent xmi:id="_11YzcBvcEd-W6L66jY5sHw" name="FC - UC1.3 - FCPricer - Display">

+    <contractContainer xmi:id="_46-EUBvcEd-W6L66jY5sHw">

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_5360wBvcEd-W6L66jY5sHw"

+          name="quantity" mandatory="true" invocationContracts="#_UKfJoBvdEd-W6L66jY5sHw">

+        <type xmi:type="types:TypeInteger" xmi:id="_5360wRvcEd-W6L66jY5sHw" value="0"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_5360whvcEd-W6L66jY5sHw"

+          name="price" mandatory="true" invocationContracts="#_Wo4esBvdEd-W6L66jY5sHw">

+        <type xmi:type="types:TypeFloat" xmi:id="_5360wxvcEd-W6L66jY5sHw" value="0.0"/>

+      </contracts>

+      <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_5360xBvcEd-W6L66jY5sHw"

+          name="amount" mandatory="true" invocationContracts="#_YoSKoBvdEd-W6L66jY5sHw">

+        <type xmi:type="types:TypeFloat" xmi:id="_5360xRvcEd-W6L66jY5sHw" value="0.0"/>

+      </contracts>

+    </contractContainer>

+    <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_8qbYoBvcEd-W6L66jY5sHw">

+      <invocations xmi:id="_9XR3kBvcEd-W6L66jY5sHw" invokedActivity="#_DZf4sBvdEd-W6L66jY5sHw">

+        <invocationContractContainer xmi:id="_Ti2h4BvdEd-W6L66jY5sHw">

+          <invocationContracts xmi:id="_UKfJoBvdEd-W6L66jY5sHw" factoryComponentContract="#_5360wBvcEd-W6L66jY5sHw"

+              invokedContract="#_PEwl8RvdEd-W6L66jY5sHw"/>

+          <invocationContracts xmi:id="_Wo4esBvdEd-W6L66jY5sHw" factoryComponentContract="#_5360whvcEd-W6L66jY5sHw"

+              invokedContract="#_PEwl8xvdEd-W6L66jY5sHw"/>

+          <invocationContracts xmi:id="_YoSKoBvdEd-W6L66jY5sHw" factoryComponentContract="#_5360xBvcEd-W6L66jY5sHw"

+              invokedContract="#_PEwl9RvdEd-W6L66jY5sHw"/>

+        </invocationContractContainer>

+      </invocations>

+    </orchestration>

+  </fcore:FactoryComponent>

+  <ftask:Task xmi:id="_Si3L4BvaEd-W6L66jY5sHw" name="FC - UC1.3 - PricerComputerTask"

+      kind="java" implementation="org.eclipse.egf.usecase.fc.uc1.PricerComputation">

+    <contractContainer xmi:id="_bRMN8BvaEd-W6L66jY5sHw">

+      <contracts xmi:id="_bvSfMBvaEd-W6L66jY5sHw" name="quantity" mandatory="true">

+        <type xmi:type="types:TypeInteger" xmi:id="_hGTAIBvaEd-W6L66jY5sHw"/>

+      </contracts>

+      <contracts xmi:id="_hllkMBvaEd-W6L66jY5sHw" name="price" mandatory="true">

+        <type xmi:type="types:TypeFloat" xmi:id="_kZ430BvaEd-W6L66jY5sHw"/>

+      </contracts>

+      <contracts xmi:id="_l5PxwBvaEd-W6L66jY5sHw" name="amount" mandatory="true" mode="Out">

+        <type xmi:type="types:TypeFloat" xmi:id="_rGkyQBvaEd-W6L66jY5sHw"/>

+      </contracts>

+    </contractContainer>

+  </ftask:Task>

+  <ftask:Task xmi:id="_DZf4sBvdEd-W6L66jY5sHw" name="FC - UC1.3 - PricerDisplayTask"

+      kind="java" implementation="org.eclipse.egf.usecase.fc.uc1.PricerDisplay">

+    <contractContainer xmi:id="_PEwl8BvdEd-W6L66jY5sHw">

+      <contracts xmi:id="_PEwl8RvdEd-W6L66jY5sHw" name="quantity" mandatory="true">

+        <type xmi:type="types:TypeInteger" xmi:id="_PEwl8hvdEd-W6L66jY5sHw" value="0"/>

+      </contracts>

+      <contracts xmi:id="_PEwl8xvdEd-W6L66jY5sHw" name="price" mandatory="true">

+        <type xmi:type="types:TypeFloat" xmi:id="_PEwl9BvdEd-W6L66jY5sHw" value="0.0"/>

+      </contracts>

+      <contracts xmi:id="_PEwl9RvdEd-W6L66jY5sHw" name="amount" mandatory="true">

+        <type xmi:type="types:TypeFloat" xmi:id="_PEwl9hvdEd-W6L66jY5sHw" value="0.0"/>

+      </contracts>

+    </contractContainer>

+  </ftask:Task>

+</xmi:XMI>

diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/plugin.properties b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/plugin.properties
new file mode 100644
index 0000000..17a8198
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/plugin.properties
@@ -0,0 +1,13 @@
+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+

+pluginName=EGF Usecase Factory Component UC1 (Incubation)

+providerName=Eclipse Modeling Project

diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/plugin.xml b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/plugin.xml
new file mode 100644
index 0000000..9f18e40
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/plugin.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?eclipse version="3.2"?>

+<!--

+     Copyright (c) 2010 Thales Corporate Services S.A.S.

+     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:

+         Thales Corporate Services S.A.S - initial API and implementation

+ -->

+

+<plugin>

+   <extension

+         point="org.eclipse.egf.core.fcore">

+      <fcore

+            id="egf/FC_UC1_1_FCAndTask.fcore">

+      </fcore>

+      <fcore

+            id="egf/FC_UC1_2_FCWithContracts.fcore">

+      </fcore>

+      <fcore

+            id="egf/FC_UC1_0_AllTogether.fcore">

+      </fcore>

+      <fcore

+            id="egf/FC_UC1_3_FCPricer.fcore">

+      </fcore>

+   </extension>

+

+

+</plugin>

diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/src/org/eclipse/egf/usecase/fc/uc1/HelloWorld.java b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/src/org/eclipse/egf/usecase/fc/uc1/HelloWorld.java
new file mode 100644
index 0000000..fc9d160
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/src/org/eclipse/egf/usecase/fc/uc1/HelloWorld.java
@@ -0,0 +1,50 @@
+/**

+ * <copyright>

+ * 

+ * Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+ * 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:

+ * Thales Corporate Services S.A.S - initial API and implementation

+ * 

+ * </copyright>

+ */

+

+package org.eclipse.egf.usecase.fc.uc1;

+

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

+import org.eclipse.egf.core.EGFCorePlugin;

+import org.eclipse.egf.core.producer.InvocationException;

+import org.eclipse.egf.ftask.producer.context.ITaskProductionContext;

+import org.eclipse.egf.ftask.producer.invocation.ITaskProduction;

+

+/**

+ * @author Benoit Langlois

+ * 

+ */

+

+public class HelloWorld implements ITaskProduction {

+

+  private static final String VALUE_PARAMETER = "value"; //$NON-NLS-1$

+

+  public void preExecute(ITaskProductionContext taskProductionContext, IProgressMonitor monitor) throws InvocationException {

+    // TODO Auto-generated method stub

+  }

+

+  public void doExecute(ITaskProductionContext taskProductionContext, IProgressMonitor monitor) throws InvocationException {

+    String value = taskProductionContext.getInputValue(VALUE_PARAMETER, String.class);

+    String message = new String("Hello " + value + "!"); //$NON-NLS-1$ //$NON-NLS-2$

+    // Message on the default console

+    System.out.println(message);

+    // Message on the EGF console

+    EGFCorePlugin.getDefault().logInfo(message);

+  }

+

+  public void postExecute(ITaskProductionContext taskProductionContext, IProgressMonitor monitor) throws InvocationException {

+    // TODO Auto-generated method stub

+  }

+

+}

diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/src/org/eclipse/egf/usecase/fc/uc1/PricerComputation.java b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/src/org/eclipse/egf/usecase/fc/uc1/PricerComputation.java
new file mode 100644
index 0000000..1bb09ee
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/src/org/eclipse/egf/usecase/fc/uc1/PricerComputation.java
@@ -0,0 +1,53 @@
+/**

+ * <copyright>

+ * 

+ * Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+ * 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:

+ * Thales Corporate Services S.A.S - initial API and implementation

+ * 

+ * </copyright>

+ */

+

+package org.eclipse.egf.usecase.fc.uc1;

+

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

+import org.eclipse.egf.core.producer.InvocationException;

+import org.eclipse.egf.ftask.producer.context.ITaskProductionContext;

+import org.eclipse.egf.ftask.producer.invocation.ITaskProduction;

+

+/**

+ * @author Benoit Langlois

+ * 

+ */

+

+public class PricerComputation implements ITaskProduction {

+

+  private static final String PRICE_PARAMETER = "price"; //$NON-NLS-1$

+

+  private static final String QUANTITY_PARAMETER = "quantity"; //$NON-NLS-1$

+

+  private static final String AMOUNT_PARAMETER = "amount"; //$NON-NLS-1$

+

+  private Integer quantity;

+  private Float price;

+  private Float amount;

+

+  public void preExecute(ITaskProductionContext taskProductionContext, IProgressMonitor monitor) throws InvocationException {

+    quantity = taskProductionContext.getInputValue(QUANTITY_PARAMETER, Integer.class);

+    price = taskProductionContext.getInputValue(PRICE_PARAMETER, Float.class);

+  }

+

+  public void doExecute(ITaskProductionContext taskProductionContext, IProgressMonitor monitor) throws InvocationException {

+    amount = quantity * price;

+  }

+

+  public void postExecute(ITaskProductionContext taskProductionContext, IProgressMonitor monitor) throws InvocationException {

+    taskProductionContext.setOutputValue(AMOUNT_PARAMETER, amount);

+  }

+

+}

diff --git a/examples/runtime/org.eclipse.egf.usecase.fc.uc1/src/org/eclipse/egf/usecase/fc/uc1/PricerDisplay.java b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/src/org/eclipse/egf/usecase/fc/uc1/PricerDisplay.java
new file mode 100644
index 0000000..5b6e5c1
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.fc.uc1/src/org/eclipse/egf/usecase/fc/uc1/PricerDisplay.java
@@ -0,0 +1,63 @@
+/**

+ * <copyright>

+ * 

+ * Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+ * 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:

+ * Thales Corporate Services S.A.S - initial API and implementation

+ * 

+ * </copyright>

+ */

+

+package org.eclipse.egf.usecase.fc.uc1;

+

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

+import org.eclipse.egf.core.EGFCorePlugin;

+import org.eclipse.egf.core.producer.InvocationException;

+import org.eclipse.egf.ftask.producer.context.ITaskProductionContext;

+import org.eclipse.egf.ftask.producer.invocation.ITaskProduction;

+

+/**

+ * @author Benoit Langlois

+ * 

+ */

+

+public class PricerDisplay implements ITaskProduction {

+

+  private static final String PRICE_PARAMETER = "price"; //$NON-NLS-1$

+

+  private static final String QUANTITY_PARAMETER = "quantity"; //$NON-NLS-1$

+

+  private static final String AMOUNT_PARAMETER = "amount"; //$NON-NLS-1$

+

+  private Integer quantity;

+  private Float price;

+  private Float amount;

+

+  public void preExecute(ITaskProductionContext taskProductionContext, IProgressMonitor monitor) throws InvocationException {

+    // TODO Auto-generated method stub

+  }

+

+  public void doExecute(ITaskProductionContext taskProductionContext, IProgressMonitor monitor) throws InvocationException {

+    quantity = taskProductionContext.getInputValue(QUANTITY_PARAMETER, Integer.class);

+    price = taskProductionContext.getInputValue(PRICE_PARAMETER, Float.class);

+    amount = taskProductionContext.getInputValue(AMOUNT_PARAMETER, Float.class);

+

+    String message = new String("Pricer: " + quantity + " * " + price + " = " + amount); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$

+

+    // Message on the default console

+    System.out.println(message);

+

+    // Message on the EGF console

+    EGFCorePlugin.getDefault().logInfo(message);

+  }

+

+  public void postExecute(ITaskProductionContext taskProductionContext, IProgressMonitor monitor) throws InvocationException {

+    // TODO Auto-generated method stub

+  }

+

+}

diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/.classpath b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/.classpath
new file mode 100644
index 0000000..700f194
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="generated"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/.project b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/.project
new file mode 100644
index 0000000..f47a79d
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>org.eclipse.egf.usecase.pattern.uc1</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

+			<name>org.eclipse.egf.pattern.ui.PatternBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

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

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.eclipse.jdt.core.javabuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

+		<nature>org.eclipse.egf.core.EGFNature</nature>

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

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

+	</natures>

+</projectDescription>

diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/.settings/org.eclipse.core.resources.prefs b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..6a27f6f
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 25 11:54:56 CET 2010

+eclipse.preferences.version=1

+encoding/about.html=ISO-8859-1

diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/.settings/org.eclipse.jdt.core.prefs b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..128d711
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Tue Dec 15 15:11:44 CET 2009

+eclipse.preferences.version=1

+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled

+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5

+org.eclipse.jdt.core.compiler.compliance=1.5

+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error

+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error

+org.eclipse.jdt.core.compiler.source=1.5

diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/META-INF/MANIFEST.MF b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..000b6c2
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0

+Bundle-ManifestVersion: 2

+Bundle-Name: %pluginName

+Bundle-SymbolicName: org.eclipse.egf.usecase.pattern.uc1;singleton:=true

+Bundle-Version: 0.2.3.qualifier

+Bundle-ClassPath: .

+Bundle-Vendor: %providerName

+Bundle-Localization: plugin

+Bundle-RequiredExecutionEnvironment: J2SE-1.5

+Export-Package: 

+ egf.uc1_1.pattern,

+ org.eclipse.egf.usecase.pattern.uc1.callback,

+ org.eclipse.egf.usecase.pattern.uc1.helper,

+ org.eclipse.egf.usecase.pattern.uc1.query,

+ org.eclipse.egf.usecase.pattern.uc1.reporter

+Require-Bundle: 

+ org.eclipse.egf.model.ftask;visibility:=reexport,

+ org.eclipse.egf.pattern;visibility:=reexport,

+ org.eclipse.egf.pattern.ftask;visibility:=reexport,

+ org.eclipse.emf.query

+Bundle-ActivationPolicy: lazy

diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/about.html b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/about.html
new file mode 100644
index 0000000..7e766fe
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/about.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>

+

+

+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

+<title>About</title>

+</head><body lang="EN-US">

+<h2>About This Content</h2>

+ 

+<p>June 5, 2007</p>	

+<h3>License</h3>

+

+<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 

+indicated below, the Content is provided to you under the terms and conditions of the

+Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 

+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.

+For purposes of the EPL, "Program" will mean the Content.</p>

+

+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 

+being redistributed by another party ("Redistributor") and different terms and conditions may

+apply to your use of any object code in the Content.  Check the Redistributor's license that was 

+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise

+indicated below, the terms and conditions of the EPL still apply to any source code in the Content

+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>

+

+</body></html>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/build.properties b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/build.properties
new file mode 100644
index 0000000..8b2f29c
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/build.properties
@@ -0,0 +1,24 @@
+

+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+

+source.. = generated/,\

+           src/

+output.. = bin/

+bin.includes = .,\

+               egf/,\

+               test/,\

+               META-INF/,\

+               about.html,\

+               plugin.xml,\

+               plugin.properties

+src.includes = templates/,\

+               about.html

diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_0_AllTogether.fcore b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_0_AllTogether.fcore
new file mode 100644
index 0000000..1c5a651
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_0_AllTogether.fcore
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fcore:FactoryComponent xmi:version="2.1"
+    xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore"
+    xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod" xmi:id="_BoElQejCEd6kmtdYyydDtQ"
+    description=" " name="UseCase - Pattern - UC1 - Hello - All Together">
+  <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_EomXAOjCEd6kmtdYyydDtQ">
+    <invocations xmi:id="_FYuMYOjCEd6kmtdYyydDtQ" invokedActivity="fcore:FactoryComponent platform:/plugin/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_1_ClassPattern.fcore#_0BNZAOTGEd6iCM6xyOQ7FA"/>
+    <invocations xmi:id="_Rf4ygOjCEd6kmtdYyydDtQ" invokedActivity="fcore:FactoryComponent platform:/plugin/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_2_Inheritance.fcore#_94fB8RVfEd-JoY-b5_Vpcw"/>
+    <invocations xmi:id="_ZIPH8Bb5Ed-yIvdzb4Km2Q" invokedActivity="fcore:FactoryComponent platform:/plugin/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_3_InheritanceAndCall.fcore#_Onwn4AzqEd-pgpX7a7GeEA"/>
+    <invocations xmi:id="_bTkXEBb5Ed-yIvdzb4Km2Q" invokedActivity="fcore:FactoryComponent platform:/plugin/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_4_Callback_StrategyBased.fcore#_oWQD0Be1Ed-DaY2uHNBaQg"/>
+    <invocations xmi:id="_RURJYBfKEd-JToveUSgqRw" invokedActivity="fcore:FactoryComponent platform:/plugin/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_5_Callback_WithJavaClass.fcore#_1di_UBe3Ed-DaY2uHNBaQg"/>
+    <invocations xmi:id="_T_eycBfKEd-JToveUSgqRw" invokedActivity="fcore:FactoryComponent platform:/plugin/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_6_JetPatternCallsJavaPattern.fcore#_a-kDcBfVEd-JToveUSgqRw"/>
+    <invocations xmi:id="_Uo2k4BsSEd-12t5rED-J2A" invokedActivity="fcore:FactoryComponent platform:/plugin/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_7_Injection.fcore#_zOU6cBVhEd-JoY-b5_Vpcw"/>
+  </orchestration>
+</fcore:FactoryComponent>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_1_ClassPattern.fcore b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_1_ClassPattern.fcore
new file mode 100644
index 0000000..a115e1b
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_1_ClassPattern.fcore
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fcore:FactoryComponent xmi:version="2.1"
+    xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:domain="http://www.eclipse.org/egf/1.0.0/domain"
+    xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore" xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod"
+    xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask" xmlns:jetpattern="http://www.eclipse.org/egf/1.0.0/jetpattern"
+    xmlns:pattern="http://www.eclipse.org/egf/1.0.0/pattern" xmi:id="_0BNZAOTGEd6iCM6xyOQ7FA"
+    description=" " name="Pattern - UC1.1 - EClasses">
+  <viewpointContainer xmi:id="_EtB9MBsZEd-Cmei4SZ1Naw">
+    <viewpoints xmi:type="domain:DomainViewpoint" xmi:id="_YLSssBsZEd-Cmei4SZ1Naw">
+      <domains xmi:type="domain:DomainURI" xmi:id="_aMkn8BsZEd-Cmei4SZ1Naw" uri="platform:/plugin/org.eclipse.egf.model/model/Fcore.ecore"/>
+    </viewpoints>
+    <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_FuGYoBsZEd-Cmei4SZ1Naw">
+      <libraries xmi:id="_GMQUQBsZEd-Cmei4SZ1Naw" name="egf.uc1_1.pattern">
+        <elements xmi:type="pattern:Pattern" xmi:id="_QmXisBsZEd-Cmei4SZ1Naw" name="classPattern"
+            headerMethod="#_QmXisRsZEd-Cmei4SZ1Naw" footerMethod="#_QmXitBsZEd-Cmei4SZ1Naw"
+            initMethod="#_QmXishsZEd-Cmei4SZ1Naw">
+          <methods xmi:id="_QmXisRsZEd-Cmei4SZ1Naw" name="header" patternFilePath="templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXisRsZEd-Cmei4SZ1Naw.pt"/>
+          <methods xmi:id="_QmXishsZEd-Cmei4SZ1Naw" name="init" patternFilePath="templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXishsZEd-Cmei4SZ1Naw.pt"/>
+          <methods xmi:id="_QmXisxsZEd-Cmei4SZ1Naw" name="body" patternFilePath="templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXisxsZEd-Cmei4SZ1Naw.pt"/>
+          <methods xmi:id="_QmXitBsZEd-Cmei4SZ1Naw" name="footer" patternFilePath="templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXitBsZEd-Cmei4SZ1Naw.pt"/>
+          <orchestration xmi:type="pattern:SuperCall" xmi:id="_QmXitRsZEd-Cmei4SZ1Naw"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_xAcoYBsZEd-Cmei4SZ1Naw"
+              called="#_QmXisxsZEd-Cmei4SZ1Naw"/>
+          <parameters xmi:id="_SnK80BsZEd-Cmei4SZ1Naw" name="aClass" type="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_QmXithsZEd-Cmei4SZ1Naw"
+              name="JET"/>
+        </elements>
+        <elements xmi:type="pattern:Pattern" xmi:id="_e1Lf4BsbEd-Cmei4SZ1Naw" name="attributePattern"
+            headerMethod="#_e1Lf4RsbEd-Cmei4SZ1Naw" footerMethod="#_e1Lf5BsbEd-Cmei4SZ1Naw"
+            initMethod="#_e1Lf4hsbEd-Cmei4SZ1Naw">
+          <methods xmi:id="_e1Lf4RsbEd-Cmei4SZ1Naw" name="header" patternFilePath="templates/pattern._e1Lf4BsbEd-Cmei4SZ1Naw/method._e1Lf4RsbEd-Cmei4SZ1Naw.pt"/>
+          <methods xmi:id="_e1Lf4hsbEd-Cmei4SZ1Naw" name="init" patternFilePath="templates/pattern._e1Lf4BsbEd-Cmei4SZ1Naw/method._e1Lf4hsbEd-Cmei4SZ1Naw.pt"/>
+          <methods xmi:id="_e1Lf4xsbEd-Cmei4SZ1Naw" name="body" patternFilePath="templates/pattern._e1Lf4BsbEd-Cmei4SZ1Naw/method._e1Lf4xsbEd-Cmei4SZ1Naw.pt"/>
+          <methods xmi:id="_e1Lf5BsbEd-Cmei4SZ1Naw" name="footer" patternFilePath="templates/pattern._e1Lf4BsbEd-Cmei4SZ1Naw/method._e1Lf5BsbEd-Cmei4SZ1Naw.pt"/>
+          <orchestration xmi:type="pattern:SuperCall" xmi:id="_e1Lf5RsbEd-Cmei4SZ1Naw"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_3FdM4BsbEd-Cmei4SZ1Naw"
+              called="#_e1Lf4xsbEd-Cmei4SZ1Naw"/>
+          <parameters xmi:id="_ir_ZYBsbEd-Cmei4SZ1Naw" name="anAttribute" type="http://www.eclipse.org/emf/2002/Ecore#//EAttribute"/>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_e1Lf5hsbEd-Cmei4SZ1Naw"
+              name="JET"/>
+        </elements>
+      </libraries>
+    </viewpoints>
+  </viewpointContainer>
+  <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_oFcGYOTNEd6jrNbWQfMNfQ">
+    <invocations xmi:id="_p21ykOTNEd6jrNbWQfMNfQ" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_8FZ3aof6eEd64XYPo3s6sPg">
+      <invocationContractContainer xmi:id="_is7fcBsZEd-Cmei4SZ1Naw">
+        <invocationContracts xmi:id="_jcLyIBsZEd-Cmei4SZ1Naw" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg">
+          <type xmi:type="domain:TypeDomainURI" xmi:id="_kyVswBsZEd-Cmei4SZ1Naw" domain="#_aMkn8BsZEd-Cmei4SZ1Naw"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_mTq8oBsZEd-Cmei4SZ1Naw" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">
+          <type xmi:type="pattern:TypePatternList" xmi:id="_-H8OECHzEd-V4KH4GeEy-w"
+              elements="#_GMQUQBsZEd-Cmei4SZ1Naw"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_ratH4BsZEd-Cmei4SZ1Naw" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_L6JSwAHAEd-4faJMEplCjxw">
+          <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_swHboBsZEd-Cmei4SZ1Naw"
+              value="org.eclipse.egf.usecase.pattern.uc1.reporter.MyReporter"/>
+        </invocationContracts>
+      </invocationContractContainer>
+    </invocations>
+  </orchestration>
+</fcore:FactoryComponent>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_2_Inheritance.fcore b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_2_Inheritance.fcore
new file mode 100644
index 0000000..5905ed6
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_2_Inheritance.fcore
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fcore:FactoryComponent xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:domain="http://www.eclipse.org/egf/1.0.0/domain"
+    xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore" xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod"
+    xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask" xmlns:jetpattern="http://www.eclipse.org/egf/1.0.0/jetpattern"
+    xmlns:pattern="http://www.eclipse.org/egf/1.0.0/pattern" xmi:id="_94fB8RVfEd-JoY-b5_Vpcw"
+    description=" " name="Pattern - UC1.2 - Inheritance">
+  <viewpointContainer xmi:id="_CnXy8BVgEd-JoY-b5_Vpcw">
+    <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_DBjNgBVgEd-JoY-b5_Vpcw">
+      <libraries xmi:id="_QAa3sBVgEd-JoY-b5_Vpcw" name="egf.uc1_2.pattern.parent">
+        <elements xmi:type="pattern:Pattern" xmi:id="_RfrD8BVgEd-JoY-b5_Vpcw" name="ParentPattern"
+            headerMethod="#_RfrD8RVgEd-JoY-b5_Vpcw" footerMethod="#_RfrD9BVgEd-JoY-b5_Vpcw"
+            initMethod="#_RfrD8hVgEd-JoY-b5_Vpcw">
+          <methods xmi:id="_RfrD8RVgEd-JoY-b5_Vpcw" name="header" patternFilePath="templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD8RVgEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_RfrD8hVgEd-JoY-b5_Vpcw" name="init" patternFilePath="templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD8hVgEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_RfrD8xVgEd-JoY-b5_Vpcw" name="body" patternFilePath="templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD8xVgEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_RfrD9BVgEd-JoY-b5_Vpcw" name="footer" patternFilePath="templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD9BVgEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_X63lwBVgEd-JoY-b5_Vpcw" name="sayHello" patternFilePath="templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._X63lwBVgEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_PbStEBbvEd-thalzjBN9kg" name="sayFromParent" patternFilePath="templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._PbStEBbvEd-thalzjBN9kg.pt"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_aj4PYBVgEd-JoY-b5_Vpcw"
+              called="#_X63lwBVgEd-JoY-b5_Vpcw"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_VJtocBbvEd-thalzjBN9kg"
+              called="#_PbStEBbvEd-thalzjBN9kg"/>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_RfrD9hVgEd-JoY-b5_Vpcw"
+              name="JET"/>
+        </elements>
+      </libraries>
+      <libraries xmi:id="_FRIDcBVgEd-JoY-b5_Vpcw" name="egf.uc1_2.pattern">
+        <elements xmi:type="pattern:Pattern" xmi:id="_NIgPYBVgEd-JoY-b5_Vpcw" name="ClassPattern"
+            headerMethod="#_NIg2cBVgEd-JoY-b5_Vpcw" footerMethod="#_NIg2cxVgEd-JoY-b5_Vpcw"
+            superPattern="#_RfrD8BVgEd-JoY-b5_Vpcw" initMethod="#_NIg2cRVgEd-JoY-b5_Vpcw">
+          <methods xmi:id="_NIg2cBVgEd-JoY-b5_Vpcw" name="header" patternFilePath="templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2cBVgEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_NIg2cRVgEd-JoY-b5_Vpcw" name="init" patternFilePath="templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2cRVgEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_NIg2chVgEd-JoY-b5_Vpcw" name="body" patternFilePath="templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2chVgEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_NIg2cxVgEd-JoY-b5_Vpcw" name="footer" patternFilePath="templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2cxVgEd-JoY-b5_Vpcw.pt"/>
+          <orchestration xmi:type="pattern:SuperCall" xmi:id="_NIg2dBVgEd-JoY-b5_Vpcw"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_caS-cBVgEd-JoY-b5_Vpcw"
+              called="#_NIg2chVgEd-JoY-b5_Vpcw"/>
+          <parameters xmi:id="_O-IUQBVgEd-JoY-b5_Vpcw" name="parameter" type="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_NIg2dRVgEd-JoY-b5_Vpcw"
+              name="JET"/>
+        </elements>
+      </libraries>
+    </viewpoints>
+    <viewpoints xmi:type="domain:DomainViewpoint" xmi:id="_GkXM8BVgEd-JoY-b5_Vpcw">
+      <domains xmi:type="domain:DomainURI" xmi:id="_HZMjMBVgEd-JoY-b5_Vpcw" uri="platform:/plugin/org.eclipse.egf.model/model/Fcore.ecore"/>
+    </viewpoints>
+  </viewpointContainer>
+  <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_hXtToBVgEd-JoY-b5_Vpcw">
+    <invocations xmi:id="_h65gQBVgEd-JoY-b5_Vpcw" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_8FZ3aof6eEd64XYPo3s6sPg">
+      <invocationContractContainer xmi:id="_kb6EcBVgEd-JoY-b5_Vpcw">
+        <invocationContracts xmi:id="_lC1hkBVgEd-JoY-b5_Vpcw" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg">
+          <type xmi:type="domain:TypeDomainURI" xmi:id="_m8hnEBVgEd-JoY-b5_Vpcw" description=""
+              domain="#_HZMjMBVgEd-JoY-b5_Vpcw"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_sV44cBVgEd-JoY-b5_Vpcw" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">
+          <type xmi:type="pattern:TypePatternList" xmi:id="_ImZJ8CH0Ed-V4KH4GeEy-w"
+              elements="#_FRIDcBVgEd-JoY-b5_Vpcw"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_VsLbUBb6Ed-yIvdzb4Km2Q" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_L6JSwAHAEd-4faJMEplCjxw">
+          <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_XFvPQBb6Ed-yIvdzb4Km2Q"
+              value="org.eclipse.egf.usecase.pattern.uc1.reporter.MyReporter"/>
+        </invocationContracts>
+      </invocationContractContainer>
+    </invocations>
+  </orchestration>
+</fcore:FactoryComponent>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_3_InheritanceAndCall.fcore b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_3_InheritanceAndCall.fcore
new file mode 100644
index 0000000..ffd7eab
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_3_InheritanceAndCall.fcore
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fcore:FactoryComponent xmi:version="2.1"
+    xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:domain="http://www.eclipse.org/egf/1.0.0/domain"
+    xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore" xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod"
+    xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask" xmlns:jetpattern="http://www.eclipse.org/egf/1.0.0/jetpattern"
+    xmlns:pattern="http://www.eclipse.org/egf/1.0.0/pattern" xmi:id="_Onwn4AzqEd-pgpX7a7GeEA"
+    description=" " name="Pattern - UC1.3 - Pattern Inheritance + Pattern Call">
+  <viewpointContainer xmi:id="_QhWmwAzqEd-pgpX7a7GeEA">
+    <viewpoints xmi:type="domain:DomainViewpoint" xmi:id="_RBiisAzqEd-pgpX7a7GeEA">
+      <domains xmi:type="domain:DomainURI" xmi:id="_d6UL8AzqEd-pgpX7a7GeEA" uri="platform:/plugin/org.eclipse.egf.model/model/Fcore.ecore"/>
+    </viewpoints>
+    <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_uVI_oAzqEd-pgpX7a7GeEA">
+      <libraries xmi:id="_43VhIAzsEd-pgpX7a7GeEA" name="egf.uc1_3.pattern.parent">
+        <elements xmi:type="pattern:Pattern" xmi:id="_7nKkcAzsEd-pgpX7a7GeEA" name="Hello"
+            headerMethod="#_7nKkcQzsEd-pgpX7a7GeEA" footerMethod="#_7nKkdAzsEd-pgpX7a7GeEA"
+            initMethod="#_7nKkcgzsEd-pgpX7a7GeEA">
+          <methods xmi:id="_7nKkcQzsEd-pgpX7a7GeEA" name="header" patternFilePath="templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkcQzsEd-pgpX7a7GeEA.pt"/>
+          <methods xmi:id="_7nKkcgzsEd-pgpX7a7GeEA" name="init" patternFilePath="templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkcgzsEd-pgpX7a7GeEA.pt"/>
+          <methods xmi:id="_7nKkcwzsEd-pgpX7a7GeEA" name="body" patternFilePath="templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkcwzsEd-pgpX7a7GeEA.pt"/>
+          <methods xmi:id="_7nKkdAzsEd-pgpX7a7GeEA" name="footer" patternFilePath="templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkdAzsEd-pgpX7a7GeEA.pt"/>
+          <methods xmi:id="_Z8MpMAztEd-pgpX7a7GeEA" name="SayHello" patternFilePath="templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._Z8MpMAztEd-pgpX7a7GeEA.pt"/>
+          <methods xmi:id="_pn8JUAztEd-pgpX7a7GeEA" name="finish" patternFilePath="templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._pn8JUAztEd-pgpX7a7GeEA.pt"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_AZoGgAzwEd-sdvrVfWaxAw"
+              called="#_7nKkcwzsEd-pgpX7a7GeEA"/>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_7nKkdgzsEd-pgpX7a7GeEA"
+              name="JET"/>
+        </elements>
+      </libraries>
+      <libraries xmi:id="_u7JPsAzqEd-pgpX7a7GeEA" name="egf.uc1_3.pattern">
+        <elements xmi:type="pattern:Pattern" xmi:id="_AVTZcAzrEd-pgpX7a7GeEA" name="HelloWorld"
+            headerMethod="#_AVTZcQzrEd-pgpX7a7GeEA" footerMethod="#_AVTZdAzrEd-pgpX7a7GeEA"
+            superPattern="#_7nKkcAzsEd-pgpX7a7GeEA" initMethod="#_AVTZcgzrEd-pgpX7a7GeEA">
+          <methods xmi:id="_AVTZcQzrEd-pgpX7a7GeEA" name="header" patternFilePath="templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZcQzrEd-pgpX7a7GeEA.pt"/>
+          <methods xmi:id="_AVTZcgzrEd-pgpX7a7GeEA" name="init" patternFilePath="templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZcgzrEd-pgpX7a7GeEA.pt"/>
+          <methods xmi:id="_AVTZcwzrEd-pgpX7a7GeEA" name="body" patternFilePath="templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZcwzrEd-pgpX7a7GeEA.pt"/>
+          <methods xmi:id="_AVTZdAzrEd-pgpX7a7GeEA" name="footer" patternFilePath="templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZdAzrEd-pgpX7a7GeEA.pt"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_mntSgAztEd-pgpX7a7GeEA"
+              called="#_Z8MpMAztEd-pgpX7a7GeEA"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_AVTZdQzrEd-pgpX7a7GeEA"
+              called="#_AVTZcwzrEd-pgpX7a7GeEA"/>
+          <orchestration xmi:type="pattern:PatternCall" xmi:id="_GsijsBS_Ed-vC8_4jSahBQ"
+              called="#_7-a0kAzxEd-sdvrVfWaxAw"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_RE74IAzuEd-pgpX7a7GeEA"
+              called="#_pn8JUAztEd-pgpX7a7GeEA"/>
+          <parameters xmi:id="_kqoMsAzrEd-pgpX7a7GeEA" name="aClass" type="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_AVTZdgzrEd-pgpX7a7GeEA"
+              name="JET"/>
+        </elements>
+      </libraries>
+      <libraries xmi:id="_6Yy6kAzxEd-sdvrVfWaxAw" name="egf.uc1_3.pattern.friends">
+        <elements xmi:type="pattern:Pattern" xmi:id="_7-a0kAzxEd-sdvrVfWaxAw" name="HelloFriends"
+            headerMethod="#_7-a0kQzxEd-sdvrVfWaxAw" footerMethod="#_7-a0lAzxEd-sdvrVfWaxAw"
+            initMethod="#_7-a0kgzxEd-sdvrVfWaxAw">
+          <methods xmi:id="_7-a0kQzxEd-sdvrVfWaxAw" name="header" patternFilePath="templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0kQzxEd-sdvrVfWaxAw.pt"/>
+          <methods xmi:id="_7-a0kgzxEd-sdvrVfWaxAw" name="init" patternFilePath="templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0kgzxEd-sdvrVfWaxAw.pt"/>
+          <methods xmi:id="_7-a0kwzxEd-sdvrVfWaxAw" name="body" patternFilePath="templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0kwzxEd-sdvrVfWaxAw.pt"/>
+          <methods xmi:id="_7-a0lAzxEd-sdvrVfWaxAw" name="footer" patternFilePath="templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0lAzxEd-sdvrVfWaxAw.pt"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_7-a0lQzxEd-sdvrVfWaxAw"
+              called="#_7-a0kwzxEd-sdvrVfWaxAw"/>
+          <parameters xmi:id="_AfpkEAzyEd-sdvrVfWaxAw" name="element" type="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_7-a0lgzxEd-sdvrVfWaxAw"
+              name="JET"/>
+        </elements>
+      </libraries>
+    </viewpoints>
+  </viewpointContainer>
+  <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_PhmkgAzrEd-pgpX7a7GeEA">
+    <invocations xmi:id="_QOdDcAzrEd-pgpX7a7GeEA" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_8FZ3aof6eEd64XYPo3s6sPg">
+      <invocationContractContainer xmi:id="_rySNcBSiEd-7l5bHeOignA">
+        <invocationContracts xmi:id="_sHvgEBSiEd-7l5bHeOignA" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg">
+          <type xmi:type="domain:TypeDomainURI" xmi:id="_vdbCcBSiEd-7l5bHeOignA" domain="#_d6UL8AzqEd-pgpX7a7GeEA"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_y0S3oBSiEd-7l5bHeOignA" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">
+          <type xmi:type="pattern:TypePatternList" xmi:id="_P2mBICH0Ed-V4KH4GeEy-w"
+              elements="#_u7JPsAzqEd-pgpX7a7GeEA"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_DOMzcBZSEd-MevBezRJS_g" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_L6JSwAHAEd-4faJMEplCjxw">
+          <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_FHMVYBZSEd-MevBezRJS_g"
+              value="org.eclipse.egf.usecase.pattern.uc1.reporter.MyReporter"/>
+        </invocationContracts>
+      </invocationContractContainer>
+    </invocations>
+  </orchestration>
+</fcore:FactoryComponent>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_4_Callback_StrategyBased.fcore b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_4_Callback_StrategyBased.fcore
new file mode 100644
index 0000000..b6beb3a
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_4_Callback_StrategyBased.fcore
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fcore:FactoryComponent xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:domain="http://www.eclipse.org/egf/1.0.0/domain"
+    xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore" xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod"
+    xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask" xmlns:jetpattern="http://www.eclipse.org/egf/1.0.0/jetpattern"
+    xmlns:pattern="http://www.eclipse.org/egf/1.0.0/pattern" xmi:id="_oWQD0Be1Ed-DaY2uHNBaQg"
+    description=" " name="Pattern - UC1.4 - Callback with model-driven pattern strategy">
+  <viewpointContainer xmi:id="_xPNBgBe1Ed-DaY2uHNBaQg">
+    <viewpoints xmi:type="domain:DomainViewpoint" xmi:id="_0cnYsBe1Ed-DaY2uHNBaQg">
+      <domains xmi:type="domain:DomainURI" xmi:id="_00Tf8Be1Ed-DaY2uHNBaQg" uri="platform:/plugin/org.eclipse.egf.model/model/Fcore.ecore"/>
+    </viewpoints>
+    <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_xx9JQBe1Ed-DaY2uHNBaQg">
+      <libraries xmi:id="_3xVRwBe1Ed-DaY2uHNBaQg" name="egf.uc1_4.pattern">
+        <elements xmi:type="pattern:Pattern" xmi:id="_8lp8YBe1Ed-DaY2uHNBaQg" name="ClassPattern"
+            headerMethod="#_8lp8YRe1Ed-DaY2uHNBaQg" footerMethod="#_8lp8ZBe1Ed-DaY2uHNBaQg"
+            initMethod="#_8lp8Yhe1Ed-DaY2uHNBaQg">
+          <methods xmi:id="_8lp8YRe1Ed-DaY2uHNBaQg" name="header" patternFilePath="templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8YRe1Ed-DaY2uHNBaQg.pt"/>
+          <methods xmi:id="_8lp8Yhe1Ed-DaY2uHNBaQg" name="init" patternFilePath="templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8Yhe1Ed-DaY2uHNBaQg.pt"/>
+          <methods xmi:id="_8lp8Yxe1Ed-DaY2uHNBaQg" name="body" patternFilePath="templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8Yxe1Ed-DaY2uHNBaQg.pt"/>
+          <methods xmi:id="_8lp8ZBe1Ed-DaY2uHNBaQg" name="footer" patternFilePath="templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8ZBe1Ed-DaY2uHNBaQg.pt"/>
+          <methods xmi:id="_CFlv0Be2Ed-DaY2uHNBaQg" name="before" patternFilePath="templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._CFlv0Be2Ed-DaY2uHNBaQg.pt"/>
+          <methods xmi:id="_Co-JsBe2Ed-DaY2uHNBaQg" name="after" patternFilePath="templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._Co-JsBe2Ed-DaY2uHNBaQg.pt"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_DDx2YBe2Ed-DaY2uHNBaQg"
+              called="#_CFlv0Be2Ed-DaY2uHNBaQg"/>
+          <orchestration xmi:type="pattern:BackCall" xmi:id="_Aab1kBe2Ed-DaY2uHNBaQg"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_D7L_gBe2Ed-DaY2uHNBaQg"
+              called="#_Co-JsBe2Ed-DaY2uHNBaQg"/>
+          <parameters xmi:id="__I1q0Be1Ed-DaY2uHNBaQg" name="parameter" type="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_8lp8Zhe1Ed-DaY2uHNBaQg"
+              name="JET"/>
+          <variables xmi:id="_4_tm0BreEd-cXtp4jDfJVg" name="_separator" type="java.lang.String"/>
+        </elements>
+        <elements xmi:type="pattern:Pattern" xmi:id="_QdrPsBe2Ed-DaY2uHNBaQg" name="AttributePattern"
+            headerMethod="#_QdrPsRe2Ed-DaY2uHNBaQg" footerMethod="#_Qdr2wBe2Ed-DaY2uHNBaQg"
+            initMethod="#_QdrPshe2Ed-DaY2uHNBaQg">
+          <methods xmi:id="_QdrPsRe2Ed-DaY2uHNBaQg" name="header" patternFilePath="templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._QdrPsRe2Ed-DaY2uHNBaQg.pt"/>
+          <methods xmi:id="_QdrPshe2Ed-DaY2uHNBaQg" name="init" patternFilePath="templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._QdrPshe2Ed-DaY2uHNBaQg.pt"/>
+          <methods xmi:id="_QdrPsxe2Ed-DaY2uHNBaQg" name="body" patternFilePath="templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._QdrPsxe2Ed-DaY2uHNBaQg.pt"/>
+          <methods xmi:id="_Qdr2wBe2Ed-DaY2uHNBaQg" name="footer" patternFilePath="templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._Qdr2wBe2Ed-DaY2uHNBaQg.pt"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_TQ3JABe2Ed-DaY2uHNBaQg"
+              called="#_QdrPsxe2Ed-DaY2uHNBaQg"/>
+          <parameters xmi:id="_RwgwkBe2Ed-DaY2uHNBaQg" name="parameter" type="http://www.eclipse.org/emf/2002/Ecore#//EAttribute"/>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_Qdr2whe2Ed-DaY2uHNBaQg"
+              name="JET"/>
+        </elements>
+      </libraries>
+    </viewpoints>
+  </viewpointContainer>
+  <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_1NdKUBe2Ed-DaY2uHNBaQg">
+    <invocations xmi:id="_1rvBwBe2Ed-DaY2uHNBaQg" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_8FZ3aof6eEd64XYPo3s6sPg">
+      <invocationContractContainer xmi:id="_6N8osBe2Ed-DaY2uHNBaQg">
+        <invocationContracts xmi:id="_6qRYUBe2Ed-DaY2uHNBaQg" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg">
+          <type xmi:type="domain:TypeDomainURI" xmi:id="_7mr9QBe2Ed-DaY2uHNBaQg" domain="#_00Tf8Be1Ed-DaY2uHNBaQg"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_84eVQBe2Ed-DaY2uHNBaQg" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">
+          <type xmi:type="pattern:TypePatternList" xmi:id="_XYrSgCH0Ed-V4KH4GeEy-w"
+              elements="#_3xVRwBe1Ed-DaY2uHNBaQg"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_QA7g8BfEEd-JToveUSgqRw" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_L6JSwAHAEd-4faJMEplCjxw">
+          <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_SuO0sBfEEd-JToveUSgqRw"
+              value="org.eclipse.egf.usecase.pattern.uc1.reporter.MyReporter"/>
+        </invocationContracts>
+      </invocationContractContainer>
+    </invocations>
+  </orchestration>
+</fcore:FactoryComponent>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_5_Callback_WithJavaClass.fcore b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_5_Callback_WithJavaClass.fcore
new file mode 100644
index 0000000..ed6eb52
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_5_Callback_WithJavaClass.fcore
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fcore:FactoryComponent xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:domain="http://www.eclipse.org/egf/1.0.0/domain"
+    xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore" xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod"
+    xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask" xmlns:jetpattern="http://www.eclipse.org/egf/1.0.0/jetpattern"
+    xmlns:pattern="http://www.eclipse.org/egf/1.0.0/pattern" xmi:id="_1di_UBe3Ed-DaY2uHNBaQg"
+    description=" " name="Pattern - UC1.5 - Callback With Java Class">
+  <viewpointContainer xmi:id="_9txwIBe3Ed-DaY2uHNBaQg">
+    <viewpoints xmi:type="domain:DomainViewpoint" xmi:id="_-IxqEBe3Ed-DaY2uHNBaQg">
+      <domains xmi:type="domain:DomainURI" xmi:id="_-qgeIBe3Ed-DaY2uHNBaQg" uri="platform:/plugin/org.eclipse.egf.model/model/Fcore.ecore"/>
+    </viewpoints>
+    <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="__hODsBe3Ed-DaY2uHNBaQg">
+      <libraries xmi:id="__6QOwBe3Ed-DaY2uHNBaQg" name="egf.uc1_5.pattern">
+        <elements xmi:type="pattern:Pattern" xmi:id="_MTvCABe6Ed-O0P2188kAmA" name="ClassPattern"
+            headerMethod="#_MTvCARe6Ed-O0P2188kAmA" footerMethod="#_MTvCBBe6Ed-O0P2188kAmA"
+            initMethod="#_MTvCAhe6Ed-O0P2188kAmA">
+          <methods xmi:id="_MTvCARe6Ed-O0P2188kAmA" name="header" patternFilePath="templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCARe6Ed-O0P2188kAmA.pt"/>
+          <methods xmi:id="_MTvCAhe6Ed-O0P2188kAmA" name="init" patternFilePath="templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCAhe6Ed-O0P2188kAmA.pt"/>
+          <methods xmi:id="_MTvCAxe6Ed-O0P2188kAmA" name="body" patternFilePath="templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCAxe6Ed-O0P2188kAmA.pt"/>
+          <methods xmi:id="_MTvCBBe6Ed-O0P2188kAmA" name="footer" patternFilePath="templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCBBe6Ed-O0P2188kAmA.pt"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_PjAaYBe6Ed-O0P2188kAmA"
+              called="#_MTvCAxe6Ed-O0P2188kAmA"/>
+          <orchestration xmi:type="pattern:BackCall" xmi:id="_tdnQIRe-Ed-UBIek6Yqz4A"/>
+          <parameters xmi:id="_NzI_QBe6Ed-O0P2188kAmA" name="parameter" type="http://www.eclipse.org/emf/2002/Ecore#//EClass">
+            <query xmi:type="pattern:BasicQuery" xmi:id="_OdMo4Be6Ed-O0P2188kAmA"
+                extensionId="org.eclipse.egf.pattern.basic.query"/>
+          </parameters>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_MTvCBhe6Ed-O0P2188kAmA"
+              name="JET"/>
+        </elements>
+      </libraries>
+    </viewpoints>
+  </viewpointContainer>
+  <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_DNfhIBe4Ed-DaY2uHNBaQg">
+    <invocations xmi:id="_DrZlIBe4Ed-DaY2uHNBaQg" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.pattern.ftask/Pattern_task.fcore#_XVvo0Be4Ed-DaY2uHNBaQg">
+      <invocationContractContainer xmi:id="_GWMFgBe6Ed-O0P2188kAmA">
+        <invocationContracts xmi:id="_z4HVwBe7Ed-O0P2188kAmA" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Pattern_task.fcore#_4ngvABe5Ed-O0P2188kAmA">
+          <type xmi:type="domain:TypeDomainURI" xmi:id="_1B95wBe7Ed-O0P2188kAmA" domain="#_-qgeIBe3Ed-DaY2uHNBaQg"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_mT1mgBe9Ed-d2_ufnco5uw" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Pattern_task.fcore#_-wgGgBe5Ed-O0P2188kAmA">
+          <type xmi:type="pattern:TypePatternCallBackHandler" xmi:id="_nc6HYBe9Ed-d2_ufnco5uw"
+              value="org.eclipse.egf.usecase.pattern.uc1.callback.MyCallbackHandler"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_4ObAgCH0Ed-V4KH4GeEy-w" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Pattern_task.fcore#_tsP7UBe5Ed-O0P2188kAmA">
+          <type xmi:type="pattern:TypePatternList" xmi:id="_5M3lwCH0Ed-V4KH4GeEy-w"
+              elements="#__6QOwBe3Ed-DaY2uHNBaQg"/>
+        </invocationContracts>
+      </invocationContractContainer>
+    </invocations>
+  </orchestration>
+</fcore:FactoryComponent>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_6_JetPatternCallsJavaPattern.fcore b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_6_JetPatternCallsJavaPattern.fcore
new file mode 100644
index 0000000..8141bec
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_6_JetPatternCallsJavaPattern.fcore
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fcore:FactoryComponent xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:domain="http://www.eclipse.org/egf/1.0.0/domain"
+    xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore" xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod"
+    xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask" xmlns:javapattern="http://www.eclipse.org/egf/1.0.0/javapattern"
+    xmlns:jetpattern="http://www.eclipse.org/egf/1.0.0/jetpattern" xmlns:pattern="http://www.eclipse.org/egf/1.0.0/pattern" xmi:id="_a-kDcBfVEd-JToveUSgqRw"
+    description=" " name="Pattern - UC1.6 - Jet Pattern calls Java Pattern">
+  <viewpointContainer xmi:id="_cJEHsBfVEd-JToveUSgqRw">
+    <viewpoints xmi:type="domain:DomainViewpoint" xmi:id="_pEVR8BsPEd-zfYPlecBwGw">
+      <domains xmi:type="domain:DomainURI" xmi:id="_qZZAYBsPEd-zfYPlecBwGw" uri="platform:/plugin/org.eclipse.egf.model/model/Fcore.ecore"/>
+    </viewpoints>
+    <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_cwG5kBfVEd-JToveUSgqRw">
+      <libraries xmi:id="_dH8x0BfVEd-JToveUSgqRw" name="egf.uc1_6.pattern">
+        <elements xmi:type="pattern:Pattern" xmi:id="_riKAEBrfEd-cXtp4jDfJVg" name="JetClassPattern"
+            headerMethod="#_riKAERrfEd-cXtp4jDfJVg" footerMethod="#_riKAFBrfEd-cXtp4jDfJVg"
+            initMethod="#_riKAEhrfEd-cXtp4jDfJVg">
+          <methods xmi:id="_riKAERrfEd-cXtp4jDfJVg" name="header" patternFilePath="templates/pattern._riKAEBrfEd-cXtp4jDfJVg/method._riKAERrfEd-cXtp4jDfJVg.pt"/>
+          <methods xmi:id="_riKAEhrfEd-cXtp4jDfJVg" name="init" patternFilePath="templates/pattern._riKAEBrfEd-cXtp4jDfJVg/method._riKAEhrfEd-cXtp4jDfJVg.pt"/>
+          <methods xmi:id="_riKAExrfEd-cXtp4jDfJVg" name="body" patternFilePath="templates/pattern._riKAEBrfEd-cXtp4jDfJVg/method._riKAExrfEd-cXtp4jDfJVg.pt"/>
+          <methods xmi:id="_riKAFBrfEd-cXtp4jDfJVg" name="footer" patternFilePath="templates/pattern._riKAEBrfEd-cXtp4jDfJVg/method._riKAFBrfEd-cXtp4jDfJVg.pt"/>
+          <orchestration xmi:type="pattern:SuperCall" xmi:id="_riKAFRrfEd-cXtp4jDfJVg"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_X5RfgBrgEd-cXtp4jDfJVg"
+              called="#_riKAExrfEd-cXtp4jDfJVg"/>
+          <orchestration xmi:type="pattern:PatternCall" xmi:id="_ACxHIRsREd-12t5rED-J2A"
+              called="#_iXOsIBrgEd-cXtp4jDfJVg"/>
+          <parameters xmi:id="_wKsRcBrfEd-cXtp4jDfJVg" name="aClass" type="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_riKAFhrfEd-cXtp4jDfJVg"
+              name="JET"/>
+        </elements>
+      </libraries>
+      <libraries xmi:id="_N6RmURsNEd-zfYPlecBwGw" name="egf.uc1_6.pattern.java">
+        <elements xmi:type="pattern:Pattern" xmi:id="_iXOsIBrgEd-cXtp4jDfJVg" name="JavaPattern"
+            headerMethod="#_iXOsIRrgEd-cXtp4jDfJVg" footerMethod="#_iXOsJBrgEd-cXtp4jDfJVg"
+            initMethod="#_iXOsIhrgEd-cXtp4jDfJVg">
+          <methods xmi:id="_iXOsIRrgEd-cXtp4jDfJVg" name="header" patternFilePath="templates/pattern._iXOsIBrgEd-cXtp4jDfJVg/method._iXOsIRrgEd-cXtp4jDfJVg.pt"/>
+          <methods xmi:id="_iXOsIhrgEd-cXtp4jDfJVg" name="init" patternFilePath="templates/pattern._iXOsIBrgEd-cXtp4jDfJVg/method._iXOsIhrgEd-cXtp4jDfJVg.pt"/>
+          <methods xmi:id="_iXOsIxrgEd-cXtp4jDfJVg" name="body" patternFilePath="templates/pattern._iXOsIBrgEd-cXtp4jDfJVg/method._iXOsIxrgEd-cXtp4jDfJVg.pt"/>
+          <methods xmi:id="_iXOsJBrgEd-cXtp4jDfJVg" name="footer" patternFilePath="templates/pattern._iXOsIBrgEd-cXtp4jDfJVg/method._iXOsJBrgEd-cXtp4jDfJVg.pt"/>
+          <orchestration xmi:type="pattern:SuperCall" xmi:id="_iXOsJRrgEd-cXtp4jDfJVg"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_RyAJ0BrhEd-cXtp4jDfJVg"
+              called="#_iXOsIxrgEd-cXtp4jDfJVg"/>
+          <parameters xmi:id="_oHJcUBrgEd-cXtp4jDfJVg" name="aClass" type="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+          <nature xmi:type="javapattern:JavaNature" xmi:id="_iXOsJhrgEd-cXtp4jDfJVg"
+              name="Java"/>
+        </elements>
+      </libraries>
+    </viewpoints>
+  </viewpointContainer>
+  <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_kboBcBsPEd-zfYPlecBwGw">
+    <invocations xmi:id="_lCDvUBsPEd-zfYPlecBwGw" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_8FZ3aof6eEd64XYPo3s6sPg">
+      <invocationContractContainer xmi:id="_mhh-ABsPEd-zfYPlecBwGw">
+        <invocationContracts xmi:id="_m5XPMBsPEd-zfYPlecBwGw" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg">
+          <type xmi:type="domain:TypeDomainURI" xmi:id="_u5AmUBsPEd-zfYPlecBwGw" domain="#_qZZAYBsPEd-zfYPlecBwGw"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_xglFgBsPEd-zfYPlecBwGw" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_L6JSwAHAEd-4faJMEplCjxw">
+          <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_zniK8BsPEd-zfYPlecBwGw"
+              value="org.eclipse.egf.usecase.pattern.uc1.reporter.MyReporter"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_1e_b0BsPEd-zfYPlecBwGw" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">
+          <type xmi:type="pattern:TypePatternList" xmi:id="_hwmdsCH2Ed-V4KH4GeEy-w"
+              elements="#_dH8x0BfVEd-JToveUSgqRw"/>
+        </invocationContracts>
+      </invocationContractContainer>
+    </invocations>
+  </orchestration>
+</fcore:FactoryComponent>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_7_Injection.fcore b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_7_Injection.fcore
new file mode 100644
index 0000000..99cf467
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/egf/Pattern_UC1_7_Injection.fcore
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fcore:FactoryComponent xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:domain="http://www.eclipse.org/egf/1.0.0/domain"
+    xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore" xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod"
+    xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask" xmlns:jetpattern="http://www.eclipse.org/egf/1.0.0/jetpattern"
+    xmlns:pattern="http://www.eclipse.org/egf/1.0.0/pattern" xmi:id="_zOU6cBVhEd-JoY-b5_Vpcw"
+    description=" " name="Pattern - UC1.7 - Pattern Injection">
+  <viewpointContainer xmi:id="_3WwIYBVhEd-JoY-b5_Vpcw">
+    <viewpoints xmi:type="domain:DomainViewpoint" xmi:id="_3wwj0BVhEd-JoY-b5_Vpcw">
+      <domains xmi:type="domain:DomainURI" xmi:id="_6_29EBVhEd-JoY-b5_Vpcw" uri="platform:/plugin/org.eclipse.egf.model/model/Fcore.ecore"/>
+    </viewpoints>
+    <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_PfGBYBViEd-JoY-b5_Vpcw">
+      <libraries xmi:id="_USCzABViEd-JoY-b5_Vpcw" name="egf.uc1_7.pattern">
+        <elements xmi:type="pattern:Pattern" xmi:id="_YVbI4BViEd-JoY-b5_Vpcw" name="ClassPattern"
+            headerMethod="#_YVbI4RViEd-JoY-b5_Vpcw" footerMethod="#_YVbv8hViEd-JoY-b5_Vpcw"
+            initMethod="#_YVbv8BViEd-JoY-b5_Vpcw">
+          <methods xmi:id="_YVbI4RViEd-JoY-b5_Vpcw" name="header" patternFilePath="templates/pattern._YVbI4BViEd-JoY-b5_Vpcw/method._YVbI4RViEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_YVbv8BViEd-JoY-b5_Vpcw" name="init" patternFilePath="templates/pattern._YVbI4BViEd-JoY-b5_Vpcw/method._YVbv8BViEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_YVbv8RViEd-JoY-b5_Vpcw" name="body" patternFilePath="templates/pattern._YVbI4BViEd-JoY-b5_Vpcw/method._YVbv8RViEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_YVbv8hViEd-JoY-b5_Vpcw" name="footer" patternFilePath="templates/pattern._YVbI4BViEd-JoY-b5_Vpcw/method._YVbv8hViEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_AZL8wBVjEd-JoY-b5_Vpcw" name="setupVariable" patternFilePath="templates/pattern._YVbI4BViEd-JoY-b5_Vpcw/method._AZL8wBVjEd-JoY-b5_Vpcw.pt"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_6PWhoBVrEd-RrYzGJdxTDA"
+              called="#_YVbv8RViEd-JoY-b5_Vpcw"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_Mal08BVqEd-Ay7SQYKAR7g"
+              called="#_AZL8wBVjEd-JoY-b5_Vpcw"/>
+          <orchestration xmi:type="pattern:PatternInjectedCall" xmi:id="_eGpgoBViEd-JoY-b5_Vpcw"
+              called="#_RdSMYBViEd-JoY-b5_Vpcw" context="#_cXiTcBViEd-JoY-b5_Vpcw"/>
+          <parameters xmi:id="_Z8X4kBViEd-JoY-b5_Vpcw" name="parameter" type="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_YVbv9BViEd-JoY-b5_Vpcw"
+              name="JET"/>
+          <variables xmi:id="_cXiTcBViEd-JoY-b5_Vpcw" name="variable" type="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+        </elements>
+      </libraries>
+      <libraries xmi:id="_P7tE4BViEd-JoY-b5_Vpcw" name="egf.uc1_7.pattern.forInjection">
+        <elements xmi:type="pattern:Pattern" xmi:id="_RdSMYBViEd-JoY-b5_Vpcw" description="display content of element"
+            name="ForInjectionPattern" headerMethod="#_RdSMYRViEd-JoY-b5_Vpcw" footerMethod="#_RdSzcRViEd-JoY-b5_Vpcw"
+            initMethod="#_RdSMYhViEd-JoY-b5_Vpcw">
+          <methods xmi:id="_RdSMYRViEd-JoY-b5_Vpcw" name="header" patternFilePath="templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSMYRViEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_RdSMYhViEd-JoY-b5_Vpcw" name="init" patternFilePath="templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSMYhViEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_RdSzcBViEd-JoY-b5_Vpcw" name="body" patternFilePath="templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSzcBViEd-JoY-b5_Vpcw.pt"/>
+          <methods xmi:id="_RdSzcRViEd-JoY-b5_Vpcw" name="footer" patternFilePath="templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSzcRViEd-JoY-b5_Vpcw.pt"/>
+          <orchestration xmi:type="pattern:MethodCall" xmi:id="_rD0LkBVrEd-RrYzGJdxTDA"
+              called="#_RdSzcBViEd-JoY-b5_Vpcw"/>
+          <parameters xmi:id="_34yzkBVjEd-JoY-b5_Vpcw" name="parameter" type="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement">
+            <query xmi:type="pattern:BasicQuery" xmi:id="_u33MURVoEd-Ay7SQYKAR7g"
+                extensionId="org.eclipse.egf.pattern.query.EObjectInjectedContextQuery"/>
+          </parameters>
+          <nature xmi:type="jetpattern:JetNature" xmi:id="_RdSzcxViEd-JoY-b5_Vpcw"
+              name="JET"/>
+        </elements>
+      </libraries>
+    </viewpoints>
+  </viewpointContainer>
+  <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_Y4t_ABVpEd-Ay7SQYKAR7g">
+    <invocations xmi:id="_ZMsD4BVpEd-Ay7SQYKAR7g" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_8FZ3aof6eEd64XYPo3s6sPg">
+      <invocationContractContainer xmi:id="_a914cBVpEd-Ay7SQYKAR7g">
+        <invocationContracts xmi:id="_bOUkcBVpEd-Ay7SQYKAR7g" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg">
+          <type xmi:type="domain:TypeDomainURI" xmi:id="_dypiYBVpEd-Ay7SQYKAR7g" domain="#_6_29EBVhEd-JoY-b5_Vpcw"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_giDu8BVpEd-Ay7SQYKAR7g" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">
+          <type xmi:type="pattern:TypePatternList" xmi:id="_ooBogCH2Ed-V4KH4GeEy-w"
+              elements="#_USCzABViEd-JoY-b5_Vpcw"/>
+        </invocationContracts>
+        <invocationContracts xmi:id="_tmYKoBb6Ed-yIvdzb4Km2Q" invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/Model_driven_pattern_strategy_task.fcore#_L6JSwAHAEd-4faJMEplCjxw">
+          <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_viNlMBb6Ed-yIvdzb4Km2Q"
+              value="org.eclipse.egf.usecase.pattern.uc1.reporter.MyReporter"/>
+        </invocationContracts>
+      </invocationContractContainer>
+    </invocations>
+  </orchestration>
+</fcore:FactoryComponent>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_1/pattern/classPattern.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_1/pattern/classPattern.java
new file mode 100644
index 0000000..043ca2a
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_1/pattern/classPattern.java
@@ -0,0 +1,94 @@
+package egf.uc1_1.pattern;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class classPattern 
+{
+  protected static String nl;
+  public static synchronized classPattern create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    classPattern result = new classPattern();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = NL + "- Hello ";
+  protected final String TEXT_2 = " Class";
+  protected final String TEXT_3 = NL;
+  protected final String TEXT_4 = NL;
+
+	public classPattern()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    
+List<Object> aClassList = null;
+//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+
+for (Object aClassParameter : aClassList ) {
+
+this.aClass = (org.eclipse.emf.ecore.EClass)aClassParameter;
+
+
+    orchestration(ctx);
+    
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();
+}
+    
+    stringBuffer.append(TEXT_3);
+    stringBuffer.append(TEXT_4);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+    
+method_body(ictx.getBuffer(), ictx);
+    
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+    Map<String, Object> parameterValues = new HashMap<String, Object>();
+    parameterValues.put("aClass", this.aClass);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+    ictx.clearBuffer();}
+return loop;
+} 
+
+protected org.eclipse.emf.ecore.EClass aClass = null;
+public void set_aClass(org.eclipse.emf.ecore.EClass object) {
+this.aClass = object;
+}
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_1);
+    stringBuffer.append( aClass.getName() );
+    stringBuffer.append(TEXT_2);
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_1/pattern/myPattern.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_1/pattern/myPattern.java
new file mode 100644
index 0000000..a021aa6
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_1/pattern/myPattern.java
@@ -0,0 +1,94 @@
+package egf.uc1_1.pattern;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class myPattern 
+{
+  protected static String nl;
+  public static synchronized myPattern create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    myPattern result = new myPattern();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = NL + "  - ";
+  protected final String TEXT_2 = " attribute";
+  protected final String TEXT_3 = NL;
+  protected final String TEXT_4 = NL;
+
+	public myPattern()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    
+List<Object> anAttributeList = null;
+//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+
+for (Object anAttributeParameter : anAttributeList ) {
+
+this.anAttribute = (org.eclipse.emf.ecore.EAttribute)anAttributeParameter;
+
+
+    orchestration(ctx);
+    
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();
+}
+    
+    stringBuffer.append(TEXT_3);
+    stringBuffer.append(TEXT_4);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+    
+method_body(ictx.getBuffer(), ictx);
+    
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+    Map<String, Object> parameterValues = new HashMap<String, Object>();
+    parameterValues.put("anAttribute", this.anAttribute);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+    ictx.clearBuffer();}
+return loop;
+} 
+
+protected org.eclipse.emf.ecore.EAttribute anAttribute = null;
+public void set_anAttribute(org.eclipse.emf.ecore.EAttribute object) {
+this.anAttribute = object;
+}
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_1);
+    stringBuffer.append( anAttribute.getName() );
+    stringBuffer.append(TEXT_2);
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_2/pattern/ClassPattern.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_2/pattern/ClassPattern.java
new file mode 100644
index 0000000..54e1e42
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_2/pattern/ClassPattern.java
@@ -0,0 +1,92 @@
+package egf.uc1_2.pattern;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassPattern extends egf.uc1_2.pattern.parent.ParentPattern {
+  protected static String nl;
+  public static synchronized ClassPattern create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    ClassPattern result = new ClassPattern();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = " and me: ";
+  protected final String TEXT_2 = NL;
+  protected final String TEXT_3 = NL;
+
+	public ClassPattern()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    
+List<Object> parameterList = null;
+//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+
+for (Object parameterParameter : parameterList ) {
+
+this.parameter = (org.eclipse.emf.ecore.EClass)parameterParameter;
+
+
+    orchestration(ctx);
+    
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();
+}
+    
+    stringBuffer.append(TEXT_2);
+    stringBuffer.append(TEXT_3);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    super.orchestration(new SuperOrchestrationContext(ictx));
+
+    
+method_body(ictx.getBuffer(), ictx);
+    
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+    Map<String, Object> parameterValues = new HashMap<String, Object>();
+    parameterValues.put("parameter", this.parameter);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+    ictx.clearBuffer();}
+return loop;
+} 
+
+protected org.eclipse.emf.ecore.EClass parameter = null;
+public void set_parameter(org.eclipse.emf.ecore.EClass object) {
+this.parameter = object;
+}
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_1);
+    stringBuffer.append(parameter.getName());
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_2/pattern/parent/ParentPattern.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_2/pattern/parent/ParentPattern.java
new file mode 100644
index 0000000..4590247
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_2/pattern/parent/ParentPattern.java
@@ -0,0 +1,79 @@
+package egf.uc1_2.pattern.parent;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ParentPattern 
+{
+  protected static String nl;
+  public static synchronized ParentPattern create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    ParentPattern result = new ParentPattern();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = "//default content";
+  protected final String TEXT_2 = NL + "Hello ";
+  protected final String TEXT_3 = " from my parent";
+  protected final String TEXT_4 = NL;
+  protected final String TEXT_5 = NL;
+
+	public ParentPattern()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    orchestration(ctx);
+    if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();}
+    
+    stringBuffer.append(TEXT_4);
+    stringBuffer.append(TEXT_5);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+method_sayHello(ictx.getBuffer(), ictx);
+    
+method_sayFromParent(ictx.getBuffer(), ictx);
+    
+String loop = ictx.getBuffer().toString();
+return loop;
+} 
+
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_1);
+    }
+    protected void method_sayHello(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_2);
+    }
+    protected void method_sayFromParent(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_3);
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_3/pattern/HelloWorld.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_3/pattern/HelloWorld.java
new file mode 100644
index 0000000..1957df6
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_3/pattern/HelloWorld.java
@@ -0,0 +1,101 @@
+package egf.uc1_3.pattern;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class HelloWorld extends egf.uc1_3.pattern.parent.Hello {
+  protected static String nl;
+  public static synchronized HelloWorld create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    HelloWorld result = new HelloWorld();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = " ";
+  protected final String TEXT_2 = NL;
+  protected final String TEXT_3 = NL;
+
+	public HelloWorld()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    
+List<Object> aClassList = null;
+//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+
+for (Object aClassParameter : aClassList ) {
+
+this.aClass = (org.eclipse.emf.ecore.EClass)aClassParameter;
+
+
+    orchestration(ctx);
+    
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();
+}
+    
+    stringBuffer.append(TEXT_2);
+    stringBuffer.append(TEXT_3);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+method_SayHello(ictx.getBuffer(), ictx);
+    
+method_body(ictx.getBuffer(), ictx);
+    {
+final Map<String, Object> parameters = new HashMap<String, Object>();
+parameters.put("element", this.aClass);
+ExecutionContext ctx__0DfRACheEdIK9TtNUJzqw = new ExecutionContext(ictx);
+CallHelper.executeWithInjection("_7-a0kAzxEd-sdvrVfWaxAw", ctx__0DfRACheEdIK9TtNUJzqw, parameters);
+}
+
+    
+method_finish(ictx.getBuffer(), ictx);
+    
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+    Map<String, Object> parameterValues = new HashMap<String, Object>();
+    parameterValues.put("aClass", this.aClass);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+    ictx.clearBuffer();}
+return loop;
+} 
+
+protected org.eclipse.emf.ecore.EClass aClass = null;
+public void set_aClass(org.eclipse.emf.ecore.EClass object) {
+this.aClass = object;
+}
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_1);
+    stringBuffer.append( aClass.getName() );
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_3/pattern/friends/HelloFriends.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_3/pattern/friends/HelloFriends.java
new file mode 100644
index 0000000..f57d3e9
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_3/pattern/friends/HelloFriends.java
@@ -0,0 +1,91 @@
+package egf.uc1_3.pattern.friends;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class HelloFriends 
+{
+  protected static String nl;
+  public static synchronized HelloFriends create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    HelloFriends result = new HelloFriends();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = ", and all friends of ";
+  protected final String TEXT_2 = NL;
+  protected final String TEXT_3 = NL;
+
+	public HelloFriends()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    
+List<Object> elementList = null;
+//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+
+for (Object elementParameter : elementList ) {
+
+this.element = (org.eclipse.emf.ecore.EClass)elementParameter;
+
+
+    orchestration(ctx);
+    
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();
+}
+    
+    stringBuffer.append(TEXT_2);
+    stringBuffer.append(TEXT_3);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+method_body(ictx.getBuffer(), ictx);
+    
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+    Map<String, Object> parameterValues = new HashMap<String, Object>();
+    parameterValues.put("element", this.element);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+    ictx.clearBuffer();}
+return loop;
+} 
+
+protected org.eclipse.emf.ecore.EClass element = null;
+public void set_element(org.eclipse.emf.ecore.EClass object) {
+this.element = object;
+}
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_1);
+    stringBuffer.append( element.getName() );
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_3/pattern/parent/Hello.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_3/pattern/parent/Hello.java
new file mode 100644
index 0000000..6e764ba
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_3/pattern/parent/Hello.java
@@ -0,0 +1,77 @@
+package egf.uc1_3.pattern.parent;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Hello 
+{
+  protected static String nl;
+  public static synchronized Hello create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    Hello result = new Hello();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = "//default content";
+  protected final String TEXT_2 = NL + "Hello";
+  protected final String TEXT_3 = "!";
+  protected final String TEXT_4 = NL;
+  protected final String TEXT_5 = NL;
+
+	public Hello()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    orchestration(ctx);
+    if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();}
+    
+    stringBuffer.append(TEXT_4);
+    stringBuffer.append(TEXT_5);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+method_body(ictx.getBuffer(), ictx);
+    
+String loop = ictx.getBuffer().toString();
+return loop;
+} 
+
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_1);
+    }
+    protected void method_SayHello(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_2);
+    }
+    protected void method_finish(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_3);
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_4/pattern/AttributePattern.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_4/pattern/AttributePattern.java
new file mode 100644
index 0000000..025f78b
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_4/pattern/AttributePattern.java
@@ -0,0 +1,98 @@
+package egf.uc1_4.pattern;
+
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+import org.eclipse.egf.usecase.pattern.uc1.helper.*;
+
+public class AttributePattern 
+{
+  protected static String nl;
+  public static synchronized AttributePattern create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    AttributePattern result = new AttributePattern();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = "\t[Attribute '";
+  protected final String TEXT_2 = "']  ";
+  protected final String TEXT_3 = NL;
+  protected final String TEXT_4 = NL;
+  protected final String TEXT_5 = NL;
+
+	public AttributePattern()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    
+List<Object> parameterList = null;
+//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+
+for (Object parameterParameter : parameterList ) {
+
+this.parameter = (org.eclipse.emf.ecore.EAttribute)parameterParameter;
+
+
+    orchestration(ctx);
+    
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();
+}
+    
+    stringBuffer.append(TEXT_4);
+    stringBuffer.append(TEXT_5);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+method_body(ictx.getBuffer(), ictx);
+    
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+    Map<String, Object> parameterValues = new HashMap<String, Object>();
+    parameterValues.put("parameter", this.parameter);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+    ictx.clearBuffer();}
+return loop;
+} 
+
+protected org.eclipse.emf.ecore.EAttribute parameter = null;
+public void set_parameter(org.eclipse.emf.ecore.EAttribute object) {
+this.parameter = object;
+}
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_1);
+    stringBuffer.append(parameter.getName());
+    stringBuffer.append(TEXT_2);
+     MyHelper.incCounter (ctx); 
+    stringBuffer.append(TEXT_3);
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_4/pattern/ClassPattern.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_4/pattern/ClassPattern.java
new file mode 100644
index 0000000..0429c74
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_4/pattern/ClassPattern.java
@@ -0,0 +1,132 @@
+package egf.uc1_4.pattern;
+
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+import org.eclipse.egf.usecase.pattern.uc1.helper.*;
+
+public class ClassPattern 
+{
+  protected static String nl;
+  public static synchronized ClassPattern create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    ClassPattern result = new ClassPattern();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = "//default content";
+  protected final String TEXT_2 = NL;
+  protected final String TEXT_3 = NL + "[Begin. ";
+  protected final String TEXT_4 = "]" + NL;
+  protected final String TEXT_5 = "\t=> ";
+  protected final String TEXT_6 = " attribute(s)" + NL + "[End. ";
+  protected final String TEXT_7 = "]" + NL;
+  protected final String TEXT_8 = NL;
+  protected final String TEXT_9 = NL;
+
+	public ClassPattern()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    
+	_separator = "'";
+
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    
+List<Object> parameterList = null;
+//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+
+for (Object parameterParameter : parameterList ) {
+
+this.parameter = (org.eclipse.emf.ecore.EClass)parameterParameter;
+
+
+    orchestration(ctx);
+    
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();
+}
+    
+    stringBuffer.append(TEXT_8);
+    stringBuffer.append(TEXT_9);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+method_before(ictx.getBuffer(), ictx);
+    {
+final Map<String, Object> parameters = new HashMap<String, Object>();
+index = ictx.getBuffer().length();
+ictx.getExecutionBuffer().append(ictx.getBuffer());
+parameters.put("parameter", this.parameter);
+CallbackContext ctx_callback = new CallbackContext(ictx);
+CallHelper.callBack(ctx_callback, parameters);
+}
+
+    
+method_after(ictx.getBuffer(), ictx);
+    
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+    Map<String, Object> parameterValues = new HashMap<String, Object>();
+    parameterValues.put("parameter", this.parameter);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+    ictx.clearBuffer();}
+return loop;
+} 
+
+protected java.lang.String _separator = null;
+protected org.eclipse.emf.ecore.EClass parameter = null;
+public void set_parameter(org.eclipse.emf.ecore.EClass object) {
+this.parameter = object;
+}
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_1);
+    }
+    protected void method_before(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_2);
+     MyHelper.resetCounter (ctx); 
+    stringBuffer.append(TEXT_3);
+    stringBuffer.append( _separator );
+    stringBuffer.append(parameter.getName());
+    stringBuffer.append( _separator );
+    stringBuffer.append(TEXT_4);
+    }
+    protected void method_after(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_5);
+    stringBuffer.append( MyHelper.getCounter (ctx) );
+    stringBuffer.append(TEXT_6);
+    stringBuffer.append( _separator );
+    stringBuffer.append(parameter.getName());
+    stringBuffer.append( _separator );
+    stringBuffer.append(TEXT_7);
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_5/pattern/ClassPattern.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_5/pattern/ClassPattern.java
new file mode 100644
index 0000000..5d2d7d4
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_5/pattern/ClassPattern.java
@@ -0,0 +1,101 @@
+package egf.uc1_5.pattern;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassPattern 
+{
+  protected static String nl;
+  public static synchronized ClassPattern create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    ClassPattern result = new ClassPattern();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = "";
+  protected final String TEXT_2 = NL;
+  protected final String TEXT_3 = NL;
+
+	public ClassPattern()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    
+paramDesc = new IQuery.ParameterDescription("parameter", "http://www.eclipse.org/emf/2002/Ecore#//EClass");
+queryCtx = new HashMap<String, String>();
+List<Object> parameterList = QueryHelper.load(ctx, "org.eclipse.egf.pattern.basic.query").execute(paramDesc, queryCtx, ctx);
+
+
+for (Object parameterParameter : parameterList ) {
+
+this.parameter = (org.eclipse.emf.ecore.EClass)parameterParameter;
+
+
+    orchestration(ctx);
+    
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();
+}
+    
+    stringBuffer.append(TEXT_2);
+    stringBuffer.append(TEXT_3);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+method_body(ictx.getBuffer(), ictx);
+    {
+final Map<String, Object> parameters = new HashMap<String, Object>();
+index = ictx.getBuffer().length();
+ictx.getExecutionBuffer().append(ictx.getBuffer());
+parameters.put("parameter", this.parameter);
+CallbackContext ctx_callback = new CallbackContext(ictx);
+CallHelper.callBack(ctx_callback, parameters);
+}
+
+    
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+    Map<String, Object> parameterValues = new HashMap<String, Object>();
+    parameterValues.put("parameter", this.parameter);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+    ictx.clearBuffer();}
+return loop;
+} 
+
+protected org.eclipse.emf.ecore.EClass parameter = null;
+public void set_parameter(org.eclipse.emf.ecore.EClass object) {
+this.parameter = object;
+}
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_1);
+    stringBuffer.append(parameter.getName());
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_6/pattern/JetClassPattern.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_6/pattern/JetClassPattern.java
new file mode 100644
index 0000000..ec0fe32
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_6/pattern/JetClassPattern.java
@@ -0,0 +1,99 @@
+package egf.uc1_6.pattern;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class JetClassPattern 
+{
+  protected static String nl;
+  public static synchronized JetClassPattern create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    JetClassPattern result = new JetClassPattern();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = "- Jet: ";
+  protected final String TEXT_2 = NL;
+  protected final String TEXT_3 = NL;
+
+	public JetClassPattern()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    
+List<Object> aClassList = null;
+//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+
+for (Object aClassParameter : aClassList ) {
+
+this.aClass = (org.eclipse.emf.ecore.EClass)aClassParameter;
+
+
+    orchestration(ctx);
+    
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();
+}
+    
+    stringBuffer.append(TEXT_2);
+    stringBuffer.append(TEXT_3);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+    
+method_body(ictx.getBuffer(), ictx);
+    {
+final Map<String, Object> parameters = new HashMap<String, Object>();
+parameters.put("aClass", this.aClass);
+ExecutionContext ctx__0CHYACheEdIK9TtNUJzqw = new ExecutionContext(ictx);
+CallHelper.executeWithInjection("_iXOsIBrgEd-cXtp4jDfJVg", ctx__0CHYACheEdIK9TtNUJzqw, parameters);
+}
+
+    
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+    Map<String, Object> parameterValues = new HashMap<String, Object>();
+    parameterValues.put("aClass", this.aClass);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+    ictx.clearBuffer();}
+return loop;
+} 
+
+protected org.eclipse.emf.ecore.EClass aClass = null;
+public void set_aClass(org.eclipse.emf.ecore.EClass object) {
+this.aClass = object;
+}
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_1);
+    stringBuffer.append( aClass.getName () );
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_6/pattern/java/JavaPattern.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_6/pattern/java/JavaPattern.java
new file mode 100644
index 0000000..33da535
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_6/pattern/java/JavaPattern.java
@@ -0,0 +1,70 @@
+package egf.uc1_6.pattern.java;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+import org.eclipse.egf.core.EGFCorePlugin;
+
+public class JavaPattern {
+
+	public JavaPattern() {
+		//Here is the constructor
+// add initialisation of the pattern variables (declaration has been already done).
+	}
+
+
+
+public void generate (Object argument) throws Exception {
+InternalPatternContext ctx = (InternalPatternContext)argument;
+IQuery.ParameterDescription paramDesc = null;
+Map<String, String> queryCtx = null;
+List<Object> aClassList = null;
+//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+
+for (Object aClassParameter : aClassList ) {
+
+this.aClass = (org.eclipse.emf.ecore.EClass)aClassParameter;
+
+orchestration((PatternContext)argument);
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();}
+}
+
+public String orchestration(PatternContext ctx) throws Exception {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+method_body(ictx.getBuffer(), ictx);
+
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+Map<String, Object> parameterValues = new HashMap<String, Object>();
+parameterValues.put("aClass", this.aClass);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+ictx.clearBuffer();}
+return loop;
+}
+
+protected void method_body(final StringBuffer out, final PatternContext ctx)throws Exception 
+{
+
+	  // Message on the default console
+	  System.out.println("Java: " + aClass.getName()); //$NON-NLS-1$
+
+	  // Message on the EGF console
+	  EGFCorePlugin.getDefault().logInfo("Java: " + aClass.getName());
+
+}
+
+private org.eclipse.emf.ecore.EClass aClass;
+
+public void set_aClass(org.eclipse.emf.ecore.EClass aClass) {
+    this.aClass = aClass;
+}
+
+}
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_7/pattern/ClassPattern.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_7/pattern/ClassPattern.java
new file mode 100644
index 0000000..50d5285
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_7/pattern/ClassPattern.java
@@ -0,0 +1,107 @@
+package egf.uc1_7.pattern;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassPattern 
+{
+  protected static String nl;
+  public static synchronized ClassPattern create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    ClassPattern result = new ClassPattern();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = NL;
+  protected final String TEXT_2 = NL;
+  protected final String TEXT_3 = " contains:";
+  protected final String TEXT_4 = NL;
+  protected final String TEXT_5 = NL;
+
+	public ClassPattern()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    
+List<Object> parameterList = null;
+//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+
+for (Object parameterParameter : parameterList ) {
+
+this.parameter = (org.eclipse.emf.ecore.EClass)parameterParameter;
+
+
+    orchestration(ctx);
+    
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();
+}
+    
+    stringBuffer.append(TEXT_4);
+    stringBuffer.append(TEXT_5);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+method_body(ictx.getBuffer(), ictx);
+    
+method_setupVariable(ictx.getBuffer(), ictx);
+    ExecutionContext ctx__0EWMoCheEdIK9TtNUJzqw = new ExecutionContext(ictx);
+ctx__0EWMoCheEdIK9TtNUJzqw.setValue(PatternContext.INJECTED_CONTEXT, variable);
+CallHelper.execute("_RdSMYBViEd-JoY-b5_Vpcw", ctx__0EWMoCheEdIK9TtNUJzqw);
+
+
+    
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+    Map<String, Object> parameterValues = new HashMap<String, Object>();
+    parameterValues.put("parameter", this.parameter);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+    ictx.clearBuffer();}
+return loop;
+} 
+
+protected org.eclipse.emf.ecore.EClass variable = null;
+protected org.eclipse.emf.ecore.EClass parameter = null;
+public void set_parameter(org.eclipse.emf.ecore.EClass object) {
+this.parameter = object;
+}
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_1);
+    stringBuffer.append(TEXT_2);
+    stringBuffer.append(parameter.getName());
+    stringBuffer.append(TEXT_3);
+    }
+    protected void method_setupVariable(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    variable = parameter;
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_7/pattern/forInjection/ForInjectionPattern.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_7/pattern/forInjection/ForInjectionPattern.java
new file mode 100644
index 0000000..03f382d
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/generated/egf/uc1_7/pattern/forInjection/ForInjectionPattern.java
@@ -0,0 +1,95 @@
+package egf.uc1_7.pattern.forInjection;
+
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ForInjectionPattern 
+{
+  protected static String nl;
+  public static synchronized ForInjectionPattern create(String lineSeparator)
+  {
+    nl = lineSeparator;
+    ForInjectionPattern result = new ForInjectionPattern();
+    nl = null;
+    return result;
+  }
+
+  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+  protected final String TEXT_1 = NL + "    - \"";
+  protected final String TEXT_2 = "\" ";
+  protected final String TEXT_3 = NL;
+  protected final String TEXT_4 = NL;
+
+	public ForInjectionPattern()
+	{
+	//Here is the constructor
+StringBuffer stringBuffer = new StringBuffer();
+
+    // add initialisation of the pattern variables (declaration has been already done).
+    
+	}
+  	
+  	public String generate(Object argument) throws Exception
+  {
+    final StringBuffer stringBuffer = new StringBuffer();
+    
+    InternalPatternContext ctx = (InternalPatternContext)argument;
+Map<String, String> queryCtx = null;
+IQuery.ParameterDescription paramDesc = null;
+
+    
+paramDesc = new IQuery.ParameterDescription("parameter", "http://www.eclipse.org/emf/2002/Ecore#//ENamedElement");
+queryCtx = new HashMap<String, String>();
+List<Object> parameterList = QueryHelper.load(ctx, "org.eclipse.egf.pattern.query.EObjectInjectedContextQuery").execute(paramDesc, queryCtx, ctx);
+
+
+for (Object parameterParameter : parameterList ) {
+
+this.parameter = (org.eclipse.emf.ecore.ENamedElement)parameterParameter;
+
+
+    orchestration(ctx);
+    
+}
+if (ctx.useReporter()){
+    ctx.getReporter().executionFinished(ctx.getExecutionBuffer().toString(), ctx);
+    ctx.clearBuffer();
+}
+    
+    stringBuffer.append(TEXT_3);
+    stringBuffer.append(TEXT_4);
+    return stringBuffer.toString();
+  }
+public String orchestration(PatternContext ctx) throws Exception  {
+InternalPatternContext ictx = (InternalPatternContext)ctx;
+int index = 0, executionIndex = ictx.getExecutionBuffer().length();
+
+    
+method_body(ictx.getBuffer(), ictx);
+    
+String loop = ictx.getBuffer().toString();
+if (ictx.useReporter()){
+    ictx.getExecutionBuffer().append(ictx.getBuffer().substring(index));
+    Map<String, Object> parameterValues = new HashMap<String, Object>();
+    parameterValues.put("parameter", this.parameter);
+    ictx.getReporter().loopFinished(loop, ictx, parameterValues);
+    ictx.clearBuffer();}
+return loop;
+} 
+
+protected org.eclipse.emf.ecore.ENamedElement parameter = null;
+public void set_parameter(org.eclipse.emf.ecore.ENamedElement object) {
+this.parameter = object;
+}
+
+    protected void method_body(final StringBuffer stringBuffer, final PatternContext ctx)throws Exception {
+
+    stringBuffer.append(TEXT_1);
+    stringBuffer.append(parameter.getName());
+    stringBuffer.append(TEXT_2);
+    stringBuffer.append(parameter.getClass().getSimpleName());
+    }
+    }
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/plugin.properties b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/plugin.properties
new file mode 100644
index 0000000..41f2671
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/plugin.properties
@@ -0,0 +1,13 @@
+##

+#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.

+#  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:

+#      Thales Corporate Services S.A.S - initial API and implementation

+##

+

+pluginName=EGF Usecase Pattern UC1 (Incubation)

+providerName=Eclipse Modeling Project

diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/plugin.xml b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/plugin.xml
new file mode 100644
index 0000000..79add8f
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/plugin.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<!--
+     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
+     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:
+         Thales Corporate Services S.A.S - initial API and implementation
+ -->
+<plugin>
+   <extension
+         point="org.eclipse.egf.core.fcore">
+      <fcore
+            id="egf/Pattern_UC1_0_AllTogether.fcore">
+      </fcore>
+      <fcore
+            id="egf/Pattern_UC1_1_ClassPattern.fcore">
+      </fcore>
+      <fcore
+            id="egf/Pattern_UC1_2_Inheritance.fcore">
+      </fcore>
+      <fcore
+            id="egf/Pattern_UC1_3_InheritanceAndCall.fcore">
+      </fcore>
+      <fcore
+            id="egf/Pattern_UC1_4_Callback_StrategyBased.fcore">
+      </fcore>
+      <fcore
+            id="egf/Pattern_UC1_5_Callback_WithJavaClass.fcore">
+      </fcore>
+      <fcore
+            id="egf/Pattern_UC1_6_JetPatternCallsJavaPattern.fcore">
+      </fcore>
+      <fcore
+            id="egf/Pattern_UC1_7_Injection.fcore">
+      </fcore>
+   </extension>
+   <extension
+         point="org.eclipse.egf.query">
+      <query
+            class="org.eclipse.egf.usecase.pattern.uc1.query.ContentQuery"
+            id="org.eclipse.egf.usecase.pattern.uc1.query1"
+            name="ContentQuery">
+      </query>
+   </extension>
+   <extension
+         point="org.eclipse.egf.core.test">
+      <EGFTestModel
+            modelPath="test/Pattern_UC1.test">
+      </EGFTestModel>
+   </extension>
+</plugin>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/HelloWorld.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/HelloWorld.java
new file mode 100644
index 0000000..8b52925
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/HelloWorld.java
@@ -0,0 +1,51 @@
+/**

+ * <copyright>

+ *

+ *  Copyright (c) 2010 Thales Corporate Services S.A.S.

+ *  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:

+ *      Thales Corporate Services S.A.S - initial API and implementation

+ * 

+ * </copyright>

+ */

+

+package org.eclipse.egf.usecase.pattern.uc1;

+

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

+import org.eclipse.egf.core.EGFCorePlugin;

+import org.eclipse.egf.core.producer.InvocationException;

+import org.eclipse.egf.ftask.producer.context.ITaskProductionContext;

+import org.eclipse.egf.ftask.producer.invocation.ITaskProduction;

+

+/**

+ * @author Benoit Langlois

+ * 

+ */

+

+public class HelloWorld implements ITaskProduction {

+

+    public void doExecute(ITaskProductionContext taskProductionContext, IProgressMonitor monitor) throws InvocationException {

+        String value = taskProductionContext.getInputValue("value", String.class); //$NON-NLS-1$

+        String outputMessage = new String("Hello " + value + "!"); //$NON-NLS-1$ //$NON-NLS-2$

+        // Message on the default console

+        System.out.println(outputMessage);

+        // Message on the EGF console

+        EGFCorePlugin.getDefault().logInfo(outputMessage);

+

+    }

+

+    public void postExecute(ITaskProductionContext taskProductionContext, IProgressMonitor monitor) throws InvocationException {

+        // TODO Auto-generated method stub

+

+    }

+

+    public void preExecute(ITaskProductionContext taskProductionContext, IProgressMonitor monitor) throws InvocationException {

+        // TODO Auto-generated method stub

+

+    }

+

+}

diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/callback/MyCallbackHandler.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/callback/MyCallbackHandler.java
new file mode 100644
index 0000000..9361014
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/callback/MyCallbackHandler.java
@@ -0,0 +1,44 @@
+/**
+ * <copyright>
+ * 
+ * Copyright (c) 2009 Thales Corporate Services S.A.S.
+ * 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:
+ * Thales Corporate Services S.A.S - initial API and implementation
+ * 
+ * </copyright>
+ */
+
+package org.eclipse.egf.usecase.pattern.uc1.callback;
+
+import java.util.Map;
+
+import org.eclipse.egf.core.EGFCorePlugin;
+import org.eclipse.egf.model.pattern.CallBackHandler;
+import org.eclipse.egf.model.pattern.PatternContext;
+import org.eclipse.egf.model.pattern.PatternException;
+
+/**
+ * @author Thomas Guiu
+ * 
+ */
+public class MyCallbackHandler implements CallBackHandler {
+
+    public void handleCall(PatternContext ctx, Map<String, Object> parameters) throws PatternException {
+        String message = "Callback on "; //$NON-NLS-1$
+        for (String name : parameters.keySet()) {
+            message += (name + " "); //$NON-NLS-1$
+        }
+
+        // Message on the default console
+        System.out.println(message);
+
+        // Message on the EGF console
+        EGFCorePlugin.getDefault().logInfo(message);
+    }
+
+}
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/helper/MyHelper.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/helper/MyHelper.java
new file mode 100644
index 0000000..71476b2
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/helper/MyHelper.java
@@ -0,0 +1,46 @@
+/**

+ * <copyright>

+ * 

+ * Copyright (c) 2010 Thales Corporate Services S.A.S.

+ * 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:

+ * Thales Corporate Services S.A.S - initial API and implementation

+ * 

+ * </copyright>

+ */

+

+package org.eclipse.egf.usecase.pattern.uc1.helper;

+

+import org.eclipse.egf.common.helper.ObjectHolder;

+import org.eclipse.egf.model.pattern.PatternContext;

+

+/**

+ * @author Benoit Langlois

+ */

+

+public class MyHelper {

+

+    private static final String KEY_COUNTER = "counter"; //$NON-NLS-1$

+

+    public static void resetCounter(PatternContext ctx) {

+        ObjectHolder<Integer> holder = new ObjectHolder<Integer>(new Integer(0));

+        ctx.setValue(KEY_COUNTER, holder);

+    }

+

+    @SuppressWarnings("unchecked")

+    public static void incCounter(PatternContext ctx) {

+        ObjectHolder<Integer> holder = (ObjectHolder<Integer>) ctx.getValue(KEY_COUNTER);

+        holder.object = new Integer(holder.object.intValue() + 1);

+    }

+

+    @SuppressWarnings("unchecked")

+    public static Integer getCounter(PatternContext ctx) {

+        ObjectHolder<Integer> holder = (ObjectHolder<Integer>) ctx.getValue(KEY_COUNTER);

+        return holder.object;

+    }

+

+}

diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/query/ContentQuery.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/query/ContentQuery.java
new file mode 100644
index 0000000..c4bd0ec
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/query/ContentQuery.java
@@ -0,0 +1,60 @@
+/**
+ * <copyright>
+ *
+ *  Copyright (c) 2010 Thales Corporate Services S.A.S.
+ *  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:
+ *      Thales Corporate Services S.A.S - initial API and implementation
+ * 
+ * </copyright>
+ */
+
+package org.eclipse.egf.usecase.pattern.uc1.query;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.egf.model.pattern.PatternContext;
+import org.eclipse.egf.pattern.Messages;
+import org.eclipse.egf.pattern.query.IQuery;
+import org.eclipse.egf.pattern.utils.ParameterTypeHelper;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.query.conditions.eobjects.EObjectTypeRelationCondition;
+import org.eclipse.emf.query.conditions.eobjects.TypeRelation;
+import org.eclipse.emf.query.statements.FROM;
+import org.eclipse.emf.query.statements.IQueryResult;
+import org.eclipse.emf.query.statements.SELECT;
+import org.eclipse.emf.query.statements.WHERE;
+
+/**
+ * @author Thomas Guiu
+ * 
+ */
+
+public class ContentQuery implements IQuery {
+
+    public List<Object> execute(ParameterDescription parameter, Map<String, String> queryCtx, PatternContext context) {
+        String type = parameter.getType();
+        Object loadClass = ParameterTypeHelper.INSTANCE.loadClass(type);
+        if (!(loadClass instanceof EClass))
+            throw new IllegalStateException(Messages.query_error1);
+
+        Collection<EObject> domain = ((EObject) context.getValue(PatternContext.INJECTED_CONTEXT)).eContents();
+        if (domain == null)
+            throw new IllegalStateException(Messages.query_error8);
+
+        SELECT query = new SELECT(new FROM(domain), new WHERE(new EObjectTypeRelationCondition((EClass) loadClass, TypeRelation.SAMETYPE_OR_SUBTYPE_LITERAL)));
+        IQueryResult result = query.execute();
+        if (result.getException() != null)
+            throw new IllegalStateException(result.getException());
+        return new ArrayList<Object>(result.getEObjects());
+    }
+
+}
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/reporter/MyReporter.java b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/reporter/MyReporter.java
new file mode 100644
index 0000000..4b0ed25
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/src/org/eclipse/egf/usecase/pattern/uc1/reporter/MyReporter.java
@@ -0,0 +1,45 @@
+/**
+ * <copyright>
+ * 
+ * Copyright (c) 2010 Thales Corporate Services S.A.S.
+ * 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:
+ * Thales Corporate Services S.A.S - initial API and implementation
+ * 
+ * </copyright>
+ */
+
+package org.eclipse.egf.usecase.pattern.uc1.reporter;
+
+import java.util.Map;
+
+import org.eclipse.egf.core.EGFCorePlugin;
+import org.eclipse.egf.model.pattern.PatternContext;
+import org.eclipse.egf.model.pattern.PatternExecutionReporter;
+
+/**
+ * @author Benoit Langlois
+ * 
+ */
+
+public class MyReporter implements PatternExecutionReporter {
+
+    public void executionFinished(String output, PatternContext context) {
+        String message = new String("--------------\nResult of pattern:\n" + output); //$NON-NLS-1$
+
+        // Message on the default console
+        System.out.println(message);
+
+        // Message on the EGF console
+        EGFCorePlugin.getDefault().logInfo(message);
+    }
+
+    public void loopFinished(String output, PatternContext context, Map<String, Object> parameterValues) {
+        // TODO Auto-generated method stub
+    }
+
+}
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0kQzxEd-sdvrVfWaxAw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0kQzxEd-sdvrVfWaxAw.pt
new file mode 100644
index 0000000..d315f10
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0kQzxEd-sdvrVfWaxAw.pt
@@ -0,0 +1 @@
+<%@ jet package="egf.uc1_3.pattern.friends" class="HelloFriends" imports="java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0kgzxEd-sdvrVfWaxAw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0kgzxEd-sdvrVfWaxAw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0kgzxEd-sdvrVfWaxAw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0kwzxEd-sdvrVfWaxAw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0kwzxEd-sdvrVfWaxAw.pt
new file mode 100644
index 0000000..b38fc0b
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0kwzxEd-sdvrVfWaxAw.pt
@@ -0,0 +1 @@
+, and all friends of <%= element.getName() %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0lAzxEd-sdvrVfWaxAw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0lAzxEd-sdvrVfWaxAw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7-a0kAzxEd-sdvrVfWaxAw/method._7-a0lAzxEd-sdvrVfWaxAw.pt
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkcQzsEd-pgpX7a7GeEA.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkcQzsEd-pgpX7a7GeEA.pt
new file mode 100644
index 0000000..7265eba
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkcQzsEd-pgpX7a7GeEA.pt
@@ -0,0 +1 @@
+<%@ jet package="egf.uc1_3.pattern.parent" class="Hello" imports="java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkcgzsEd-pgpX7a7GeEA.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkcgzsEd-pgpX7a7GeEA.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkcgzsEd-pgpX7a7GeEA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkcwzsEd-pgpX7a7GeEA.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkcwzsEd-pgpX7a7GeEA.pt
new file mode 100644
index 0000000..8d16cca
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkcwzsEd-pgpX7a7GeEA.pt
@@ -0,0 +1 @@
+//default content
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkdAzsEd-pgpX7a7GeEA.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkdAzsEd-pgpX7a7GeEA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._7nKkdAzsEd-pgpX7a7GeEA.pt
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._Z8MpMAztEd-pgpX7a7GeEA.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._Z8MpMAztEd-pgpX7a7GeEA.pt
new file mode 100644
index 0000000..5bbac73
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._Z8MpMAztEd-pgpX7a7GeEA.pt
@@ -0,0 +1,2 @@
+

+Hello
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._pn8JUAztEd-pgpX7a7GeEA.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._pn8JUAztEd-pgpX7a7GeEA.pt
new file mode 100644
index 0000000..74e0f12
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._7nKkcAzsEd-pgpX7a7GeEA/method._pn8JUAztEd-pgpX7a7GeEA.pt
@@ -0,0 +1 @@
+!
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8YRe1Ed-DaY2uHNBaQg.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8YRe1Ed-DaY2uHNBaQg.pt
new file mode 100644
index 0000000..223daef
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8YRe1Ed-DaY2uHNBaQg.pt
@@ -0,0 +1 @@
+<%@ jet package="egf.uc1_4.pattern" class="ClassPattern" imports="org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.* org.eclipse.egf.usecase.pattern.uc1.helper.*"  %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8Yhe1Ed-DaY2uHNBaQg.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8Yhe1Ed-DaY2uHNBaQg.pt
new file mode 100644
index 0000000..e482171
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8Yhe1Ed-DaY2uHNBaQg.pt
@@ -0,0 +1,3 @@
+<%

+	_separator = "'";

+%>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8Yxe1Ed-DaY2uHNBaQg.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8Yxe1Ed-DaY2uHNBaQg.pt
new file mode 100644
index 0000000..8d16cca
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8Yxe1Ed-DaY2uHNBaQg.pt
@@ -0,0 +1 @@
+//default content
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8ZBe1Ed-DaY2uHNBaQg.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8ZBe1Ed-DaY2uHNBaQg.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._8lp8ZBe1Ed-DaY2uHNBaQg.pt
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._CFlv0Be2Ed-DaY2uHNBaQg.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._CFlv0Be2Ed-DaY2uHNBaQg.pt
new file mode 100644
index 0000000..69027dc
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._CFlv0Be2Ed-DaY2uHNBaQg.pt
@@ -0,0 +1,5 @@
+
+
+<% MyHelper.resetCounter (ctx); %>
+[Begin. <%= _separator %><%=parameter.getName()%><%= _separator %>]
+
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._Co-JsBe2Ed-DaY2uHNBaQg.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._Co-JsBe2Ed-DaY2uHNBaQg.pt
new file mode 100644
index 0000000..2671bfd
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._8lp8YBe1Ed-DaY2uHNBaQg/method._Co-JsBe2Ed-DaY2uHNBaQg.pt
@@ -0,0 +1,3 @@
+	=> <%= MyHelper.getCounter (ctx) %> attribute(s)
+[End. <%= _separator %><%=parameter.getName()%><%= _separator %>]
+
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZcQzrEd-pgpX7a7GeEA.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZcQzrEd-pgpX7a7GeEA.pt
new file mode 100644
index 0000000..3adbdc2
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZcQzrEd-pgpX7a7GeEA.pt
@@ -0,0 +1 @@
+<%@ jet package="egf.uc1_3.pattern" class="HelloWorld" imports="java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZcgzrEd-pgpX7a7GeEA.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZcgzrEd-pgpX7a7GeEA.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZcgzrEd-pgpX7a7GeEA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZcwzrEd-pgpX7a7GeEA.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZcwzrEd-pgpX7a7GeEA.pt
new file mode 100644
index 0000000..9dca8d6
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZcwzrEd-pgpX7a7GeEA.pt
@@ -0,0 +1 @@
+ <%= aClass.getName() %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZdAzrEd-pgpX7a7GeEA.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZdAzrEd-pgpX7a7GeEA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._AVTZcAzrEd-pgpX7a7GeEA/method._AVTZdAzrEd-pgpX7a7GeEA.pt
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCARe6Ed-O0P2188kAmA.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCARe6Ed-O0P2188kAmA.pt
new file mode 100644
index 0000000..1ec4b11
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCARe6Ed-O0P2188kAmA.pt
@@ -0,0 +1 @@
+<%@ jet package="egf.uc1_5.pattern" class="ClassPattern" imports="java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCAhe6Ed-O0P2188kAmA.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCAhe6Ed-O0P2188kAmA.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCAhe6Ed-O0P2188kAmA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCAxe6Ed-O0P2188kAmA.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCAxe6Ed-O0P2188kAmA.pt
new file mode 100644
index 0000000..a026402
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCAxe6Ed-O0P2188kAmA.pt
@@ -0,0 +1,2 @@
+

+<%=parameter.getName()%>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCBBe6Ed-O0P2188kAmA.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCBBe6Ed-O0P2188kAmA.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._MTvCABe6Ed-O0P2188kAmA/method._MTvCBBe6Ed-O0P2188kAmA.pt
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2cBVgEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2cBVgEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..f081f62
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2cBVgEd-JoY-b5_Vpcw.pt
@@ -0,0 +1 @@
+<%@ jet package="egf.uc1_2.pattern" class="ClassPattern" imports="java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2cRVgEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2cRVgEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2cRVgEd-JoY-b5_Vpcw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2chVgEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2chVgEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..274815d
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2chVgEd-JoY-b5_Vpcw.pt
@@ -0,0 +1 @@
+ and me: <%=parameter.getName()%>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2cxVgEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2cxVgEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._NIgPYBVgEd-JoY-b5_Vpcw/method._NIg2cxVgEd-JoY-b5_Vpcw.pt
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._Qdr2wBe2Ed-DaY2uHNBaQg.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._Qdr2wBe2Ed-DaY2uHNBaQg.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._Qdr2wBe2Ed-DaY2uHNBaQg.pt
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._QdrPsRe2Ed-DaY2uHNBaQg.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._QdrPsRe2Ed-DaY2uHNBaQg.pt
new file mode 100644
index 0000000..63f6fc4
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._QdrPsRe2Ed-DaY2uHNBaQg.pt
@@ -0,0 +1 @@
+<%@ jet package="egf.uc1_4.pattern" class="AttributePattern" imports="org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.* org.eclipse.egf.usecase.pattern.uc1.helper.*"  %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._QdrPshe2Ed-DaY2uHNBaQg.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._QdrPshe2Ed-DaY2uHNBaQg.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._QdrPshe2Ed-DaY2uHNBaQg.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._QdrPsxe2Ed-DaY2uHNBaQg.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._QdrPsxe2Ed-DaY2uHNBaQg.pt
new file mode 100644
index 0000000..5d262b9
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QdrPsBe2Ed-DaY2uHNBaQg/method._QdrPsxe2Ed-DaY2uHNBaQg.pt
@@ -0,0 +1,2 @@
+	[Attribute '<%=parameter.getName()%>']  <% MyHelper.incCounter (ctx); %>
+
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXisRsZEd-Cmei4SZ1Naw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXisRsZEd-Cmei4SZ1Naw.pt
new file mode 100644
index 0000000..ea5410e
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXisRsZEd-Cmei4SZ1Naw.pt
@@ -0,0 +1 @@
+<%@ jet package="egf.uc1_1.pattern" class="classPattern" imports="java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXishsZEd-Cmei4SZ1Naw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXishsZEd-Cmei4SZ1Naw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXishsZEd-Cmei4SZ1Naw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXisxsZEd-Cmei4SZ1Naw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXisxsZEd-Cmei4SZ1Naw.pt
new file mode 100644
index 0000000..47786fb
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXisxsZEd-Cmei4SZ1Naw.pt
@@ -0,0 +1,3 @@
+

+

+- Hello <%= aClass.getName() %> Class
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXitBsZEd-Cmei4SZ1Naw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXitBsZEd-Cmei4SZ1Naw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._QmXisBsZEd-Cmei4SZ1Naw/method._QmXitBsZEd-Cmei4SZ1Naw.pt
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSMYRViEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSMYRViEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..2d6a9d0
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSMYRViEd-JoY-b5_Vpcw.pt
@@ -0,0 +1 @@
+<%@ jet package="egf.uc1_7.pattern.forInjection" class="ForInjectionPattern" imports="java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSMYhViEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSMYhViEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSMYhViEd-JoY-b5_Vpcw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSzcBViEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSzcBViEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..5bad10c
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSzcBViEd-JoY-b5_Vpcw.pt
@@ -0,0 +1,3 @@
+
+
+    - "<%=parameter.getName()%>" <%=parameter.getClass().getSimpleName()%>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSzcRViEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSzcRViEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RdSMYBViEd-JoY-b5_Vpcw/method._RdSzcRViEd-JoY-b5_Vpcw.pt
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._PbStEBbvEd-thalzjBN9kg.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._PbStEBbvEd-thalzjBN9kg.pt
new file mode 100644
index 0000000..2844727
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._PbStEBbvEd-thalzjBN9kg.pt
@@ -0,0 +1 @@
+ from my parent
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD8RVgEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD8RVgEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..9388a0a
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD8RVgEd-JoY-b5_Vpcw.pt
@@ -0,0 +1 @@
+<%@ jet package="egf.uc1_2.pattern.parent" class="ParentPattern" imports="java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*"  %>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD8hVgEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD8hVgEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..d630053
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD8hVgEd-JoY-b5_Vpcw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD8xVgEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD8xVgEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..8d16cca
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD8xVgEd-JoY-b5_Vpcw.pt
@@ -0,0 +1 @@
+//default content
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD9BVgEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD9BVgEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._RfrD9BVgEd-JoY-b5_Vpcw.pt
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._X63lwBVgEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._X63lwBVgEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..67d91db
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._RfrD8BVgEd-JoY-b5_Vpcw/method._X63lwBVgEd-JoY-b5_Vpcw.pt
@@ -0,0 +1,2 @@
+

+Hello 
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._YVbI4BViEd-JoY-b5_Vpcw/method._AZL8wBVjEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._YVbI4BViEd-JoY-b5_Vpcw/method._AZL8wBVjEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..810ff30
--- /dev/null
+++ b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._YVbI4BViEd-JoY-b5_Vpcw/method._AZL8wBVjEd-JoY-b5_Vpcw.pt
@@ -0,0 +1 @@
+<%variable = parameter;%>
\ No newline at end of file
diff --git a/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._YVbI4BViEd-JoY-b5_Vpcw/method._YVbI4RViEd-JoY-b5_Vpcw.pt b/examples/runtime/org.eclipse.egf.usecase.pattern.uc1/templates/pattern._YVbI4BViEd-JoY-b5_Vpcw/method._YVbI4RViEd-JoY-b5_Vpcw.pt
new file mode 100644
index 0000000..6ecd916
--- /de