Added mapping projects.

Change-Id: If0a30fc46e1fdc57501f2bc1e8a12c142b14660d
diff --git a/mapping/features/org.eclipse.intent.mapping.feature/.project b/mapping/features/org.eclipse.intent.mapping.feature/.project
new file mode 100644
index 0000000..d1afa42
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.mapping.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.intent.mapping.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/mapping/features/org.eclipse.intent.mapping.feature/build.properties b/mapping/features/org.eclipse.intent.mapping.feature/build.properties
new file mode 100644
index 0000000..e427639
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.mapping.feature/build.properties
@@ -0,0 +1,3 @@
+bin.includes = feature.xml,\
+               license.html,\
+               license.txt
diff --git a/mapping/features/org.eclipse.intent.mapping.feature/feature.xml b/mapping/features/org.eclipse.intent.mapping.feature/feature.xml
new file mode 100644
index 0000000..98f2b1e
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.mapping.feature/feature.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.intent.mapping"
+      label="Mapping feature"
+      version="0.10.0.qualifier">
+
+   <description url="http://www.example.com/description">
+      [Enter Feature Description here.]
+   </description>
+
+   <copyright url="http://www.example.com/copyright">
+      [Enter Copyright Description here.]
+   </copyright>
+
+   <license url="license.html">
+      Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT&apos;S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+&quot;Contribution&quot; means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution &apos;originates&apos; from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor&apos;s behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+&quot;Contributor&quot; means any person or entity that distributes the Program.
+
+&quot;Licensed Patents &quot; mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+&quot;Program&quot; means the Contributions distributed in accordance with this Agreement.
+
+&quot;Recipient&quot; means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient&apos;s responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor (&quot;Commercial Contributor&quot;) hereby agrees to defend and indemnify every other Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor&apos;s responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient&apos;s patent(s), then such Recipient&apos;s rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient&apos;s rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient&apos;s rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient&apos;s obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+   </license>
+
+   <plugin
+         id="org.eclipse.intent.mapping"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.intent.mapping.ide"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.intent.mapping.ide.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.intent.mapping.emf"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.intent.mapping.emf.edit"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.intent.mapping.emf.ide"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.intent.mapping.emf.ide.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/mapping/features/org.eclipse.intent.mapping.feature/license.html b/mapping/features/org.eclipse.intent.mapping.feature/license.html
new file mode 100644
index 0000000..f19c483
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.mapping.feature/license.html
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/mapping/features/org.eclipse.intent.mapping.feature/license.txt b/mapping/features/org.eclipse.intent.mapping.feature/license.txt
new file mode 100644
index 0000000..24937b6
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.mapping.feature/license.txt
@@ -0,0 +1,87 @@
+Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+
diff --git a/mapping/features/org.eclipse.intent.mapping.feature/pom.xml b/mapping/features/org.eclipse.intent.mapping.feature/pom.xml
new file mode 100644
index 0000000..1360b60
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.mapping.feature/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Copyright (C) 2015, Obeo
+
+   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
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.eclipse.intent</groupId>
+    <artifactId>org.eclipse.intent-parent</artifactId>
+    <version>0.10.0-SNAPSHOT</version>
+    <relativePath>../..</relativePath>
+  </parent>
+
+  <groupId>org.eclipse.intent.features</groupId>
+  <artifactId>org.eclipse.intent.mapping</artifactId>
+  <packaging>eclipse-feature</packaging>
+
+  <name>Mapping Feature</name>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.eclipse.tycho.extras</groupId>
+        <artifactId>tycho-source-feature-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <id>source-feature</id>
+            <goals>
+              <goal>source-feature</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
diff --git a/mapping/features/org.eclipse.intent.mapping.sirius.feature/.project b/mapping/features/org.eclipse.intent.mapping.sirius.feature/.project
new file mode 100644
index 0000000..b854a2b
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.mapping.sirius.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.intent.mapping.sirius.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/mapping/features/org.eclipse.intent.mapping.sirius.feature/build.properties b/mapping/features/org.eclipse.intent.mapping.sirius.feature/build.properties
new file mode 100644
index 0000000..e427639
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.mapping.sirius.feature/build.properties
@@ -0,0 +1,3 @@
+bin.includes = feature.xml,\
+               license.html,\
+               license.txt
diff --git a/mapping/features/org.eclipse.intent.mapping.sirius.feature/feature.xml b/mapping/features/org.eclipse.intent.mapping.sirius.feature/feature.xml
new file mode 100644
index 0000000..99505f4
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.mapping.sirius.feature/feature.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.intent.mapping.sirius"
+      label="Mapping Sirius feature"
+      version="0.10.0.qualifier">
+
+   <description url="http://www.example.com/description">
+      [Enter Feature Description here.]
+   </description>
+
+   <copyright url="http://www.example.com/copyright">
+      [Enter Copyright Description here.]
+   </copyright>
+
+   <license url="license.html">
+      Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT&apos;S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+&quot;Contribution&quot; means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution &apos;originates&apos; from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor&apos;s behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+&quot;Contributor&quot; means any person or entity that distributes the Program.
+
+&quot;Licensed Patents &quot; mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+&quot;Program&quot; means the Contributions distributed in accordance with this Agreement.
+
+&quot;Recipient&quot; means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient&apos;s responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor (&quot;Commercial Contributor&quot;) hereby agrees to defend and indemnify every other Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor&apos;s responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient&apos;s patent(s), then such Recipient&apos;s rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient&apos;s rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient&apos;s rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient&apos;s obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+   </license>
+
+   <plugin
+         id="org.eclipse.intent.mapping.sirius.ide.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/mapping/features/org.eclipse.intent.mapping.sirius.feature/license.html b/mapping/features/org.eclipse.intent.mapping.sirius.feature/license.html
new file mode 100644
index 0000000..f19c483
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.mapping.sirius.feature/license.html
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/mapping/features/org.eclipse.intent.mapping.sirius.feature/license.txt b/mapping/features/org.eclipse.intent.mapping.sirius.feature/license.txt
new file mode 100644
index 0000000..24937b6
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.mapping.sirius.feature/license.txt
@@ -0,0 +1,87 @@
+Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+
diff --git a/mapping/features/org.eclipse.intent.mapping.sirius.feature/pom.xml b/mapping/features/org.eclipse.intent.mapping.sirius.feature/pom.xml
new file mode 100644
index 0000000..38ca018
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.mapping.sirius.feature/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Copyright (C) 2015, Obeo
+
+   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
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.eclipse.intent</groupId>
+    <artifactId>org.eclipse.intent-parent</artifactId>
+    <version>0.10.0-SNAPSHOT</version>
+    <relativePath>../..</relativePath>
+  </parent>
+
+  <groupId>org.eclipse.intent.features</groupId>
+  <artifactId>org.eclipse.intent.mapping.sirius</artifactId>
+  <packaging>eclipse-feature</packaging>
+
+  <name>Mapping Sirius Feature</name>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.eclipse.tycho.extras</groupId>
+        <artifactId>tycho-source-feature-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <id>source-feature</id>
+            <goals>
+              <goal>source-feature</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
diff --git a/mapping/features/org.eclipse.intent.product.feature/.project b/mapping/features/org.eclipse.intent.product.feature/.project
new file mode 100644
index 0000000..6dca771
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.product.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.intent.product.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/mapping/features/org.eclipse.intent.product.feature/.settings/org.eclipse.core.resources.prefs b/mapping/features/org.eclipse.intent.product.feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.product.feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/mapping/features/org.eclipse.intent.product.feature/.settings/org.eclipse.core.runtime.prefs b/mapping/features/org.eclipse.intent.product.feature/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.product.feature/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/mapping/features/org.eclipse.intent.product.feature/build.properties b/mapping/features/org.eclipse.intent.product.feature/build.properties
new file mode 100644
index 0000000..c4f078c
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.product.feature/build.properties
@@ -0,0 +1,10 @@
+bin.includes = feature.xml,\
+               license.html,\
+               license.txt
+root.win32.win32.x86_64 = win32-64
+root.linux.gtk.x86 = linux-64
+root.linux.gtk.x86_64 = linux-64
+root.macosx.cocoa.x86_64 = macosx
+root.linux.gtk.x86.permissions.755 = jre/bin/java
+root.linux.gtk.x86_64.permissions.755 = jre/bin/java
+root.macosx.cocoa.x86_64.permissions.755 = jre/bin/java
diff --git a/mapping/features/org.eclipse.intent.product.feature/feature.xml b/mapping/features/org.eclipse.intent.product.feature/feature.xml
new file mode 100644
index 0000000..955123b
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.product.feature/feature.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.intent.product.feature"
+      label="Intent with Product Specific Branding"
+      version="0.10.0.qualifier"
+      provider-name="Obeo"
+      plugin="org.eclipse.intent.branding">
+
+   <description url="http://www.example.com/description">
+      [Enter Feature Description here.]
+   </description>
+
+   <copyright url="http://www.example.com/copyright">
+      [Enter Copyright Description here.]
+   </copyright>
+
+   <license url="license.html">
+      Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT&apos;S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+&quot;Contribution&quot; means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution &apos;originates&apos; from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor&apos;s behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+&quot;Contributor&quot; means any person or entity that distributes the Program.
+
+&quot;Licensed Patents &quot; mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+&quot;Program&quot; means the Contributions distributed in accordance with this Agreement.
+
+&quot;Recipient&quot; means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient&apos;s responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor (&quot;Commercial Contributor&quot;) hereby agrees to defend and indemnify every other Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor&apos;s responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient&apos;s patent(s), then such Recipient&apos;s rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient&apos;s rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient&apos;s rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient&apos;s obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+   </license>
+
+   <requires>
+      <import feature="org.eclipse.intent.mapping" version="0.0.0" match="greaterOrEqual"/>
+      <import feature="org.eclipse.intent.mapping.sirius" version="0.0.0" match="greaterOrEqual"/>
+   </requires>
+
+</feature>
diff --git a/mapping/features/org.eclipse.intent.product.feature/license.html b/mapping/features/org.eclipse.intent.product.feature/license.html
new file mode 100644
index 0000000..834ab27
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.product.feature/license.html
@@ -0,0 +1,319 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="ProgId" content="Word.Document">
+<meta name="Generator" content="Microsoft Word 9">
+<meta name="Originator" content="Microsoft Word 9">
+<link rel="File-List" href="http://www.eclipse.org/legal/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Revision>2</o:Revision>
+  <o:TotalTime>3</o:TotalTime>
+  <o:Created>2004-03-05T23:03:00Z</o:Created>
+  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+  <o:Pages>4</o:Pages>
+  <o:Words>1626</o:Words>
+  <o:Characters>9270</o:Characters>
+   <o:Lines>77</o:Lines>
+  <o:Paragraphs>18</o:Paragraphs>
+  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+  <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+
+
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+	{font-family:Tahoma;
+	panose-1:2 11 6 4 3 5 4 4 2 4;
+	mso-font-charset:0;
+	mso-generic-font-family:swiss;
+	mso-font-pitch:variable;
+	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p
+	{margin-right:0in;
+	mso-margin-top-alt:auto;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+	{mso-style-name:"Balloon Text";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:8.0pt;
+	font-family:Tahoma;
+	mso-fareast-font-family:"Times New Roman";}
+@page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style></head><body style="" lang="EN-US">
+
+<div class="Section1">
+
+<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
+
+<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear="left">
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+changes to the Program, and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+additions to the Program;</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Contributor" means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Program" means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style="font-size: 10pt;">"Recipient" means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
+
+<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+its license agreement:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style="color: blue;"> </span></span></p>
+
+<p><span style="font-size: 10pt;">When the Program is made available in source
+code form:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it must be made available under this Agreement; and </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style="font-size: 10pt;">Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor ("Commercial
+Contributor") hereby agrees to defend and indemnify every other
+Contributor ("Indemnified Contributor") against any losses, damages and
+costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style="font-size: 10pt;">For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p>
+
+<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style="font-size: 10pt;">If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class="MsoNormal"><o:p></o:p></p>
+
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/mapping/features/org.eclipse.intent.product.feature/license.txt b/mapping/features/org.eclipse.intent.product.feature/license.txt
new file mode 100644
index 0000000..24937b6
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.product.feature/license.txt
@@ -0,0 +1,87 @@
+Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+
diff --git a/mapping/features/org.eclipse.intent.product.feature/linux-64/jre/.gitkeep b/mapping/features/org.eclipse.intent.product.feature/linux-64/jre/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.product.feature/linux-64/jre/.gitkeep
diff --git a/mapping/features/org.eclipse.intent.product.feature/macosx/jre/.gitkeep b/mapping/features/org.eclipse.intent.product.feature/macosx/jre/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.product.feature/macosx/jre/.gitkeep
diff --git a/mapping/features/org.eclipse.intent.product.feature/pom.xml b/mapping/features/org.eclipse.intent.product.feature/pom.xml
new file mode 100644
index 0000000..c8bb17d
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.product.feature/pom.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2016 Obeo.
+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:
+    Obeo - initial API and implementation
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.eclipse.intent</groupId>
+    <artifactId>org.eclipse.intent-parent</artifactId>
+    <version>0.10.0-SNAPSHOT</version>
+    <relativePath>../..</relativePath>
+  </parent>
+
+  <artifactId>org.eclipse.intent.product.feature</artifactId>
+  <packaging>eclipse-feature</packaging>
+
+  <name>Intent with Product Specific Feature</name>
+
+</project>
diff --git a/mapping/features/org.eclipse.intent.product.feature/win32-64/jre/.gitkeep b/mapping/features/org.eclipse.intent.product.feature/win32-64/jre/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/mapping/features/org.eclipse.intent.product.feature/win32-64/jre/.gitkeep
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.checkstyle b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.checkstyle
new file mode 100644
index 0000000..46c61e2
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.checkstyle
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
+  <local-check-config name="ModelWriter" location="/eu.modelwriter.codestyle/codestyle/ModelWriterCheckstyle6Configuration.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="all" enabled="true" check-config-name="ModelWriter" local="true">
+    <file-match-pattern match-pattern="." include-pattern="true"/>
+  </fileset>
+  <filter name="FilesFromPackage" enabled="true">
+    <filter-data value="src-gen"/>
+  </filter>
+</fileset-config>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.classpath b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.classpath
new file mode 100644
index 0000000..1bdc2a0
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.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-gen"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.project b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.project
new file mode 100644
index 0000000..a80218e
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.intent.mapping.emf.edit</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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+	</natures>
+</projectDescription>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.settings/org.eclipse.jdt.core.prefs b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2c14df6
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,311 @@
+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
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
+org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=110
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=8
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=110
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=false
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.settings/org.eclipse.jdt.ui.prefs b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..f7e57f8
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Intent
+formatter_settings_version=13
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=com;eu;fr;java;javax;org;
+org.eclipse.jdt.ui.javadoc=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} {INITIAL COPYRIGHT OWNER} {OTHER COPYRIGHT OWNERS}.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    {INITIAL AUTHOR} - initial API and implementation and/or initial documentation\n *    ...\n *******************************************************************************/\nname\="typecomment"&gt;/**\n * @author &lt;a href\="mailto\:laurent.goubet@obeo.fr"&gt;Laurent Goubet&lt;/a&gt;\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * ${tags}\n *\n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**{@inheritDoc}\n *\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">/*******************************************************************************\n * Copyright (c) ${year} {INITIAL COPYRIGHT OWNER} {OTHER COPYRIGHT OWNERS}.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    {INITIAL AUTHOR} - initial API and implementation and/or initial documentation\n *    ...\n *******************************************************************************/\n${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=false
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=false
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+sp_cleanup.use_type_arguments=false
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/META-INF/MANIFEST.MF b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..3f7321c
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.intent.mapping.emf.edit;singleton:=true
+Bundle-Version: 0.10.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.intent.mapping.provider.MappingEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.intent.mapping.provider
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.intent.mapping.emf;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ org.eclipse.intent.mapping,
+ org.eclipse.jface,
+ org.eclipse.emf.edit.ui,
+ org.eclipse.emf.cdo.edit
+Bundle-ActivationPolicy: lazy
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/build.properties b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/build.properties
new file mode 100644
index 0000000..f53e329
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/build.properties
@@ -0,0 +1,19 @@
+#  Copyright (c) 2015 Obeo.
+#  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:
+#     Obeo - initial API and implementation and/or initial documentation
+#     ...
+# 
+
+bin.includes = .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/ctool16/CreateBase_reports_Report.gif b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/ctool16/CreateBase_reports_Report.gif
new file mode 100644
index 0000000..3b01cc9
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/ctool16/CreateBase_reports_Report.gif
Binary files differ
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/ctool16/CreateLocation_targetLinks_Link.gif b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/ctool16/CreateLocation_targetLinks_Link.gif
new file mode 100644
index 0000000..dea9e2d
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/ctool16/CreateLocation_targetLinks_Link.gif
Binary files differ
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/Base.gif b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/Base.gif
new file mode 100644
index 0000000..c673a52
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/Base.gif
Binary files differ
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDOBinaryResourceLocation.gif b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDOBinaryResourceLocation.gif
new file mode 100644
index 0000000..10d2229
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDOBinaryResourceLocation.gif
Binary files differ
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDOFolderLocation.gif b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDOFolderLocation.gif
new file mode 100644
index 0000000..83afb9b
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDOFolderLocation.gif
Binary files differ
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDORepositoryLocation.gif b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDORepositoryLocation.gif
new file mode 100644
index 0000000..9041598
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDORepositoryLocation.gif
Binary files differ
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDOResourceLocation.gif b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDOResourceLocation.gif
new file mode 100644
index 0000000..134551b
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDOResourceLocation.gif
Binary files differ
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDOTextResourceLocation.gif b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDOTextResourceLocation.gif
new file mode 100644
index 0000000..7c2aaac
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/CDOTextResourceLocation.gif
Binary files differ
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/Couple.gif b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/Couple.gif
new file mode 100644
index 0000000..05dc74a
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/Couple.gif
Binary files differ
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/EObjectLocation.gif b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/EObjectLocation.gif
new file mode 100644
index 0000000..a26660e
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/EObjectLocation.gif
Binary files differ
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/Link.gif b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/Link.gif
new file mode 100644
index 0000000..89ad5da
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/Link.gif
Binary files differ
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/TextLocation.gif b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/TextLocation.gif
new file mode 100644
index 0000000..d92f34c
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/icons/full/obj16/TextLocation.gif
Binary files differ
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/plugin.properties b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/plugin.properties
new file mode 100644
index 0000000..d2a2058
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/plugin.properties
@@ -0,0 +1,90 @@
+#  Copyright (c) 2015 Obeo.
+#  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:
+#     Obeo - initial API and implementation and/or initial documentation
+#     ...
+# 
+
+pluginName = Mapping Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_Location_type = Location
+_UI_Scope_type = Scope
+_UI_Link_type = Link
+_UI_Base_type = Base
+_UI_IEMFBaseElement_type = IEMF Base Element
+_UI_TextLocation_type = Text Location
+_UI_EObjectLocation_type = EObject Location
+_UI_LocationContainer_type = Location Container
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_Location_scope_feature = Scope
+_UI_Location_sourceLinks_feature = Source Links
+_UI_Location_targetLinks_feature = Target Links
+_UI_Location_container_feature = Container
+_UI_Location_referencingScopes_feature = Referencing Scopes
+_UI_Location_type_feature = Type
+_UI_Scope_locations_feature = Locations
+_UI_Scope_holder_feature = Holder
+_UI_Link_status_feature = Status
+_UI_Link_description_feature = Description
+_UI_Link_source_feature = Source
+_UI_Link_target_feature = Target
+_UI_Link_type_feature = Type
+_UI_Base_name_feature = Name
+_UI_TextLocation_startOffset_feature = Start Offset
+_UI_TextLocation_endOffset_feature = End Offset
+_UI_LocationContainer_contents_feature = Contents
+_UI_Unknown_feature = Unspecified
+
+_UI_Status_VALID_literal = VALID
+_UI_Status_CHANGED_SOURCE_literal = CHANGED_SOURCE
+_UI_Status_CHANGED_TARGET_literal = CHANGED_TARGET
+_UI_Status_DELETED_SOURCE_literal = DELETED_SOURCE
+_UI_Status_DELETED_TARGET_literal = DELETED_TARGET
+_UI_Report_type = Report
+_UI_Link_reports_feature = Reports
+_UI_Report_description_feature = Description
+_UI_Report_link_feature = Link
+_UI_Base_reports_feature = Reports
+_UI_EObjectLocation_featureName_feature = Feature Name
+_UI_Location_markedAsDeleted_feature = Marked As Deleted
+_UI_EObjectLocation_URIFragment_feature = URI Fragment
+_UI_EObjectLocation_index_feature = Index
+_UI_Couple_type = Couple
+_UI_EObjectContainer_type = EObject Container
+_UI_CDOResourceNodeLocation_type = CDO Resource Node Location
+_UI_CDOFileLocation_type = CDO File Location
+_UI_CDOFolderLocation_type = CDO Folder Location
+_UI_CDORepositoryLocation_type = CDO Repository Location
+_UI_CDOBinaryResourceLocation_type = CDO Binary Resource Location
+_UI_CDOTextResourceLocation_type = CDO Text Resource Location
+_UI_CDOResourceLocation_type = CDO Resource Location
+_UI_EObjectLocation_savedURIFragment_feature = Saved URI Fragment
+_UI_Couple_key_feature = Key
+_UI_Couple_value_feature = Value
+_UI_EObjectContainer_XMIContent_feature = XMI Content
+_UI_EObjectContainer_savedURIFragments_feature = Saved URI Fragments
+_UI_CDOResourceNodeLocation_path_feature = Path
+_UI_CDORepositoryLocation_URL_feature = URL
+_UI_CDORepositoryLocation_UUID_feature = UUID
+_UI_CDORepositoryLocation_name_feature = Name
+_UI_CDORepositoryLocation_branchID_feature = Branch ID
+_UI_TextContainer_type = Text Container
+_UI_TextContainer_text_feature = Text
+_UI_Base_containerProviders_feature = Container Providers
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/plugin.xml b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/plugin.xml
new file mode 100644
index 0000000..6da5f8a
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/plugin.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+  Copyright (c) 2015 Obeo.
+  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:
+     Obeo - initial API and implementation and/or initial documentation
+     ...
+ 
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <!-- @generated mapping -->
+      <factory
+            uri="http://www.eclipse.org/intent/mapping"
+            class="org.eclipse.intent.mapping.provider.MappingItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+</plugin>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/pom.xml b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/pom.xml
new file mode 100644
index 0000000..43d7e50
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Copyright (C) 2016, Obeo
+
+   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
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.eclipse.intent</groupId>
+    <artifactId>org.eclipse.intent-parent</artifactId>
+    <version>0.10.0-SNAPSHOT</version>
+    <relativePath>../..</relativePath>
+  </parent>
+
+  <artifactId>org.eclipse.intent.mapping.emf.edit</artifactId>
+  <version>0.10.0-SNAPSHOT</version>
+  <packaging>eclipse-plugin</packaging>
+
+  <name>Mapping EMF Edit</name>
+
+  <build>
+   <plugins>
+      <plugin>
+        <groupId>org.eclipse.tycho</groupId>
+        <artifactId>tycho-source-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+  
+</project>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/BaseItemProvider.java b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/BaseItemProvider.java
new file mode 100644
index 0000000..eb92cb3
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/BaseItemProvider.java
@@ -0,0 +1,223 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.cdo.edit.CDOItemProviderAdapter;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.intent.mapping.Base;
+import org.eclipse.intent.mapping.MappingFactory;
+import org.eclipse.intent.mapping.MappingPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.intent.mapping.Base} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class BaseItemProvider extends CDOItemProviderAdapter implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	public BaseItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addNamePropertyDescriptor(object);
+			addContainerProvidersPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Name feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addNamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString("_UI_Base_name_feature"), getString(
+						"_UI_PropertyDescriptor_description", "_UI_Base_name_feature", "_UI_Base_type"),
+				MappingPackage.Literals.BASE__NAME, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Container Providers feature. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addContainerProvidersPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_Base_containerProviders_feature"), getString(
+								"_UI_PropertyDescriptor_description", "_UI_Base_containerProviders_feature",
+								"_UI_Base_type"), MappingPackage.Literals.BASE__CONTAINER_PROVIDERS, true,
+				false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for
+	 * an {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand}
+	 * or {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS);
+			childrenFeatures.add(MappingPackage.Literals.BASE__REPORTS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns Base.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Base"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Base)object).getName();
+		return label == null || label.length() == 0 ? getString("_UI_Base_type")
+				: getString("_UI_Base_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached children and
+	 * by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(Base.class)) {
+			case MappingPackage.BASE__NAME:
+			case MappingPackage.BASE__CONTAINER_PROVIDERS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false,
+						true));
+				return;
+			case MappingPackage.BASE__CONTENTS:
+			case MappingPackage.BASE__REPORTS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true,
+						false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be
+	 * created under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS,
+				MappingFactory.eINSTANCE.createTextLocation()));
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS,
+				MappingFactory.eINSTANCE.createEObjectLocation()));
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS,
+				MappingFactory.eINSTANCE.createCDOFolderLocation()));
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS,
+				MappingFactory.eINSTANCE.createCDORepositoryLocation()));
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS,
+				MappingFactory.eINSTANCE.createCDOBinaryResourceLocation()));
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS,
+				MappingFactory.eINSTANCE.createCDOTextResourceLocation()));
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS,
+				MappingFactory.eINSTANCE.createCDOResourceLocation()));
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.BASE__REPORTS,
+				MappingFactory.eINSTANCE.createReport()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return MappingEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDOBinaryResourceLocationItemProvider.java b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDOBinaryResourceLocationItemProvider.java
new file mode 100644
index 0000000..a636fd9
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDOBinaryResourceLocationItemProvider.java
@@ -0,0 +1,131 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.provider;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.intent.mapping.CDOBinaryResourceLocation;
+import org.eclipse.intent.mapping.MappingPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.intent.mapping.CDOBinaryResourceLocation}
+ * object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class CDOBinaryResourceLocationItemProvider extends LocationItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	public CDOBinaryResourceLocationItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addPathPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Path feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_CDOResourceNodeLocation_path_feature"), getString(
+								"_UI_PropertyDescriptor_description",
+								"_UI_CDOResourceNodeLocation_path_feature",
+								"_UI_CDOResourceNodeLocation_type"),
+				MappingPackage.Literals.CDO_RESOURCE_NODE_LOCATION__PATH, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This returns CDOBinaryResourceLocation.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CDOBinaryResourceLocation"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		Serializable labelValue = ((CDOBinaryResourceLocation)object).getType();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ? getString("_UI_CDOBinaryResourceLocation_type")
+				: getString("_UI_CDOBinaryResourceLocation_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached children and
+	 * by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CDOBinaryResourceLocation.class)) {
+			case MappingPackage.CDO_BINARY_RESOURCE_LOCATION__PATH:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false,
+						true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be
+	 * created under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDOFolderLocationItemProvider.java b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDOFolderLocationItemProvider.java
new file mode 100644
index 0000000..396d736
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDOFolderLocationItemProvider.java
@@ -0,0 +1,131 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.provider;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.intent.mapping.CDOFolderLocation;
+import org.eclipse.intent.mapping.MappingPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.intent.mapping.CDOFolderLocation} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class CDOFolderLocationItemProvider extends LocationItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	public CDOFolderLocationItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addPathPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Path feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_CDOResourceNodeLocation_path_feature"), getString(
+								"_UI_PropertyDescriptor_description",
+								"_UI_CDOResourceNodeLocation_path_feature",
+								"_UI_CDOResourceNodeLocation_type"),
+				MappingPackage.Literals.CDO_RESOURCE_NODE_LOCATION__PATH, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This returns CDOFolderLocation.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CDOFolderLocation"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		Serializable labelValue = ((CDOFolderLocation)object).getType();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ? getString("_UI_CDOFolderLocation_type")
+				: getString("_UI_CDOFolderLocation_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached children and
+	 * by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CDOFolderLocation.class)) {
+			case MappingPackage.CDO_FOLDER_LOCATION__PATH:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false,
+						true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be
+	 * created under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDORepositoryLocationItemProvider.java b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDORepositoryLocationItemProvider.java
new file mode 100644
index 0000000..0d0ee06
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDORepositoryLocationItemProvider.java
@@ -0,0 +1,181 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.intent.mapping.CDORepositoryLocation;
+import org.eclipse.intent.mapping.MappingPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.intent.mapping.CDORepositoryLocation} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class CDORepositoryLocationItemProvider extends LocationItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	public CDORepositoryLocationItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addURLPropertyDescriptor(object);
+			addUUIDPropertyDescriptor(object);
+			addNamePropertyDescriptor(object);
+			addBranchIDPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the URL feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addURLPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_CDORepositoryLocation_URL_feature"), getString(
+								"_UI_PropertyDescriptor_description", "_UI_CDORepositoryLocation_URL_feature",
+								"_UI_CDORepositoryLocation_type"),
+				MappingPackage.Literals.CDO_REPOSITORY_LOCATION__URL, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the UUID feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addUUIDPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_CDORepositoryLocation_UUID_feature"), getString(
+								"_UI_PropertyDescriptor_description",
+								"_UI_CDORepositoryLocation_UUID_feature", "_UI_CDORepositoryLocation_type"),
+				MappingPackage.Literals.CDO_REPOSITORY_LOCATION__UUID, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Name feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addNamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_CDORepositoryLocation_name_feature"), getString(
+								"_UI_PropertyDescriptor_description",
+								"_UI_CDORepositoryLocation_name_feature", "_UI_CDORepositoryLocation_type"),
+				MappingPackage.Literals.CDO_REPOSITORY_LOCATION__NAME, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Branch ID feature. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	protected void addBranchIDPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_CDORepositoryLocation_branchID_feature"), getString(
+								"_UI_PropertyDescriptor_description",
+								"_UI_CDORepositoryLocation_branchID_feature",
+								"_UI_CDORepositoryLocation_type"),
+				MappingPackage.Literals.CDO_REPOSITORY_LOCATION__BRANCH_ID, true, false, false,
+				ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This returns CDORepositoryLocation.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CDORepositoryLocation"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CDORepositoryLocation)object).getName();
+		return label == null || label.length() == 0 ? getString("_UI_CDORepositoryLocation_type")
+				: getString("_UI_CDORepositoryLocation_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached children and
+	 * by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CDORepositoryLocation.class)) {
+			case MappingPackage.CDO_REPOSITORY_LOCATION__URL:
+			case MappingPackage.CDO_REPOSITORY_LOCATION__UUID:
+			case MappingPackage.CDO_REPOSITORY_LOCATION__NAME:
+			case MappingPackage.CDO_REPOSITORY_LOCATION__BRANCH_ID:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false,
+						true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be
+	 * created under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDOResourceLocationItemProvider.java b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDOResourceLocationItemProvider.java
new file mode 100644
index 0000000..653ecdb
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDOResourceLocationItemProvider.java
@@ -0,0 +1,189 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.provider;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.intent.mapping.CDOResourceLocation;
+import org.eclipse.intent.mapping.MappingFactory;
+import org.eclipse.intent.mapping.MappingPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.intent.mapping.CDOResourceLocation} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class CDOResourceLocationItemProvider extends LocationItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	public CDOResourceLocationItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addPathPropertyDescriptor(object);
+			addXMIContentPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Path feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_CDOResourceNodeLocation_path_feature"), getString(
+								"_UI_PropertyDescriptor_description",
+								"_UI_CDOResourceNodeLocation_path_feature",
+								"_UI_CDOResourceNodeLocation_type"),
+				MappingPackage.Literals.CDO_RESOURCE_NODE_LOCATION__PATH, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the XMI Content feature. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	protected void addXMIContentPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_EObjectContainer_XMIContent_feature"), getString(
+								"_UI_PropertyDescriptor_description",
+								"_UI_EObjectContainer_XMIContent_feature", "_UI_EObjectContainer_type"),
+				MappingPackage.Literals.EOBJECT_CONTAINER__XMI_CONTENT, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for
+	 * an {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand}
+	 * or {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(MappingPackage.Literals.EOBJECT_CONTAINER__SAVED_URI_FRAGMENTS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns CDOResourceLocation.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CDOResourceLocation"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		Serializable labelValue = ((CDOResourceLocation)object).getType();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ? getString("_UI_CDOResourceLocation_type")
+				: getString("_UI_CDOResourceLocation_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached children and
+	 * by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CDOResourceLocation.class)) {
+			case MappingPackage.CDO_RESOURCE_LOCATION__PATH:
+			case MappingPackage.CDO_RESOURCE_LOCATION__XMI_CONTENT:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false,
+						true));
+				return;
+			case MappingPackage.CDO_RESOURCE_LOCATION__SAVED_URI_FRAGMENTS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true,
+						false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be
+	 * created under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add(createChildParameter(
+				MappingPackage.Literals.EOBJECT_CONTAINER__SAVED_URI_FRAGMENTS, MappingFactory.eINSTANCE
+						.createCouple()));
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDOTextResourceLocationItemProvider.java b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDOTextResourceLocationItemProvider.java
new file mode 100644
index 0000000..05d4b815
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CDOTextResourceLocationItemProvider.java
@@ -0,0 +1,146 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.provider;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.intent.mapping.CDOTextResourceLocation;
+import org.eclipse.intent.mapping.MappingPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.intent.mapping.CDOTextResourceLocation} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class CDOTextResourceLocationItemProvider extends LocationItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	public CDOTextResourceLocationItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addPathPropertyDescriptor(object);
+			addTextPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Path feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_CDOResourceNodeLocation_path_feature"), getString(
+								"_UI_PropertyDescriptor_description",
+								"_UI_CDOResourceNodeLocation_path_feature",
+								"_UI_CDOResourceNodeLocation_type"),
+				MappingPackage.Literals.CDO_RESOURCE_NODE_LOCATION__PATH, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Text feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addTextPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString("_UI_TextContainer_text_feature"),
+				getString("_UI_PropertyDescriptor_description", "_UI_TextContainer_text_feature",
+						"_UI_TextContainer_type"), MappingPackage.Literals.TEXT_CONTAINER__TEXT, true, false,
+				false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This returns CDOTextResourceLocation.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CDOTextResourceLocation"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		Serializable labelValue = ((CDOTextResourceLocation)object).getType();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ? getString("_UI_CDOTextResourceLocation_type")
+				: getString("_UI_CDOTextResourceLocation_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached children and
+	 * by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CDOTextResourceLocation.class)) {
+			case MappingPackage.CDO_TEXT_RESOURCE_LOCATION__PATH:
+			case MappingPackage.CDO_TEXT_RESOURCE_LOCATION__TEXT:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false,
+						true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be
+	 * created under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CoupleItemProvider.java b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CoupleItemProvider.java
new file mode 100644
index 0000000..799fe6a
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/CoupleItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.cdo.edit.CDOItemProviderAdapter;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.intent.mapping.Couple;
+import org.eclipse.intent.mapping.MappingPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.intent.mapping.Couple} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class CoupleItemProvider extends CDOItemProviderAdapter implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	public CoupleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addKeyPropertyDescriptor(object);
+			addValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Key feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addKeyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString("_UI_Couple_key_feature"),
+				getString("_UI_PropertyDescriptor_description", "_UI_Couple_key_feature", "_UI_Couple_type"),
+				MappingPackage.Literals.COUPLE__KEY, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString("_UI_Couple_value_feature"),
+				getString("_UI_PropertyDescriptor_description", "_UI_Couple_value_feature",
+						"_UI_Couple_type"), MappingPackage.Literals.COUPLE__VALUE, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This returns Couple.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Couple"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Couple)object).getKey();
+		return label == null || label.length() == 0 ? getString("_UI_Couple_type")
+				: getString("_UI_Couple_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached children and
+	 * by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(Couple.class)) {
+			case MappingPackage.COUPLE__KEY:
+			case MappingPackage.COUPLE__VALUE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false,
+						true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be
+	 * created under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return MappingEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/EObjectLocationItemProvider.java b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/EObjectLocationItemProvider.java
new file mode 100644
index 0000000..940a11a
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/EObjectLocationItemProvider.java
@@ -0,0 +1,212 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.intent.mapping.EObjectLocation;
+import org.eclipse.intent.mapping.MappingPackage;
+import org.eclipse.intent.mapping.MappingUtils;
+import org.eclipse.intent.mapping.base.ILocation;
+import org.eclipse.jface.viewers.ILabelProvider;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.intent.mapping.EObjectLocation} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class EObjectLocationItemProvider extends LocationItemProvider {
+
+	/**
+	 * The EMF {@link ILabelProvider}.
+	 * 
+	 * @generated NOT
+	 */
+	private final ILabelProvider eLabelProvider;
+
+	/**
+	 * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated NOT
+	 */
+	public EObjectLocationItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+		final ComposedAdapterFactory factory = new ComposedAdapterFactory(
+				ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+		eLabelProvider = new AdapterFactoryLabelProvider(factory);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#dispose()
+	 * @generated NOT
+	 */
+	@Override
+	public void dispose() {
+		super.dispose();
+		eLabelProvider.dispose();
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addURIFragmentPropertyDescriptor(object);
+			addSavedURIFragmentPropertyDescriptor(object);
+			addFeatureNamePropertyDescriptor(object);
+			addIndexPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the URI Fragment feature. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	protected void addURIFragmentPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_EObjectLocation_URIFragment_feature"), getString(
+								"_UI_PropertyDescriptor_description",
+								"_UI_EObjectLocation_URIFragment_feature", "_UI_EObjectLocation_type"),
+				MappingPackage.Literals.EOBJECT_LOCATION__URI_FRAGMENT, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Saved URI Fragment feature. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addSavedURIFragmentPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_EObjectLocation_savedURIFragment_feature"), getString(
+								"_UI_PropertyDescriptor_description",
+								"_UI_EObjectLocation_savedURIFragment_feature", "_UI_EObjectLocation_type"),
+				MappingPackage.Literals.EOBJECT_LOCATION__SAVED_URI_FRAGMENT, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Feature Name feature. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	protected void addFeatureNamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_EObjectLocation_featureName_feature"), getString(
+								"_UI_PropertyDescriptor_description",
+								"_UI_EObjectLocation_featureName_feature", "_UI_EObjectLocation_type"),
+				MappingPackage.Literals.EOBJECT_LOCATION__FEATURE_NAME, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Index feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addIndexPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_EObjectLocation_index_feature"), getString("_UI_PropertyDescriptor_description",
+								"_UI_EObjectLocation_index_feature", "_UI_EObjectLocation_type"),
+				MappingPackage.Literals.EOBJECT_LOCATION__INDEX, true, false, false,
+				ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This returns EObjectLocation.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/EObjectLocation"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated NOT
+	 */
+	@Override
+	public String getText(Object object) {
+		final String label;
+
+		label = MappingUtils.getConnectorRegistry().getName((ILocation)object);
+
+		return label == null || label.length() == 0 ? getString("_UI_EObjectLocation_type")
+				: getString("_UI_EObjectLocation_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached children and
+	 * by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(EObjectLocation.class)) {
+			case MappingPackage.EOBJECT_LOCATION__URI_FRAGMENT:
+			case MappingPackage.EOBJECT_LOCATION__SAVED_URI_FRAGMENT:
+			case MappingPackage.EOBJECT_LOCATION__FEATURE_NAME:
+			case MappingPackage.EOBJECT_LOCATION__INDEX:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false,
+						true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be
+	 * created under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/LinkItemProvider.java b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/LinkItemProvider.java
new file mode 100644
index 0000000..4db442b
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/LinkItemProvider.java
@@ -0,0 +1,212 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.cdo.edit.CDOItemProviderAdapter;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.intent.mapping.Link;
+import org.eclipse.intent.mapping.MappingPackage;
+import org.eclipse.jface.viewers.ILabelProvider;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.intent.mapping.Link} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class LinkItemProvider extends CDOItemProviderAdapter implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+	/**
+	 * The EMF {@link ILabelProvider}.
+	 * 
+	 * @generated NOT
+	 */
+	private final ILabelProvider eLabelProvider;
+
+	/**
+	 * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated NOT
+	 */
+	public LinkItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+		final ComposedAdapterFactory factory = new ComposedAdapterFactory(
+				ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+		eLabelProvider = new AdapterFactoryLabelProvider(factory);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#dispose()
+	 * @generated NOT
+	 */
+	@Override
+	public void dispose() {
+		super.dispose();
+		eLabelProvider.dispose();
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addDescriptionPropertyDescriptor(object);
+			addTargetPropertyDescriptor(object);
+			addTypePropertyDescriptor(object);
+			addReportsPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Description feature. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	protected void addDescriptionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString("_UI_Link_description_feature"),
+				getString("_UI_PropertyDescriptor_description", "_UI_Link_description_feature",
+						"_UI_Link_type"), MappingPackage.Literals.LINK__DESCRIPTION, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Target feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addTargetPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString("_UI_Link_target_feature"),
+				getString("_UI_PropertyDescriptor_description", "_UI_Link_target_feature", "_UI_Link_type"),
+				MappingPackage.Literals.LINK__TARGET, true, false, true, null, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Type feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString("_UI_Link_type_feature"), getString(
+						"_UI_PropertyDescriptor_description", "_UI_Link_type_feature", "_UI_Link_type"),
+				MappingPackage.Literals.LINK__TYPE, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Reports feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addReportsPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString("_UI_Link_reports_feature"),
+				getString("_UI_PropertyDescriptor_description", "_UI_Link_reports_feature", "_UI_Link_type"),
+				MappingPackage.Literals.LINK__REPORTS, true, false, true, null, null, null));
+	}
+
+	/**
+	 * This returns Link.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Link"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated NOT
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = eLabelProvider.getText(((Link)object).getTarget());
+		return label == null || label.length() == 0 ? getString("_UI_Link_type")
+				: getString("_UI_Link_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached children and
+	 * by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated NOT
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(Link.class)) {
+			case MappingPackage.LINK__SOURCE:
+			case MappingPackage.LINK__TARGET:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false,
+						true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be
+	 * created under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return MappingEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/LocationItemProvider.java b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/LocationItemProvider.java
new file mode 100644
index 0000000..bbc4630
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/LocationItemProvider.java
@@ -0,0 +1,230 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.provider;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.cdo.edit.CDOItemProviderAdapter;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.intent.mapping.Location;
+import org.eclipse.intent.mapping.MappingFactory;
+import org.eclipse.intent.mapping.MappingPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.intent.mapping.Location} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class LocationItemProvider extends CDOItemProviderAdapter implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	public LocationItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addSourceLinksPropertyDescriptor(object);
+			addTypePropertyDescriptor(object);
+			addMarkedAsDeletedPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Source Links feature. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	protected void addSourceLinksPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString("_UI_Location_sourceLinks_feature"),
+				getString("_UI_PropertyDescriptor_description", "_UI_Location_sourceLinks_feature",
+						"_UI_Location_type"), MappingPackage.Literals.LOCATION__SOURCE_LINKS, true, false,
+				true, null, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Type feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString("_UI_Location_type_feature"),
+				getString("_UI_PropertyDescriptor_description", "_UI_Location_type_feature",
+						"_UI_Location_type"), MappingPackage.Literals.LOCATION__TYPE, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Marked As Deleted feature. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addMarkedAsDeletedPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_Location_markedAsDeleted_feature"), getString(
+								"_UI_PropertyDescriptor_description", "_UI_Location_markedAsDeleted_feature",
+								"_UI_Location_type"), MappingPackage.Literals.LOCATION__MARKED_AS_DELETED,
+				true, false, false, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for
+	 * an {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand}
+	 * or {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS);
+			childrenFeatures.add(MappingPackage.Literals.LOCATION__TARGET_LINKS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		Serializable labelValue = ((Location)object).getType();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ? getString("_UI_Location_type")
+				: getString("_UI_Location_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached children and
+	 * by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(Location.class)) {
+			case MappingPackage.LOCATION__TYPE:
+			case MappingPackage.LOCATION__MARKED_AS_DELETED:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false,
+						true));
+				return;
+			case MappingPackage.LOCATION__CONTENTS:
+			case MappingPackage.LOCATION__TARGET_LINKS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true,
+						false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be
+	 * created under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS,
+				MappingFactory.eINSTANCE.createTextLocation()));
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS,
+				MappingFactory.eINSTANCE.createEObjectLocation()));
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS,
+				MappingFactory.eINSTANCE.createCDOFolderLocation()));
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS,
+				MappingFactory.eINSTANCE.createCDORepositoryLocation()));
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS,
+				MappingFactory.eINSTANCE.createCDOBinaryResourceLocation()));
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS,
+				MappingFactory.eINSTANCE.createCDOTextResourceLocation()));
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION_CONTAINER__CONTENTS,
+				MappingFactory.eINSTANCE.createCDOResourceLocation()));
+
+		newChildDescriptors.add(createChildParameter(MappingPackage.Literals.LOCATION__TARGET_LINKS,
+				MappingFactory.eINSTANCE.createLink()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return MappingEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/MappingEditPlugin.java b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/MappingEditPlugin.java
new file mode 100644
index 0000000..b091a3b
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/MappingEditPlugin.java
@@ -0,0 +1,88 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Mapping edit plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public final class MappingEditPlugin extends EMFPlugin {
+	/**
+	 * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public static final MappingEditPlugin INSTANCE = new MappingEditPlugin();
+
+	/**
+	 * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	private static Implementation plugin;
+
+	/**
+	 * Create the instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public MappingEditPlugin() {
+		super(new ResourceLocator[] {});
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getPluginResourceLocator() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public static Implementation getPlugin() {
+		return plugin;
+	}
+
+	/**
+	 * The actual implementation of the Eclipse <b>Plugin</b>. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public static class Implementation extends EclipsePlugin {
+		/**
+		 * Creates an instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+		 * 
+		 * @generated
+		 */
+		public Implementation() {
+			super();
+
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/MappingItemProviderAdapterFactory.java b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/MappingItemProviderAdapterFactory.java
new file mode 100644
index 0000000..57973f7
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/MappingItemProviderAdapterFactory.java
@@ -0,0 +1,457 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.intent.mapping.util.MappingAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers. The adapters
+ * generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged
+ * fireNotifyChanged}. The adapters also support Eclipse property sheets. Note that most of the adapters are
+ * shared among multiple instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class MappingItemProviderAdapterFactory extends MappingAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public MappingItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.intent.mapping.Link} instances.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected LinkItemProvider linkItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.intent.mapping.Link}. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Adapter createLinkAdapter() {
+		if (linkItemProvider == null) {
+			linkItemProvider = new LinkItemProvider(this);
+		}
+
+		return linkItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.intent.mapping.Base} instances.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected BaseItemProvider baseItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.intent.mapping.Base}. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Adapter createBaseAdapter() {
+		if (baseItemProvider == null) {
+			baseItemProvider = new BaseItemProvider(this);
+		}
+
+		return baseItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.intent.mapping.TextLocation}
+	 * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected TextLocationItemProvider textLocationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.intent.mapping.TextLocation}. <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Adapter createTextLocationAdapter() {
+		if (textLocationItemProvider == null) {
+			textLocationItemProvider = new TextLocationItemProvider(this);
+		}
+
+		return textLocationItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.intent.mapping.EObjectLocation}
+	 * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected EObjectLocationItemProvider eObjectLocationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.intent.mapping.EObjectLocation}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Adapter createEObjectLocationAdapter() {
+		if (eObjectLocationItemProvider == null) {
+			eObjectLocationItemProvider = new EObjectLocationItemProvider(this);
+		}
+
+		return eObjectLocationItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.intent.mapping.Report} instances.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected ReportItemProvider reportItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.intent.mapping.Report}. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Adapter createReportAdapter() {
+		if (reportItemProvider == null) {
+			reportItemProvider = new ReportItemProvider(this);
+		}
+
+		return reportItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.intent.mapping.Couple} instances.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected CoupleItemProvider coupleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.intent.mapping.Couple}. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Adapter createCoupleAdapter() {
+		if (coupleItemProvider == null) {
+			coupleItemProvider = new CoupleItemProvider(this);
+		}
+
+		return coupleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.intent.mapping.CDOFolderLocation}
+	 * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected CDOFolderLocationItemProvider cdoFolderLocationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.intent.mapping.CDOFolderLocation}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Adapter createCDOFolderLocationAdapter() {
+		if (cdoFolderLocationItemProvider == null) {
+			cdoFolderLocationItemProvider = new CDOFolderLocationItemProvider(this);
+		}
+
+		return cdoFolderLocationItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all
+	 * {@link org.eclipse.intent.mapping.CDORepositoryLocation} instances. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected CDORepositoryLocationItemProvider cdoRepositoryLocationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.intent.mapping.CDORepositoryLocation}. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Adapter createCDORepositoryLocationAdapter() {
+		if (cdoRepositoryLocationItemProvider == null) {
+			cdoRepositoryLocationItemProvider = new CDORepositoryLocationItemProvider(this);
+		}
+
+		return cdoRepositoryLocationItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all
+	 * {@link org.eclipse.intent.mapping.CDOBinaryResourceLocation} instances. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected CDOBinaryResourceLocationItemProvider cdoBinaryResourceLocationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.intent.mapping.CDOBinaryResourceLocation}. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Adapter createCDOBinaryResourceLocationAdapter() {
+		if (cdoBinaryResourceLocationItemProvider == null) {
+			cdoBinaryResourceLocationItemProvider = new CDOBinaryResourceLocationItemProvider(this);
+		}
+
+		return cdoBinaryResourceLocationItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all
+	 * {@link org.eclipse.intent.mapping.CDOTextResourceLocation} instances. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected CDOTextResourceLocationItemProvider cdoTextResourceLocationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.intent.mapping.CDOTextResourceLocation}. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Adapter createCDOTextResourceLocationAdapter() {
+		if (cdoTextResourceLocationItemProvider == null) {
+			cdoTextResourceLocationItemProvider = new CDOTextResourceLocationItemProvider(this);
+		}
+
+		return cdoTextResourceLocationItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.intent.mapping.CDOResourceLocation}
+	 * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected CDOResourceLocationItemProvider cdoResourceLocationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.intent.mapping.CDOResourceLocation}. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Adapter createCDOResourceLocationAdapter() {
+		if (cdoResourceLocationItemProvider == null) {
+			cdoResourceLocationItemProvider = new CDOResourceLocationItemProvider(this);
+		}
+
+		return cdoResourceLocationItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter. <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public void dispose() {
+		if (linkItemProvider != null)
+			linkItemProvider.dispose();
+		if (baseItemProvider != null)
+			baseItemProvider.dispose();
+		if (textLocationItemProvider != null)
+			textLocationItemProvider.dispose();
+		if (eObjectLocationItemProvider != null)
+			eObjectLocationItemProvider.dispose();
+		if (reportItemProvider != null)
+			reportItemProvider.dispose();
+		if (coupleItemProvider != null)
+			coupleItemProvider.dispose();
+		if (cdoFolderLocationItemProvider != null)
+			cdoFolderLocationItemProvider.dispose();
+		if (cdoRepositoryLocationItemProvider != null)
+			cdoRepositoryLocationItemProvider.dispose();
+		if (cdoBinaryResourceLocationItemProvider != null)
+			cdoBinaryResourceLocationItemProvider.dispose();
+		if (cdoTextResourceLocationItemProvider != null)
+			cdoTextResourceLocationItemProvider.dispose();
+		if (cdoResourceLocationItemProvider != null)
+			cdoResourceLocationItemProvider.dispose();
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/ReportItemProvider.java b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/ReportItemProvider.java
new file mode 100644
index 0000000..953407b
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/ReportItemProvider.java
@@ -0,0 +1,148 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.cdo.edit.CDOItemProviderAdapter;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.intent.mapping.MappingPackage;
+import org.eclipse.intent.mapping.Report;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.intent.mapping.Report} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class ReportItemProvider extends CDOItemProviderAdapter implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	public ReportItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addDescriptionPropertyDescriptor(object);
+			addLinkPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Description feature. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	protected void addDescriptionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString("_UI_Report_description_feature"),
+				getString("_UI_PropertyDescriptor_description", "_UI_Report_description_feature",
+						"_UI_Report_type"), MappingPackage.Literals.REPORT__DESCRIPTION, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Link feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected void addLinkPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString("_UI_Report_link_feature"),
+				getString("_UI_PropertyDescriptor_description", "_UI_Report_link_feature", "_UI_Report_type"),
+				MappingPackage.Literals.REPORT__LINK, true, false, true, null, null, null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Report)object).getDescription();
+		return label == null || label.length() == 0 ? getString("_UI_Report_type")
+				: getString("_UI_Report_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached children and
+	 * by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(Report.class)) {
+			case MappingPackage.REPORT__DESCRIPTION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false,
+						true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be
+	 * created under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return MappingEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/TextLocationItemProvider.java b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/TextLocationItemProvider.java
new file mode 100644
index 0000000..2823aaf
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.edit/src-gen/org/eclipse/intent/mapping/provider/TextLocationItemProvider.java
@@ -0,0 +1,147 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.intent.mapping.MappingPackage;
+import org.eclipse.intent.mapping.MappingUtils;
+import org.eclipse.intent.mapping.TextLocation;
+import org.eclipse.intent.mapping.base.ILocation;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.intent.mapping.TextLocation} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class TextLocationItemProvider extends LocationItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	public TextLocationItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addStartOffsetPropertyDescriptor(object);
+			addEndOffsetPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Start Offset feature. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	protected void addStartOffsetPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_TextLocation_startOffset_feature"), getString(
+								"_UI_PropertyDescriptor_description", "_UI_TextLocation_startOffset_feature",
+								"_UI_TextLocation_type"), MappingPackage.Literals.TEXT_LOCATION__START_OFFSET,
+				true, false, false, ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the End Offset feature. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 */
+	protected void addEndOffsetPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+				.getRootAdapterFactory(), getResourceLocator(), getString(
+						"_UI_TextLocation_endOffset_feature"), getString("_UI_PropertyDescriptor_description",
+								"_UI_TextLocation_endOffset_feature", "_UI_TextLocation_type"),
+				MappingPackage.Literals.TEXT_LOCATION__END_OFFSET, true, false, false,
+				ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This returns TextLocation.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/TextLocation"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated NOT
+	 */
+	@Override
+	public String getText(Object object) {
+		final String label = MappingUtils.getConnectorRegistry().getName((ILocation)object);
+		return label == null || label.length() == 0 ? getString("_UI_TextLocation_type")
+				: getString("_UI_TextLocation_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached children and
+	 * by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(TextLocation.class)) {
+			case MappingPackage.TEXT_LOCATION__START_OFFSET:
+			case MappingPackage.TEXT_LOCATION__END_OFFSET:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false,
+						true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be
+	 * created under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.checkstyle b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.checkstyle
new file mode 100644
index 0000000..b3e8ea9
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.checkstyle
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
+  <local-check-config name="ModelWriter" location="/eu.modelwriter.codestyle/codestyle/ModelWriterCheckstyle6Configuration.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="all" enabled="true" check-config-name="ModelWriter" local="true">
+    <file-match-pattern match-pattern="." include-pattern="true"/>
+  </fileset>
+  <filter name="FilesFromPackage" enabled="true">
+    <filter-data value="google-diff-match-patch"/>
+  </filter>
+</fileset-config>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.classpath b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.classpath
new file mode 100644
index 0000000..304e861
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.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/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.project b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.project
new file mode 100644
index 0000000..63c65d2
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.intent.mapping.emf.ide.ui</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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+	</natures>
+</projectDescription>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.settings/org.eclipse.jdt.core.prefs b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..3433b02
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,315 @@
+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
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
+org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=110
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=8
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=110
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=false
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.settings/org.eclipse.jdt.ui.prefs b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..f7e57f8
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Intent
+formatter_settings_version=13
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=com;eu;fr;java;javax;org;
+org.eclipse.jdt.ui.javadoc=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} {INITIAL COPYRIGHT OWNER} {OTHER COPYRIGHT OWNERS}.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    {INITIAL AUTHOR} - initial API and implementation and/or initial documentation\n *    ...\n *******************************************************************************/\nname\="typecomment"&gt;/**\n * @author &lt;a href\="mailto\:laurent.goubet@obeo.fr"&gt;Laurent Goubet&lt;/a&gt;\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * ${tags}\n *\n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**{@inheritDoc}\n *\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">/*******************************************************************************\n * Copyright (c) ${year} {INITIAL COPYRIGHT OWNER} {OTHER COPYRIGHT OWNERS}.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    {INITIAL AUTHOR} - initial API and implementation and/or initial documentation\n *    ...\n *******************************************************************************/\n${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=false
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=false
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+sp_cleanup.use_type_arguments=false
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/META-INF/MANIFEST.MF b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..5a04ff9
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Ui
+Bundle-SymbolicName: org.eclipse.intent.mapping.emf.ide.ui;singleton:=true
+Bundle-Version: 0.10.0.qualifier
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: org.eclipse.core.resources,
+ org.eclipse.core.runtime,
+ org.eclipse.intent.mapping,
+ org.eclipse.intent.mapping.emf,
+ org.eclipse.intent.mapping.emf.ide,
+ org.eclipse.jface,
+ org.eclipse.ui.ide,
+ org.eclipse.intent.mapping.ide.ui,
+ org.eclipse.intent.mapping.ide,
+ org.eclipse.ui
+Export-Package: org.eclipse.intent.mapping.emf.ide.ui,
+ org.eclipse.intent.mapping.emf.ide.ui.wizard
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.intent.mapping.emf.ide.ui.Activator
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/build.properties b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/build.properties
new file mode 100644
index 0000000..cc91072
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/plugin.xml b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/plugin.xml
new file mode 100644
index 0000000..df8ca96
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/plugin.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.newWizards">
+      <wizard
+            category="org.eclipse.intent.mapping.ide.ui.mapping"
+            class="org.eclipse.intent.mapping.emf.ide.ui.wizard.NewEMFBase"
+            id="org.eclipse.intent.mapping.emf.ide.ui.newEMFBase"
+            name="EMF Base">
+      </wizard>
+   </extension>
+
+</plugin>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/pom.xml b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/pom.xml
new file mode 100644
index 0000000..90f98a1
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Copyright (C) 2015, Obeo
+
+   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
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.eclipse.intent</groupId>
+    <artifactId>org.eclipse.intent-parent</artifactId>
+    <version>0.10.0-SNAPSHOT</version>
+    <relativePath>../..</relativePath>
+  </parent>
+
+  <artifactId>org.eclipse.intent.mapping.emf.ide.ui</artifactId>
+  <version>0.10.0-SNAPSHOT</version>
+  <packaging>eclipse-plugin</packaging>
+
+  <name>Mapping EMF IDE UI</name>
+
+  <build>
+   <plugins>
+      <plugin>
+        <groupId>org.eclipse.tycho</groupId>
+        <artifactId>tycho-source-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+  
+</project>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/src/org/eclipse/intent/mapping/emf/ide/ui/Activator.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/src/org/eclipse/intent/mapping/emf/ide/ui/Activator.java
new file mode 100644
index 0000000..631c7bb
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/src/org/eclipse/intent/mapping/emf/ide/ui/Activator.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2016 Obeo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide.ui;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ * 
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public class Activator extends Plugin {
+
+	/** The plug-in ID. */
+	public static final String PLUGIN_ID = "org.eclipse.intent.mapping.emf.ide.ui";
+
+	/** This plug-in's shared instance. */
+	private static Activator plugin;
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		super.stop(context);
+		plugin = null;
+	}
+
+	/**
+	 * Returns the shared instance.
+	 * 
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/src/org/eclipse/intent/mapping/emf/ide/ui/wizard/NewEMFBase.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/src/org/eclipse/intent/mapping/emf/ide/ui/wizard/NewEMFBase.java
new file mode 100644
index 0000000..29cbe1c
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/src/org/eclipse/intent/mapping/emf/ide/ui/wizard/NewEMFBase.java
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ * Copyright (c) 2016 0beo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide.ui.wizard;
+
+import java.io.IOException;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.intent.mapping.Base;
+import org.eclipse.intent.mapping.MappingPackage;
+import org.eclipse.intent.mapping.emf.ide.ui.Activator;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWizard;
+
+/**
+ * Creates a {@link Base}.
+ *
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public class NewEMFBase extends Wizard implements IWorkbenchWizard {
+
+	/**
+	 * The {@link NewEMFBasePage}.
+	 */
+	protected NewEMFBasePage page;
+
+	/**
+	 * The default file name.
+	 */
+	private String defaultFileName;
+
+	/**
+	 * Constructor.
+	 */
+	public NewEMFBase() {
+		setWindowTitle("New Wizard");
+	}
+
+	@Override
+	public void addPages() {
+		page = new NewEMFBasePage(defaultFileName);
+		addPage(page);
+	}
+
+	@Override
+	public boolean performFinish() {
+		boolean res = false;
+
+		final Base base = MappingPackage.eINSTANCE.getMappingFactory().createBase();
+		base.setName(page.getMappingBaseName());
+		final ResourceSet rs = new ResourceSetImpl();
+		final Resource r = rs.createResource(URI.createPlatformResourceURI(page.getFileName(), true));
+		r.getContents().add(base);
+		try {
+			r.save(null);
+			res = true;
+		} catch (IOException e) {
+			Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
+					"unable to save base " + page.getFileName()));
+
+		}
+
+		dispose();
+
+		return res;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench,
+	 *      org.eclipse.jface.viewers.IStructuredSelection)
+	 */
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+		final IContainer container;
+
+		if (selection.getFirstElement() instanceof IFile) {
+			container = ((IFile)selection.getFirstElement()).getParent();
+			defaultFileName = container.getFullPath().toString() + "/";
+		} else if (selection.getFirstElement() instanceof IContainer) {
+			container = (IContainer)selection.getFirstElement();
+			defaultFileName = container.getFullPath().toString() + "/";
+		}
+
+	}
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/src/org/eclipse/intent/mapping/emf/ide/ui/wizard/NewEMFBasePage.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/src/org/eclipse/intent/mapping/emf/ide/ui/wizard/NewEMFBasePage.java
new file mode 100644
index 0000000..d7e12ed
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide.ui/src/org/eclipse/intent/mapping/emf/ide/ui/wizard/NewEMFBasePage.java
@@ -0,0 +1,155 @@
+/*******************************************************************************
+ * Copyright (c) 2016 Obeo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide.ui.wizard;
+
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * EMF {@link org.eclipse.intent.mapping.Base Base} creation page.
+ * 
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public class NewEMFBasePage extends WizardPage {
+
+	/**
+	 * The default file name.
+	 */
+	private final String defaultFileName;
+
+	/**
+	 * The base name {@link Text}.
+	 */
+	private Text baseNameText;
+
+	/**
+	 * The file name {@link Text}.
+	 */
+	private Text fileNameText;
+
+	/**
+	 * Create the wizard.
+	 * 
+	 * @param defaultFileName
+	 *            the default file name
+	 */
+	public NewEMFBasePage(String defaultFileName) {
+		super("Create EMF Mapping Base");
+		this.defaultFileName = defaultFileName;
+		setTitle("Create EMF Mapping Base");
+		setDescription("Enter information to create a new EMF mapping base");
+	}
+
+	/**
+	 * Create contents of the wizard.
+	 * 
+	 * @param parent
+	 *            the parent {@link Composite}
+	 */
+	public void createControl(Composite parent) {
+		KeyListener listener = new KeyListener() {
+
+			public void keyPressed(org.eclipse.swt.events.KeyEvent e) {
+				// nothing to do here
+			}
+
+			public void keyReleased(org.eclipse.swt.events.KeyEvent e) {
+				check();
+			}
+
+		};
+
+		final Composite container = new Composite(parent, SWT.NULL);
+
+		setControl(container);
+		container.setLayout(new GridLayout(2, false));
+
+		final Label baseNameLabel = new Label(container, SWT.NONE);
+		baseNameLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+		baseNameLabel.setText("Mapping base name:");
+
+		baseNameText = new Text(container, SWT.BORDER);
+		baseNameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+		baseNameText.addKeyListener(listener);
+
+		final Label fileNameLabel = new Label(container, SWT.NONE);
+		fileNameLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+		fileNameLabel.setText("File name:");
+
+		fileNameText = new Text(container, SWT.BORDER);
+		fileNameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+		fileNameText.addKeyListener(listener);
+		if (defaultFileName != null) {
+			fileNameText.setText(defaultFileName);
+		}
+
+		check();
+	}
+
+	/**
+	 * Gets the {@link org.eclipse.intent.mapping.Base#getName() name}.
+	 * 
+	 * @return the {@link org.eclipse.intent.mapping.Base#getName() name}
+	 */
+	public String getMappingBaseName() {
+		return baseNameText.getText();
+	}
+
+	/**
+	 * Gets the file name.
+	 * 
+	 * @return the file name
+	 */
+	public String getFileName() {
+		return fileNameText.getText();
+	}
+
+	/**
+	 * Sets the file name.
+	 * 
+	 * @param name
+	 *            the file name
+	 */
+	public void setFileName(String name) {
+		fileNameText.setText(name);
+	}
+
+	/**
+	 * Checks the page.
+	 */
+	private void check() {
+		final StringBuilder builder = new StringBuilder();
+		if (baseNameText.getText().isEmpty()) {
+			builder.append("The mapping base name can't be empty.");
+			if (fileNameText.getText().isEmpty()) {
+				builder.append("\n");
+			}
+		}
+		if (fileNameText.getText().isEmpty() || !fileNameText.getText().endsWith(".mapping")) {
+			builder.append("The file name can't be empty and must finish with \".mapping\"");
+		}
+		if (builder.length() == 0) {
+			setErrorMessage(null);
+			setPageComplete(true);
+		} else {
+			setErrorMessage(builder.toString());
+			setPageComplete(false);
+		}
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.checkstyle b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.checkstyle
new file mode 100644
index 0000000..46c61e2
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.checkstyle
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
+  <local-check-config name="ModelWriter" location="/eu.modelwriter.codestyle/codestyle/ModelWriterCheckstyle6Configuration.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="all" enabled="true" check-config-name="ModelWriter" local="true">
+    <file-match-pattern match-pattern="." include-pattern="true"/>
+  </fileset>
+  <filter name="FilesFromPackage" enabled="true">
+    <filter-data value="src-gen"/>
+  </filter>
+</fileset-config>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.classpath b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.classpath
new file mode 100644
index 0000000..756f428
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src-gen"/>
+	<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/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.project b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.project
new file mode 100644
index 0000000..95de13e
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.intent.mapping.emf.ide</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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+	</natures>
+</projectDescription>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.settings/org.eclipse.jdt.core.prefs b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..3433b02
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,315 @@
+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
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
+org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=110
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=8
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=110
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=false
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.settings/org.eclipse.jdt.ui.prefs b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..99aaf4f
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Intent
+formatter_settings_version=13
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=com;eu;fr;java;javax;org;\#org.junit;
+org.eclipse.jdt.ui.javadoc=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} {INITIAL COPYRIGHT OWNER} {OTHER COPYRIGHT OWNERS}.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    {INITIAL AUTHOR} - initial API and implementation and/or initial documentation\n *    ...\n *******************************************************************************/\nname\="typecomment"&gt;/**\n * @author &lt;a href\="mailto\:laurent.goubet@obeo.fr"&gt;Laurent Goubet&lt;/a&gt;\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * ${tags}\n *\n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**{@inheritDoc}\n *\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">/*******************************************************************************\n * Copyright (c) ${year} {INITIAL COPYRIGHT OWNER} {OTHER COPYRIGHT OWNERS}.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    {INITIAL AUTHOR} - initial API and implementation and/or initial documentation\n *    ...\n *******************************************************************************/\n${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=false
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=false
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+sp_cleanup.use_type_arguments=false
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/META-INF/MANIFEST.MF b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..16a3508
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/META-INF/MANIFEST.MF
@@ -0,0 +1,27 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.intent.mapping.emf.ide;singleton:=true
+Bundle-Version: 0.10.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.intent.mapping.emf.ide,
+ org.eclipse.intent.mapping.emf.ide.adapter,
+ org.eclipse.intent.mapping.emf.ide.connector,
+ org.eclipse.intent.mapping.emf.ide.marker,
+ org.eclipse.intent.mapping.emf.ide.resource,
+ org.eclipse.intent.mapping.ide,
+ org.eclipse.intent.mapping.ide.impl,
+ org.eclipse.intent.mapping.ide.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.cdo;visibility:=reexport,
+ org.eclipse.intent.mapping.emf;visibility:=reexport,
+ org.eclipse.intent.mapping.ide,
+ org.eclipse.intent.mapping,
+ org.eclipse.core.resources,
+ org.eclipse.emf.ecore.xmi
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.intent.mapping.emf.ide.Activator
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/build.properties b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/build.properties
new file mode 100644
index 0000000..599c44b
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/build.properties
@@ -0,0 +1,20 @@
+#  Copyright (c) 2015 Obeo.
+#  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:
+#     Obeo - initial API and implementation and/or initial documentation
+#     ...
+# 
+
+bin.includes = .,\
+               model/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src-gen/,\
+           src/
+output.. = bin/
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/model/ide.ecore b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/model/ide.ecore
new file mode 100644
index 0000000..7f1282c
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/model/ide.ecore
@@ -0,0 +1,11 @@
+<?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="ide" nsURI="http://www.eclipse.org/intent/mapping/ide" nsPrefix="ide">
+  <eClassifiers xsi:type="ecore:EClass" name="ResourceLocation" eSuperTypes="../../org.eclipse.intent.mapping.emf/model/mapping.ecore#//Location">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fullPath" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="FileLocation" eSuperTypes="#//ResourceLocation"/>
+  <eClassifiers xsi:type="ecore:EClass" name="TextFileLocation" eSuperTypes="#//FileLocation ../../org.eclipse.intent.mapping.emf/model/mapping.ecore#//TextContainer"/>
+  <eClassifiers xsi:type="ecore:EClass" name="EObjectFileLocation" eSuperTypes="#//FileLocation ../../org.eclipse.intent.mapping.emf/model/mapping.ecore#//EObjectContainer"/>
+</ecore:EPackage>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/model/ide.genmodel b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/model/ide.genmodel
new file mode 100644
index 0000000..7b18a6a
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/model/ide.genmodel
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText=" Copyright (c) 2015 Obeo.&#xA; All rights reserved. This program and the accompanying materials&#xA; are made available under the terms of the Eclipse Public License v1.0&#xA; which accompanies this distribution, and is available at&#xA; http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA; Contributors:&#xA;    Obeo - initial API and implementation and/or initial documentation&#xA;    ...&#xA;"
+    modelDirectory="/org.eclipse.intent.mapping.emf.ide/src-gen" editDirectory="/org.eclipse.intent.mapping.emf.ide.edit/src-gen"
+    editorDirectory="/org.eclipse.intent.mapping.emf.ide.editor/src-gen"
+    modelPluginID="org.eclipse.intent.mapping.emf.ide" modelName="Ide"
+    rootExtendsInterface="org.eclipse.emf.cdo.CDOObject" rootExtendsClass="org.eclipse.emf.internal.cdo.CDOObjectImpl"
+    reflectiveDelegation="true" codeFormatting="true" testsDirectory="/org.eclipse.intent.mapping.emf.ide.tests/src-gen"
+    importerID="org.eclipse.emf.importer.cdo" featureDelegation="Reflective" complianceLevel="5.0"
+    copyrightFields="false" publicConstructors="true" providerRootExtendsClass="org.eclipse.emf.cdo.edit.CDOItemProviderAdapter"
+    operationReflection="true" importOrganizing="true">
+  <foreignModel>ide.ecore</foreignModel>
+  <modelPluginVariables>CDO=org.eclipse.emf.cdo</modelPluginVariables>
+  <genPackages prefix="Ide" basePackage="org.eclipse.intent.mapping" disposableProviderFactory="true"
+      ecorePackage="ide.ecore#/">
+    <genClasses ecoreClass="ide.ecore#//ResourceLocation">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ide.ecore#//ResourceLocation/fullPath"/>
+    </genClasses>
+    <genClasses ecoreClass="ide.ecore#//FileLocation"/>
+    <genClasses ecoreClass="ide.ecore#//TextFileLocation"/>
+    <genClasses ecoreClass="ide.ecore#//EObjectFileLocation"/>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/plugin.properties b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/plugin.properties
new file mode 100644
index 0000000..2f7173b
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/plugin.properties
@@ -0,0 +1,13 @@
+#  Copyright (c) 2015 Obeo.
+#  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:
+#     Obeo - initial API and implementation and/or initial documentation
+#     ...
+# 
+
+pluginName = Ide Model
+providerName = www.example.org
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/plugin.xml b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/plugin.xml
new file mode 100644
index 0000000..92a7c87
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/plugin.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+  Copyright (c) 2015 Obeo.
+  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:
+     Obeo - initial API and implementation and/or initial documentation
+     ...
+ 
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated ide -->
+      <package
+            uri="http://www.eclipse.org/intent/mapping/ide"
+            class="org.eclipse.intent.mapping.ide.IdePackage"
+            genModel="model/ide.genmodel"/>
+   </extension>
+   <extension
+         point="org.eclipse.intent.mapping.ide.location">
+      <base
+            class="org.eclipse.intent.mapping.Base">
+         <location
+               implementation="org.eclipse.intent.mapping.ide.impl.ResourceLocationImpl"
+               interface="org.eclipse.intent.mapping.ide.resource.IResourceLocation">
+         </location>
+         <location
+               implementation="org.eclipse.intent.mapping.ide.impl.TextFileLocationImpl"
+               interface="org.eclipse.intent.mapping.ide.resource.ITextFileLocation">
+         </location>
+         <location
+               implementation="org.eclipse.intent.mapping.ide.impl.EObjectFileLocationImpl"
+               interface="org.eclipse.intent.mapping.emf.ide.resource.IEObjectFileLocation">
+         </location>
+      </base>
+   </extension>
+   <extension
+         point="org.eclipse.intent.mapping.ide.fileConnectorDelegate">
+      <fileConnectorDelegate
+            class="org.eclipse.intent.mapping.emf.ide.connector.EObjectFileConnectorDelegate">
+      </fileConnectorDelegate>
+   </extension>
+   <extension
+         point="org.eclipse.intent.mapping.ide.baseProvider">
+   </extension>
+   <extension
+         point="org.eclipse.intent.mapping.ide.connector">
+      <connector
+            class="org.eclipse.intent.mapping.emf.ide.connector.IdeEObjectConnector">
+      </connector>
+      <connector
+            class="org.eclipse.intent.mapping.emf.ide.connector.IdeCDOResourceNodeConnector">
+      </connector>
+      <connector
+            class="org.eclipse.intent.mapping.emf.ide.connector.IdeCDOViewConnector">
+      </connector>
+   </extension>
+   <extension
+         id="org.eclipse.intent.mapping.emf.ide.eobjectLocationMarker"
+         name="EObject Location"
+         point="org.eclipse.core.resources.markers">
+      <persistent
+            value="false">
+      </persistent>
+      <super
+            type="org.eclipse.intent.mapping.ide.locationMarker">
+      </super>
+      <super
+            type="org.eclipse.emf.ecore.diagnostic">
+      </super>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.adapters">
+      <factory
+            adaptableType="org.eclipse.intent.mapping.emf.IEObjectLocation"
+            class="org.eclipse.intent.mapping.emf.ide.adapter.EObjectLocationToMarkerAdapterFactory">
+         <adapter
+               type="org.eclipse.core.resources.IMarker">
+         </adapter>
+      </factory>
+      <factory
+            adaptableType="org.eclipse.emf.ecore.EObject"
+            class="org.eclipse.intent.mapping.emf.ide.adapter.EObjectToFileAdapterFactory">
+         <adapter
+               type="org.eclipse.core.resources.IFile">
+         </adapter>
+      </factory>
+   </extension>
+   <extension
+         point="org.eclipse.core.contenttype.contentTypes">
+      <content-type
+            base-type="org.eclipse.emf.ecore.xmi"
+            file-extensions="mapping"
+            id="org.eclipse.intent.mapping.emf.ide.mapping"
+            name="Mapping base"
+            priority="normal">
+      </content-type>
+   </extension>
+   <extension
+         point="org.eclipse.intent.mapping.ide.markerToLocation">
+      <markerToLocation
+            class="org.eclipse.intent.mapping.emf.ide.adapter.MarkerToEObjectLocationDescriptor"
+            markerType="org.eclipse.emf.ecore.diagnostic">
+      </markerToLocation>
+   </extension>
+   <extension
+         point="org.eclipse.intent.mapping.ide.containerProvider">
+      <provider
+            class="org.eclipse.intent.mapping.emf.connector.CDOContainerProvider">
+      </provider>
+      <provider
+            class="org.eclipse.intent.mapping.emf.ide.connector.EObjectContainerProvider">
+      </provider>
+   </extension>
+
+</plugin>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/pom.xml b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/pom.xml
new file mode 100644
index 0000000..7658de0
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Copyright (C) 2015, Obeo
+
+   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
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.eclipse.intent</groupId>
+    <artifactId>org.eclipse.intent-parent</artifactId>
+    <version>0.10.0-SNAPSHOT</version>
+    <relativePath>../..</relativePath>
+  </parent>
+
+  <artifactId>org.eclipse.intent.mapping.emf.ide</artifactId>
+  <version>0.10.0-SNAPSHOT</version>
+  <packaging>eclipse-plugin</packaging>
+
+  <name>Mapping EMF IDE</name>
+
+  <build>
+   <plugins>
+      <plugin>
+        <groupId>org.eclipse.tycho</groupId>
+        <artifactId>tycho-source-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+  
+</project>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/EObjectFileLocation.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/EObjectFileLocation.java
new file mode 100644
index 0000000..256cd8d
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/EObjectFileLocation.java
@@ -0,0 +1,46 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.ide;
+
+import java.util.List;
+
+import org.eclipse.intent.mapping.EObjectContainer;
+import org.eclipse.intent.mapping.emf.ICouple;
+import org.eclipse.intent.mapping.emf.ide.resource.IEObjectFileLocation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>EObject File Location</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.intent.mapping.ide.IdePackage#getEObjectFileLocation()
+ * @model
+ * @generated NOT
+ */
+public interface EObjectFileLocation extends FileLocation, EObjectContainer, IEObjectFileLocation {
+
+	/**
+	 * Returns the value of the '<em><b>Saved URI Fragments</b></em>' containment reference list. The list
+	 * contents are of type {@link org.eclipse.intent.mapping.Couple}. <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Saved URI Fragments</em>' containment reference list isn't clear, there
+	 * really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * 
+	 * @return the value of the '<em>Saved URI Fragments</em>' containment reference list.
+	 * @see org.eclipse.intent.mapping.ide.IdePackage#getEObjectFileLocation_SavedURIFragments()
+	 * @model containment="true"
+	 * @generated NOT
+	 */
+	List<ICouple> getSavedURIFragments();
+} // EObjectFileLocation
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/FileLocation.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/FileLocation.java
new file mode 100644
index 0000000..4b1dd25
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/FileLocation.java
@@ -0,0 +1,26 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.ide;
+
+import org.eclipse.intent.mapping.ide.resource.IFileLocation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>File Location</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.intent.mapping.ide.IdePackage#getFileLocation()
+ * @model
+ * @generated NOT
+ */
+public interface FileLocation extends ResourceLocation, IFileLocation {
+} // FileLocation
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/IdeFactory.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/IdeFactory.java
new file mode 100644
index 0000000..0f7feb1
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/IdeFactory.java
@@ -0,0 +1,75 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.ide;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a create method for each non-abstract
+ * class of the model. <!-- end-user-doc -->
+ * 
+ * @see org.eclipse.intent.mapping.ide.IdePackage
+ * @generated
+ */
+public interface IdeFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	IdeFactory eINSTANCE = org.eclipse.intent.mapping.ide.impl.IdeFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Resource Location</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @return a new object of class '<em>Resource Location</em>'.
+	 * @generated
+	 */
+	ResourceLocation createResourceLocation();
+
+	/**
+	 * Returns a new object of class '<em>File Location</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @return a new object of class '<em>File Location</em>'.
+	 * @generated
+	 */
+	FileLocation createFileLocation();
+
+	/**
+	 * Returns a new object of class '<em>Text File Location</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @return a new object of class '<em>Text File Location</em>'.
+	 * @generated
+	 */
+	TextFileLocation createTextFileLocation();
+
+	/**
+	 * Returns a new object of class '<em>EObject File Location</em>'. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @return a new object of class '<em>EObject File Location</em>'.
+	 * @generated
+	 */
+	EObjectFileLocation createEObjectFileLocation();
+
+	/**
+	 * Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	IdePackage getIdePackage();
+
+} // IdeFactory
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/IdePackage.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/IdePackage.java
new file mode 100644
index 0000000..023245d
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/IdePackage.java
@@ -0,0 +1,576 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.ide;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.intent.mapping.MappingPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains accessors for the meta objects to
+ * represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * 
+ * @see org.eclipse.intent.mapping.ide.IdeFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface IdePackage extends EPackage {
+	/**
+	 * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	String eNAME = "ide";
+
+	/**
+	 * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/intent/mapping/ide";
+
+	/**
+	 * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	String eNS_PREFIX = "ide";
+
+	/**
+	 * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	IdePackage eINSTANCE = org.eclipse.intent.mapping.ide.impl.IdePackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.intent.mapping.ide.impl.ResourceLocationImpl
+	 * <em>Resource Location</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @see org.eclipse.intent.mapping.ide.impl.ResourceLocationImpl
+	 * @see org.eclipse.intent.mapping.ide.impl.IdePackageImpl#getResourceLocation()
+	 * @generated
+	 */
+	int RESOURCE_LOCATION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Contents</b></em>' containment reference list. <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE_LOCATION__CONTENTS = MappingPackage.LOCATION__CONTENTS;
+
+	/**
+	 * The feature id for the '<em><b>Source Links</b></em>' reference list. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE_LOCATION__SOURCE_LINKS = MappingPackage.LOCATION__SOURCE_LINKS;
+
+	/**
+	 * The feature id for the '<em><b>Target Links</b></em>' containment reference list. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE_LOCATION__TARGET_LINKS = MappingPackage.LOCATION__TARGET_LINKS;
+
+	/**
+	 * The feature id for the '<em><b>Container</b></em>' container reference. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE_LOCATION__CONTAINER = MappingPackage.LOCATION__CONTAINER;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE_LOCATION__TYPE = MappingPackage.LOCATION__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Marked As Deleted</b></em>' attribute. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE_LOCATION__MARKED_AS_DELETED = MappingPackage.LOCATION__MARKED_AS_DELETED;
+
+	/**
+	 * The feature id for the '<em><b>Full Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE_LOCATION__FULL_PATH = MappingPackage.LOCATION_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Resource Location</em>' class. <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE_LOCATION_FEATURE_COUNT = MappingPackage.LOCATION_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Resource Location</em>' class. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int RESOURCE_LOCATION_OPERATION_COUNT = MappingPackage.LOCATION_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.intent.mapping.ide.impl.FileLocationImpl <em>File
+	 * Location</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @see org.eclipse.intent.mapping.ide.impl.FileLocationImpl
+	 * @see org.eclipse.intent.mapping.ide.impl.IdePackageImpl#getFileLocation()
+	 * @generated
+	 */
+	int FILE_LOCATION = 1;
+
+	/**
+	 * The feature id for the '<em><b>Contents</b></em>' containment reference list. <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int FILE_LOCATION__CONTENTS = RESOURCE_LOCATION__CONTENTS;
+
+	/**
+	 * The feature id for the '<em><b>Source Links</b></em>' reference list. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int FILE_LOCATION__SOURCE_LINKS = RESOURCE_LOCATION__SOURCE_LINKS;
+
+	/**
+	 * The feature id for the '<em><b>Target Links</b></em>' containment reference list. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int FILE_LOCATION__TARGET_LINKS = RESOURCE_LOCATION__TARGET_LINKS;
+
+	/**
+	 * The feature id for the '<em><b>Container</b></em>' container reference. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int FILE_LOCATION__CONTAINER = RESOURCE_LOCATION__CONTAINER;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int FILE_LOCATION__TYPE = RESOURCE_LOCATION__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Marked As Deleted</b></em>' attribute. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int FILE_LOCATION__MARKED_AS_DELETED = RESOURCE_LOCATION__MARKED_AS_DELETED;
+
+	/**
+	 * The feature id for the '<em><b>Full Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int FILE_LOCATION__FULL_PATH = RESOURCE_LOCATION__FULL_PATH;
+
+	/**
+	 * The number of structural features of the '<em>File Location</em>' class. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int FILE_LOCATION_FEATURE_COUNT = RESOURCE_LOCATION_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>File Location</em>' class. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int FILE_LOCATION_OPERATION_COUNT = RESOURCE_LOCATION_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.intent.mapping.ide.impl.TextFileLocationImpl <em>Text
+	 * File Location</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @see org.eclipse.intent.mapping.ide.impl.TextFileLocationImpl
+	 * @see org.eclipse.intent.mapping.ide.impl.IdePackageImpl#getTextFileLocation()
+	 * @generated
+	 */
+	int TEXT_FILE_LOCATION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Contents</b></em>' containment reference list. <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int TEXT_FILE_LOCATION__CONTENTS = FILE_LOCATION__CONTENTS;
+
+	/**
+	 * The feature id for the '<em><b>Source Links</b></em>' reference list. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int TEXT_FILE_LOCATION__SOURCE_LINKS = FILE_LOCATION__SOURCE_LINKS;
+
+	/**
+	 * The feature id for the '<em><b>Target Links</b></em>' containment reference list. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int TEXT_FILE_LOCATION__TARGET_LINKS = FILE_LOCATION__TARGET_LINKS;
+
+	/**
+	 * The feature id for the '<em><b>Container</b></em>' container reference. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int TEXT_FILE_LOCATION__CONTAINER = FILE_LOCATION__CONTAINER;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int TEXT_FILE_LOCATION__TYPE = FILE_LOCATION__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Marked As Deleted</b></em>' attribute. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int TEXT_FILE_LOCATION__MARKED_AS_DELETED = FILE_LOCATION__MARKED_AS_DELETED;
+
+	/**
+	 * The feature id for the '<em><b>Full Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int TEXT_FILE_LOCATION__FULL_PATH = FILE_LOCATION__FULL_PATH;
+
+	/**
+	 * The feature id for the '<em><b>Text</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int TEXT_FILE_LOCATION__TEXT = FILE_LOCATION_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Text File Location</em>' class. <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int TEXT_FILE_LOCATION_FEATURE_COUNT = FILE_LOCATION_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Text File Location</em>' class. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int TEXT_FILE_LOCATION_OPERATION_COUNT = FILE_LOCATION_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.intent.mapping.ide.impl.EObjectFileLocationImpl
+	 * <em>EObject File Location</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @see org.eclipse.intent.mapping.ide.impl.EObjectFileLocationImpl
+	 * @see org.eclipse.intent.mapping.ide.impl.IdePackageImpl#getEObjectFileLocation()
+	 * @generated
+	 */
+	int EOBJECT_FILE_LOCATION = 3;
+
+	/**
+	 * The feature id for the '<em><b>Contents</b></em>' containment reference list. <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int EOBJECT_FILE_LOCATION__CONTENTS = FILE_LOCATION__CONTENTS;
+
+	/**
+	 * The feature id for the '<em><b>Source Links</b></em>' reference list. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int EOBJECT_FILE_LOCATION__SOURCE_LINKS = FILE_LOCATION__SOURCE_LINKS;
+
+	/**
+	 * The feature id for the '<em><b>Target Links</b></em>' containment reference list. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int EOBJECT_FILE_LOCATION__TARGET_LINKS = FILE_LOCATION__TARGET_LINKS;
+
+	/**
+	 * The feature id for the '<em><b>Container</b></em>' container reference. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int EOBJECT_FILE_LOCATION__CONTAINER = FILE_LOCATION__CONTAINER;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int EOBJECT_FILE_LOCATION__TYPE = FILE_LOCATION__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Marked As Deleted</b></em>' attribute. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int EOBJECT_FILE_LOCATION__MARKED_AS_DELETED = FILE_LOCATION__MARKED_AS_DELETED;
+
+	/**
+	 * The feature id for the '<em><b>Full Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int EOBJECT_FILE_LOCATION__FULL_PATH = FILE_LOCATION__FULL_PATH;
+
+	/**
+	 * The feature id for the '<em><b>XMI Content</b></em>' attribute. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int EOBJECT_FILE_LOCATION__XMI_CONTENT = FILE_LOCATION_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Saved URI Fragments</b></em>' containment reference list. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int EOBJECT_FILE_LOCATION__SAVED_URI_FRAGMENTS = FILE_LOCATION_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>EObject File Location</em>' class. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int EOBJECT_FILE_LOCATION_FEATURE_COUNT = FILE_LOCATION_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>EObject File Location</em>' class. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 * @ordered
+	 */
+	int EOBJECT_FILE_LOCATION_OPERATION_COUNT = FILE_LOCATION_OPERATION_COUNT + 0;
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.intent.mapping.ide.ResourceLocation <em>Resource
+	 * Location</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @return the meta object for class '<em>Resource Location</em>'.
+	 * @see org.eclipse.intent.mapping.ide.ResourceLocation
+	 * @generated
+	 */
+	EClass getResourceLocation();
+
+	/**
+	 * Returns the meta object for the attribute
+	 * '{@link org.eclipse.intent.mapping.ide.ResourceLocation#getFullPath <em>Full Path</em>}'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @return the meta object for the attribute '<em>Full Path</em>'.
+	 * @see org.eclipse.intent.mapping.ide.ResourceLocation#getFullPath()
+	 * @see #getResourceLocation()
+	 * @generated
+	 */
+	EAttribute getResourceLocation_FullPath();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.intent.mapping.ide.FileLocation <em>File
+	 * Location</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @return the meta object for class '<em>File Location</em>'.
+	 * @see org.eclipse.intent.mapping.ide.FileLocation
+	 * @generated
+	 */
+	EClass getFileLocation();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.intent.mapping.ide.TextFileLocation <em>Text File
+	 * Location</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @return the meta object for class '<em>Text File Location</em>'.
+	 * @see org.eclipse.intent.mapping.ide.TextFileLocation
+	 * @generated
+	 */
+	EClass getTextFileLocation();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.intent.mapping.ide.EObjectFileLocation
+	 * <em>EObject File Location</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @return the meta object for class '<em>EObject File Location</em>'.
+	 * @see org.eclipse.intent.mapping.ide.EObjectFileLocation
+	 * @generated
+	 */
+	EClass getEObjectFileLocation();
+
+	/**
+	 * Returns the factory that creates the instances of the model. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	IdeFactory getIdeFactory();
+
+	/**
+	 * <!-- begin-user-doc --> Defines literals for the meta objects that represent
+	 * <ul>
+	 * <li>each class,</li>
+	 * <li>each feature of each class,</li>
+	 * <li>each operation of each class,</li>
+	 * <li>each enum,</li>
+	 * <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.intent.mapping.ide.impl.ResourceLocationImpl
+		 * <em>Resource Location</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+		 * 
+		 * @see org.eclipse.intent.mapping.ide.impl.ResourceLocationImpl
+		 * @see org.eclipse.intent.mapping.ide.impl.IdePackageImpl#getResourceLocation()
+		 * @generated
+		 */
+		EClass RESOURCE_LOCATION = eINSTANCE.getResourceLocation();
+
+		/**
+		 * The meta object literal for the '<em><b>Full Path</b></em>' attribute feature. <!-- begin-user-doc
+		 * --> <!-- end-user-doc -->
+		 * 
+		 * @generated
+		 */
+		EAttribute RESOURCE_LOCATION__FULL_PATH = eINSTANCE.getResourceLocation_FullPath();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.intent.mapping.ide.impl.FileLocationImpl
+		 * <em>File Location</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+		 * 
+		 * @see org.eclipse.intent.mapping.ide.impl.FileLocationImpl
+		 * @see org.eclipse.intent.mapping.ide.impl.IdePackageImpl#getFileLocation()
+		 * @generated
+		 */
+		EClass FILE_LOCATION = eINSTANCE.getFileLocation();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.intent.mapping.ide.impl.TextFileLocationImpl
+		 * <em>Text File Location</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+		 * 
+		 * @see org.eclipse.intent.mapping.ide.impl.TextFileLocationImpl
+		 * @see org.eclipse.intent.mapping.ide.impl.IdePackageImpl#getTextFileLocation()
+		 * @generated
+		 */
+		EClass TEXT_FILE_LOCATION = eINSTANCE.getTextFileLocation();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.intent.mapping.ide.impl.EObjectFileLocationImpl
+		 * <em>EObject File Location</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+		 * 
+		 * @see org.eclipse.intent.mapping.ide.impl.EObjectFileLocationImpl
+		 * @see org.eclipse.intent.mapping.ide.impl.IdePackageImpl#getEObjectFileLocation()
+		 * @generated
+		 */
+		EClass EOBJECT_FILE_LOCATION = eINSTANCE.getEObjectFileLocation();
+
+	}
+
+} // IdePackage
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/ResourceLocation.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/ResourceLocation.java
new file mode 100644
index 0000000..3f23dcb
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/ResourceLocation.java
@@ -0,0 +1,60 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.ide;
+
+import org.eclipse.intent.mapping.Location;
+import org.eclipse.intent.mapping.ide.resource.IResourceLocation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Resource Location</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.intent.mapping.ide.ResourceLocation#getFullPath <em>Full Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.intent.mapping.ide.IdePackage#getResourceLocation()
+ * @model
+ * @generated NOT
+ */
+public interface ResourceLocation extends Location, IResourceLocation {
+	/**
+	 * Returns the value of the '<em><b>Full Path</b></em>' attribute. <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Full Path</em>' attribute isn't clear, there really should be more of a
+	 * description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * 
+	 * @return the value of the '<em>Full Path</em>' attribute.
+	 * @see #setFullPath(String)
+	 * @see org.eclipse.intent.mapping.ide.IdePackage#getResourceLocation_FullPath()
+	 * @model required="true"
+	 * @generated
+	 */
+	String getFullPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.intent.mapping.ide.ResourceLocation#getFullPath <em>Full
+	 * Path</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @param value
+	 *            the new value of the '<em>Full Path</em>' attribute.
+	 * @see #getFullPath()
+	 * @generated
+	 */
+	void setFullPath(String value);
+
+} // ResourceLocation
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/TextFileLocation.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/TextFileLocation.java
new file mode 100644
index 0000000..11c5e5a
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/TextFileLocation.java
@@ -0,0 +1,28 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.ide;
+
+import org.eclipse.intent.mapping.TextContainer;
+import org.eclipse.intent.mapping.ide.resource.ITextFileLocation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Text File Location</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.intent.mapping.ide.IdePackage#getTextFileLocation()
+ * @model
+ * @generated NOT
+ */
+public interface TextFileLocation extends FileLocation, TextContainer, ITextFileLocation {
+
+} // TextFileLocation
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/EObjectFileLocationImpl.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/EObjectFileLocationImpl.java
new file mode 100644
index 0000000..eb3cff8
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/EObjectFileLocationImpl.java
@@ -0,0 +1,128 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.ide.impl;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.intent.mapping.EObjectContainer;
+import org.eclipse.intent.mapping.MappingPackage;
+import org.eclipse.intent.mapping.emf.ICouple;
+import org.eclipse.intent.mapping.ide.EObjectFileLocation;
+import org.eclipse.intent.mapping.ide.IdePackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>EObject File Location</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.intent.mapping.ide.impl.EObjectFileLocationImpl#getXMIContent <em>XMI
+ * Content</em>}</li>
+ * <li>{@link org.eclipse.intent.mapping.ide.impl.EObjectFileLocationImpl#getSavedURIFragments <em>Saved URI
+ * Fragments</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EObjectFileLocationImpl extends FileLocationImpl implements EObjectFileLocation {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public EObjectFileLocationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IdePackage.Literals.EOBJECT_FILE_LOCATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public String getXMIContent() {
+		return (String)eGet(MappingPackage.Literals.EOBJECT_CONTAINER__XMI_CONTENT, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public void setXMIContent(String newXMIContent) {
+		eSet(MappingPackage.Literals.EOBJECT_CONTAINER__XMI_CONTENT, newXMIContent);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated NOT
+	 */
+	@SuppressWarnings("unchecked")
+	public List<ICouple> getSavedURIFragments() {
+		return (List<ICouple>)eGet(MappingPackage.Literals.EOBJECT_CONTAINER__SAVED_URI_FRAGMENTS, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == EObjectContainer.class) {
+			switch (derivedFeatureID) {
+				case IdePackage.EOBJECT_FILE_LOCATION__XMI_CONTENT:
+					return MappingPackage.EOBJECT_CONTAINER__XMI_CONTENT;
+				case IdePackage.EOBJECT_FILE_LOCATION__SAVED_URI_FRAGMENTS:
+					return MappingPackage.EOBJECT_CONTAINER__SAVED_URI_FRAGMENTS;
+				default:
+					return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == EObjectContainer.class) {
+			switch (baseFeatureID) {
+				case MappingPackage.EOBJECT_CONTAINER__XMI_CONTENT:
+					return IdePackage.EOBJECT_FILE_LOCATION__XMI_CONTENT;
+				case MappingPackage.EOBJECT_CONTAINER__SAVED_URI_FRAGMENTS:
+					return IdePackage.EOBJECT_FILE_LOCATION__SAVED_URI_FRAGMENTS;
+				default:
+					return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+} // EObjectFileLocationImpl
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/FileLocationImpl.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/FileLocationImpl.java
new file mode 100644
index 0000000..2da15cf
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/FileLocationImpl.java
@@ -0,0 +1,45 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.ide.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.intent.mapping.ide.FileLocation;
+import org.eclipse.intent.mapping.ide.IdePackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>File Location</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class FileLocationImpl extends ResourceLocationImpl implements FileLocation {
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public FileLocationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IdePackage.Literals.FILE_LOCATION;
+	}
+
+} // FileLocationImpl
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/IdeFactoryImpl.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/IdeFactoryImpl.java
new file mode 100644
index 0000000..7ad01df
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/IdeFactoryImpl.java
@@ -0,0 +1,141 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.ide.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.intent.mapping.ide.EObjectFileLocation;
+import org.eclipse.intent.mapping.ide.FileLocation;
+import org.eclipse.intent.mapping.ide.IdeFactory;
+import org.eclipse.intent.mapping.ide.IdePackage;
+import org.eclipse.intent.mapping.ide.ResourceLocation;
+import org.eclipse.intent.mapping.ide.TextFileLocation;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class IdeFactoryImpl extends EFactoryImpl implements IdeFactory {
+	/**
+	 * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public static IdeFactory init() {
+		try {
+			IdeFactory theIdeFactory = (IdeFactory)EPackage.Registry.INSTANCE.getEFactory(IdePackage.eNS_URI);
+			if (theIdeFactory != null) {
+				return theIdeFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new IdeFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public IdeFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case IdePackage.RESOURCE_LOCATION:
+				return (EObject)createResourceLocation();
+			case IdePackage.FILE_LOCATION:
+				return (EObject)createFileLocation();
+			case IdePackage.TEXT_FILE_LOCATION:
+				return (EObject)createTextFileLocation();
+			case IdePackage.EOBJECT_FILE_LOCATION:
+				return (EObject)createEObjectFileLocation();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName()
+						+ "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public ResourceLocation createResourceLocation() {
+		ResourceLocationImpl resourceLocation = new ResourceLocationImpl();
+		return resourceLocation;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public FileLocation createFileLocation() {
+		FileLocationImpl fileLocation = new FileLocationImpl();
+		return fileLocation;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public TextFileLocation createTextFileLocation() {
+		TextFileLocationImpl textFileLocation = new TextFileLocationImpl();
+		return textFileLocation;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public EObjectFileLocation createEObjectFileLocation() {
+		EObjectFileLocationImpl eObjectFileLocation = new EObjectFileLocationImpl();
+		return eObjectFileLocation;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public IdePackage getIdePackage() {
+		return (IdePackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static IdePackage getPackage() {
+		return IdePackage.eINSTANCE;
+	}
+
+} // IdeFactoryImpl
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/IdePackageImpl.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/IdePackageImpl.java
new file mode 100644
index 0000000..fc102fa
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/IdePackageImpl.java
@@ -0,0 +1,268 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.ide.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.intent.mapping.MappingPackage;
+import org.eclipse.intent.mapping.ide.EObjectFileLocation;
+import org.eclipse.intent.mapping.ide.FileLocation;
+import org.eclipse.intent.mapping.ide.IdeFactory;
+import org.eclipse.intent.mapping.ide.IdePackage;
+import org.eclipse.intent.mapping.ide.ResourceLocation;
+import org.eclipse.intent.mapping.ide.TextFileLocation;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class IdePackageImpl extends EPackageImpl implements IdePackage {
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	private EClass resourceLocationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	private EClass fileLocationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	private EClass textFileLocationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	private EClass eObjectFileLocationEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package package URI value.
+	 * <p>
+	 * Note: the correct way to create the package is via the static factory method {@link #init init()},
+	 * which also performs initialization of the package, or returns the registered package, if one already
+	 * exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.intent.mapping.ide.IdePackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private IdePackageImpl() {
+		super(eNS_URI, IdeFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it
+	 * depends.
+	 * <p>
+	 * This method is used to initialize {@link IdePackage#eINSTANCE} when that field is accessed. Clients
+	 * should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static IdePackage init() {
+		if (isInited)
+			return (IdePackage)EPackage.Registry.INSTANCE.getEPackage(IdePackage.eNS_URI);
+
+		// Obtain or create and register package
+		IdePackageImpl theIdePackage = (IdePackageImpl)(EPackage.Registry.INSTANCE.get(
+				eNS_URI) instanceof IdePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+						: new IdePackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		MappingPackage.eINSTANCE.eClass();
+
+		// Create package meta-data objects
+		theIdePackage.createPackageContents();
+
+		// Initialize created meta-data
+		theIdePackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theIdePackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(IdePackage.eNS_URI, theIdePackage);
+		return theIdePackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public EClass getResourceLocation() {
+		return resourceLocationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public EAttribute getResourceLocation_FullPath() {
+		return (EAttribute)resourceLocationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public EClass getFileLocation() {
+		return fileLocationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public EClass getTextFileLocation() {
+		return textFileLocationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public EClass getEObjectFileLocation() {
+		return eObjectFileLocationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public IdeFactory getIdeFactory() {
+		return (IdeFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package. This method is guarded to have no affect on any
+	 * invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated)
+			return;
+		isCreated = true;
+
+		// Create classes and their features
+		resourceLocationEClass = createEClass(RESOURCE_LOCATION);
+		createEAttribute(resourceLocationEClass, RESOURCE_LOCATION__FULL_PATH);
+
+		fileLocationEClass = createEClass(FILE_LOCATION);
+
+		textFileLocationEClass = createEClass(TEXT_FILE_LOCATION);
+
+		eObjectFileLocationEClass = createEClass(EOBJECT_FILE_LOCATION);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This method is guarded to have no affect
+	 * on any invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized)
+			return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		MappingPackage theMappingPackage = (MappingPackage)EPackage.Registry.INSTANCE.getEPackage(
+				MappingPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		resourceLocationEClass.getESuperTypes().add(theMappingPackage.getLocation());
+		fileLocationEClass.getESuperTypes().add(this.getResourceLocation());
+		textFileLocationEClass.getESuperTypes().add(this.getFileLocation());
+		textFileLocationEClass.getESuperTypes().add(theMappingPackage.getTextContainer());
+		eObjectFileLocationEClass.getESuperTypes().add(this.getFileLocation());
+		eObjectFileLocationEClass.getESuperTypes().add(theMappingPackage.getEObjectContainer());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(resourceLocationEClass, ResourceLocation.class, "ResourceLocation", !IS_ABSTRACT,
+				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getResourceLocation_FullPath(), ecorePackage.getEString(), "fullPath", null, 1, 1,
+				ResourceLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(fileLocationEClass, FileLocation.class, "FileLocation", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(textFileLocationEClass, TextFileLocation.class, "TextFileLocation", !IS_ABSTRACT,
+				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(eObjectFileLocationEClass, EObjectFileLocation.class, "EObjectFileLocation", !IS_ABSTRACT,
+				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		// Create resource
+		createResource(eNS_URI);
+	}
+
+} // IdePackageImpl
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/ResourceLocationImpl.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/ResourceLocationImpl.java
new file mode 100644
index 0000000..a1bf098
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/ResourceLocationImpl.java
@@ -0,0 +1,70 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.ide.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.intent.mapping.ide.IdePackage;
+import org.eclipse.intent.mapping.ide.ResourceLocation;
+import org.eclipse.intent.mapping.impl.LocationImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Resource Location</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.intent.mapping.ide.impl.ResourceLocationImpl#getFullPath <em>Full Path</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ResourceLocationImpl extends LocationImpl implements ResourceLocation {
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public ResourceLocationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IdePackage.Literals.RESOURCE_LOCATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public String getFullPath() {
+		return (String)eGet(IdePackage.Literals.RESOURCE_LOCATION__FULL_PATH, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public void setFullPath(String newFullPath) {
+		eSet(IdePackage.Literals.RESOURCE_LOCATION__FULL_PATH, newFullPath);
+	}
+
+} // ResourceLocationImpl
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/TextFileLocationImpl.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/TextFileLocationImpl.java
new file mode 100644
index 0000000..25c57ab
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/impl/TextFileLocationImpl.java
@@ -0,0 +1,107 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.ide.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.intent.mapping.MappingPackage;
+import org.eclipse.intent.mapping.TextContainer;
+import org.eclipse.intent.mapping.ide.IdePackage;
+import org.eclipse.intent.mapping.ide.TextFileLocation;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Text File Location</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.intent.mapping.ide.impl.TextFileLocationImpl#getText <em>Text</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TextFileLocationImpl extends FileLocationImpl implements TextFileLocation {
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public TextFileLocationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IdePackage.Literals.TEXT_FILE_LOCATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public String getText() {
+		return (String)eGet(MappingPackage.Literals.TEXT_CONTAINER__TEXT, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public void setText(String newText) {
+		eSet(MappingPackage.Literals.TEXT_CONTAINER__TEXT, newText);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == TextContainer.class) {
+			switch (derivedFeatureID) {
+				case IdePackage.TEXT_FILE_LOCATION__TEXT:
+					return MappingPackage.TEXT_CONTAINER__TEXT;
+				default:
+					return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == TextContainer.class) {
+			switch (baseFeatureID) {
+				case MappingPackage.TEXT_CONTAINER__TEXT:
+					return IdePackage.TEXT_FILE_LOCATION__TEXT;
+				default:
+					return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+} // TextFileLocationImpl
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/util/IdeAdapterFactory.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/util/IdeAdapterFactory.java
new file mode 100644
index 0000000..3bb94d7
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/util/IdeAdapterFactory.java
@@ -0,0 +1,283 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.ide.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.intent.mapping.EObjectContainer;
+import org.eclipse.intent.mapping.IEMFBaseElement;
+import org.eclipse.intent.mapping.Location;
+import org.eclipse.intent.mapping.LocationContainer;
+import org.eclipse.intent.mapping.TextContainer;
+import org.eclipse.intent.mapping.ide.EObjectFileLocation;
+import org.eclipse.intent.mapping.ide.FileLocation;
+import org.eclipse.intent.mapping.ide.IdePackage;
+import org.eclipse.intent.mapping.ide.ResourceLocation;
+import org.eclipse.intent.mapping.ide.TextFileLocation;
+
+/**
+ * <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides an adapter
+ * <code>createXXX</code> method for each class of the model. <!-- end-user-doc -->
+ * 
+ * @see org.eclipse.intent.mapping.ide.IdePackage
+ * @generated
+ */
+public class IdeAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected static IdePackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public IdeAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = IdePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object. <!-- begin-user-doc --> This
+	 * implementation returns <code>true</code> if the object is either the model's package or is an instance
+	 * object of the model. <!-- end-user-doc -->
+	 * 
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected IdeSwitch<Adapter> modelSwitch = new IdeSwitch<Adapter>() {
+		@Override
+		public Adapter caseResourceLocation(ResourceLocation object) {
+			return createResourceLocationAdapter();
+		}
+
+		@Override
+		public Adapter caseFileLocation(FileLocation object) {
+			return createFileLocationAdapter();
+		}
+
+		@Override
+		public Adapter caseTextFileLocation(TextFileLocation object) {
+			return createTextFileLocationAdapter();
+		}
+
+		@Override
+		public Adapter caseEObjectFileLocation(EObjectFileLocation object) {
+			return createEObjectFileLocationAdapter();
+		}
+
+		@Override
+		public Adapter caseIEMFBaseElement(IEMFBaseElement object) {
+			return createIEMFBaseElementAdapter();
+		}
+
+		@Override
+		public Adapter caseLocationContainer(LocationContainer object) {
+			return createLocationContainerAdapter();
+		}
+
+		@Override
+		public Adapter caseLocation(Location object) {
+			return createLocationAdapter();
+		}
+
+		@Override
+		public Adapter caseTextContainer(TextContainer object) {
+			return createTextContainerAdapter();
+		}
+
+		@Override
+		public Adapter caseEObjectContainer(EObjectContainer object) {
+			return createEObjectContainerAdapter();
+		}
+
+		@Override
+		public Adapter defaultCase(EObject object) {
+			return createEObjectAdapter();
+		}
+	};
+
+	/**
+	 * Creates an adapter for the <code>target</code>. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @param target
+	 *            the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.intent.mapping.ide.ResourceLocation
+	 * <em>Resource Location</em>}'. <!-- begin-user-doc --> This default implementation returns null so that
+	 * we can easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases
+	 * anyway. <!-- end-user-doc -->
+	 * 
+	 * @return the new adapter.
+	 * @see org.eclipse.intent.mapping.ide.ResourceLocation
+	 * @generated
+	 */
+	public Adapter createResourceLocationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.intent.mapping.ide.FileLocation
+	 * <em>File Location</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we
+	 * can easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * 
+	 * @return the new adapter.
+	 * @see org.eclipse.intent.mapping.ide.FileLocation
+	 * @generated
+	 */
+	public Adapter createFileLocationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.intent.mapping.ide.TextFileLocation
+	 * <em>Text File Location</em>}'. <!-- begin-user-doc --> This default implementation returns null so that
+	 * we can easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases
+	 * anyway. <!-- end-user-doc -->
+	 * 
+	 * @return the new adapter.
+	 * @see org.eclipse.intent.mapping.ide.TextFileLocation
+	 * @generated
+	 */
+	public Adapter createTextFileLocationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.intent.mapping.ide.EObjectFileLocation
+	 * <em>EObject File Location</em>}'. <!-- begin-user-doc --> This default implementation returns null so
+	 * that we can easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases
+	 * anyway. <!-- end-user-doc -->
+	 * 
+	 * @return the new adapter.
+	 * @see org.eclipse.intent.mapping.ide.EObjectFileLocation
+	 * @generated
+	 */
+	public Adapter createEObjectFileLocationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.intent.mapping.IEMFBaseElement
+	 * <em>IEMF Base Element</em>}'. <!-- begin-user-doc --> This default implementation returns null so that
+	 * we can easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases
+	 * anyway. <!-- end-user-doc -->
+	 * 
+	 * @return the new adapter.
+	 * @see org.eclipse.intent.mapping.IEMFBaseElement
+	 * @generated
+	 */
+	public Adapter createIEMFBaseElementAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.intent.mapping.LocationContainer
+	 * <em>Location Container</em>}'. <!-- begin-user-doc --> This default implementation returns null so that
+	 * we can easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases
+	 * anyway. <!-- end-user-doc -->
+	 * 
+	 * @return the new adapter.
+	 * @see org.eclipse.intent.mapping.LocationContainer
+	 * @generated
+	 */
+	public Adapter createLocationContainerAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.intent.mapping.Location
+	 * <em>Location</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+	 * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * 
+	 * @return the new adapter.
+	 * @see org.eclipse.intent.mapping.Location
+	 * @generated
+	 */
+	public Adapter createLocationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.intent.mapping.TextContainer <em>Text
+	 * Container</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+	 * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * 
+	 * @return the new adapter.
+	 * @see org.eclipse.intent.mapping.TextContainer
+	 * @generated
+	 */
+	public Adapter createTextContainerAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.intent.mapping.EObjectContainer
+	 * <em>EObject Container</em>}'. <!-- begin-user-doc --> This default implementation returns null so that
+	 * we can easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases
+	 * anyway. <!-- end-user-doc -->
+	 * 
+	 * @return the new adapter.
+	 * @see org.eclipse.intent.mapping.EObjectContainer
+	 * @generated
+	 */
+	public Adapter createEObjectContainerAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case. <!-- begin-user-doc --> This default implementation returns
+	 * null. <!-- end-user-doc -->
+	 * 
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} // IdeAdapterFactory
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/util/IdeSwitch.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/util/IdeSwitch.java
new file mode 100644
index 0000000..4bd6f75
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src-gen/org/eclipse/intent/mapping/ide/util/IdeSwitch.java
@@ -0,0 +1,302 @@
+/**
+ *  Copyright (c) 2015 Obeo.
+ *  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:
+ *     Obeo - initial API and implementation and/or initial documentation
+ *     ...
+ * 
+ */
+package org.eclipse.intent.mapping.ide.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.intent.mapping.EObjectContainer;
+import org.eclipse.intent.mapping.IEMFBaseElement;
+import org.eclipse.intent.mapping.Location;
+import org.eclipse.intent.mapping.LocationContainer;
+import org.eclipse.intent.mapping.TextContainer;
+import org.eclipse.intent.mapping.ide.EObjectFileLocation;
+import org.eclipse.intent.mapping.ide.FileLocation;
+import org.eclipse.intent.mapping.ide.IdePackage;
+import org.eclipse.intent.mapping.ide.ResourceLocation;
+import org.eclipse.intent.mapping.ide.TextFileLocation;
+
+/**
+ * <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance hierarchy. It supports the call
+ * {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the
+ * model, starting with the actual class of the object and proceeding up the inheritance hierarchy until a
+ * non-null result is returned, which is the result of the switch. <!-- end-user-doc -->
+ * 
+ * @see org.eclipse.intent.mapping.ide.IdePackage
+ * @generated
+ */
+public class IdeSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected static IdePackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public IdeSwitch() {
+		if (modelPackage == null) {
+			modelPackage = IdePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @param ePackage
+	 *            the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields
+	 * that result. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case IdePackage.RESOURCE_LOCATION: {
+				ResourceLocation resourceLocation = (ResourceLocation)theEObject;
+				T result = caseResourceLocation(resourceLocation);
+				if (result == null)
+					result = caseLocation(resourceLocation);
+				if (result == null)
+					result = caseIEMFBaseElement(resourceLocation);
+				if (result == null)
+					result = caseLocationContainer(resourceLocation);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case IdePackage.FILE_LOCATION: {
+				FileLocation fileLocation = (FileLocation)theEObject;
+				T result = caseFileLocation(fileLocation);
+				if (result == null)
+					result = caseResourceLocation(fileLocation);
+				if (result == null)
+					result = caseLocation(fileLocation);
+				if (result == null)
+					result = caseIEMFBaseElement(fileLocation);
+				if (result == null)
+					result = caseLocationContainer(fileLocation);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case IdePackage.TEXT_FILE_LOCATION: {
+				TextFileLocation textFileLocation = (TextFileLocation)theEObject;
+				T result = caseTextFileLocation(textFileLocation);
+				if (result == null)
+					result = caseFileLocation(textFileLocation);
+				if (result == null)
+					result = caseTextContainer(textFileLocation);
+				if (result == null)
+					result = caseResourceLocation(textFileLocation);
+				if (result == null)
+					result = caseLocation(textFileLocation);
+				if (result == null)
+					result = caseIEMFBaseElement(textFileLocation);
+				if (result == null)
+					result = caseLocationContainer(textFileLocation);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case IdePackage.EOBJECT_FILE_LOCATION: {
+				EObjectFileLocation eObjectFileLocation = (EObjectFileLocation)theEObject;
+				T result = caseEObjectFileLocation(eObjectFileLocation);
+				if (result == null)
+					result = caseFileLocation(eObjectFileLocation);
+				if (result == null)
+					result = caseEObjectContainer(eObjectFileLocation);
+				if (result == null)
+					result = caseResourceLocation(eObjectFileLocation);
+				if (result == null)
+					result = caseLocation(eObjectFileLocation);
+				if (result == null)
+					result = caseIEMFBaseElement(eObjectFileLocation);
+				if (result == null)
+					result = caseLocationContainer(eObjectFileLocation);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			default:
+				return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Resource Location</em>'. <!--
+	 * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the
+	 * switch. <!-- end-user-doc -->
+	 * 
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Resource Location</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseResourceLocation(ResourceLocation object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>File Location</em>'. <!--
+	 * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the
+	 * switch. <!-- end-user-doc -->
+	 * 
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>File Location</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFileLocation(FileLocation object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Text File Location</em>'. <!--
+	 * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the
+	 * switch. <!-- end-user-doc -->
+	 * 
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Text File Location</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTextFileLocation(TextFileLocation object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject File Location</em>'. <!--
+	 * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the
+	 * switch. <!-- end-user-doc -->
+	 * 
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject File Location</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEObjectFileLocation(EObjectFileLocation object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IEMF Base Element</em>'. <!--
+	 * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the
+	 * switch. <!-- end-user-doc -->
+	 * 
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>IEMF Base Element</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIEMFBaseElement(IEMFBaseElement object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Location Container</em>'. <!--
+	 * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the
+	 * switch. <!-- end-user-doc -->
+	 * 
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Location Container</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLocationContainer(LocationContainer object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Location</em>'. <!--
+	 * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the
+	 * switch. <!-- end-user-doc -->
+	 * 
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Location</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLocation(Location object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Text Container</em>'. <!--
+	 * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the
+	 * switch. <!-- end-user-doc -->
+	 * 
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Text Container</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTextContainer(TextContainer object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject Container</em>'. <!--
+	 * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the
+	 * switch. <!-- end-user-doc -->
+	 * 
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject Container</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEObjectContainer(EObjectContainer object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. <!-- begin-user-doc
+	 * --> This implementation returns null; returning a non-null result will terminate the switch, but this
+	 * is the last case anyway. <!-- end-user-doc -->
+	 * 
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} // IdeSwitch
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/Activator.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/Activator.java
new file mode 100644
index 0000000..fd88eb1
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/Activator.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide;
+
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ * 
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public class Activator extends Plugin {
+
+	/** The plug-in ID. */
+	public static final String PLUGIN_ID = "org.eclipse.intent.mapping.emf.ide";
+
+	/** This plug-in's shared instance. */
+	private static Activator plugin;
+
+	/**
+	 * The {@link WorkspaceMappingBaseListener}.
+	 */
+	private WorkspaceMappingBaseListener mappingBaseListener;
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+
+		// make sure org.eclipse.intent.mapping.ide is activated
+		org.eclipse.intent.mapping.ide.Activator.getDefault();
+
+		mappingBaseListener = new WorkspaceMappingBaseListener(true);
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(mappingBaseListener);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		super.stop(context);
+		plugin = null;
+		ResourcesPlugin.getWorkspace().removeResourceChangeListener(mappingBaseListener);
+		mappingBaseListener = null;
+	}
+
+	/**
+	 * Returns the shared instance.
+	 * 
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/WorkspaceMappingBaseListener.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/WorkspaceMappingBaseListener.java
new file mode 100644
index 0000000..d7bb957
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/WorkspaceMappingBaseListener.java
@@ -0,0 +1,321 @@
+/*******************************************************************************
+ * Copyright (c) 2016 Obeo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.intent.mapping.Base;
+import org.eclipse.intent.mapping.MappingPackage;
+import org.eclipse.intent.mapping.MappingUtils;
+
+/**
+ * An {@link IResourceChangeListener} that
+ * {@link org.eclipse.intent.mapping.base.IBaseRegistry#register(org.eclipse.intent.mapping.base.IBase)
+ * register}/
+ * {@link org.eclipse.intent.mapping.base.IBaseRegistry#unregister(org.eclipse.intent.mapping.base.IBase)
+ * unregister} {@link Base} of the {@link org.eclipse.intent.mapping.base.IBaseRegistry}.
+ *
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public class WorkspaceMappingBaseListener implements IResourceChangeListener {
+
+	/**
+	 * The "Unable to load mapping base from " message.
+	 */
+	private static final String UNABLE_TO_LOAD_MAPPING_BASE_FROM = "Unable to load mapping base from ";
+
+	/**
+	 * Mapping of {@link IFile} to
+	 * {@link org.eclipse.intent.mapping.base.IBaseRegistry#register(org.eclipse.intent.mapping.base.IBase)
+	 * registered} {@link Base}.
+	 */
+	private final Map<IFile, Base> resourceToBase = new HashMap<IFile, Base>();
+
+	/**
+	 * Constructor.
+	 * 
+	 * @param scan
+	 *            tells if we should scan the workspace
+	 */
+	public WorkspaceMappingBaseListener(boolean scan) {
+		if (scan) {
+			scan(ResourcesPlugin.getWorkspace().getRoot());
+		}
+	}
+
+	/**
+	 * Scans the given {@link IContainer} for bases.
+	 * 
+	 * @param container
+	 *            the {@link IContainer}
+	 */
+	private void scan(IContainer container) {
+		IResource[] members;
+		if (container.isAccessible()) {
+			try {
+				members = container.members();
+				for (IResource member : members) {
+					if (member instanceof IContainer) {
+						scan((IContainer)member);
+					} else if (member instanceof IFile) {
+						register((IFile)member);
+					}
+				}
+			} catch (CoreException e) {
+				Activator.getDefault().getLog().log(new Status(IStatus.WARNING, Activator.PLUGIN_ID,
+						UNABLE_TO_LOAD_MAPPING_BASE_FROM + e.getMessage(), e));
+			}
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
+	 */
+	public void resourceChanged(IResourceChangeEvent event) {
+		if (event.getDelta() != null) {
+			walkDelta(event.getDelta(), new HashMap<IPath, IResource>());
+		}
+	}
+
+	/**
+	 * Walks the {@link IResourceDelta} tree.
+	 * 
+	 * @param delta
+	 *            the root {@link IResourceDelta}
+	 * @param movedResources
+	 *            mapping of moved {@link IResource}
+	 */
+	private void walkDelta(IResourceDelta delta, HashMap<IPath, IResource> movedResources) {
+		processDelta(delta, movedResources);
+		for (IResourceDelta child : delta.getAffectedChildren()) {
+			walkDelta(child, movedResources);
+		}
+	}
+
+	/**
+	 * Processes the given {@link IResourceDelta} by
+	 * {@link WorkspaceListener#fireChange(fr.obeo.dsl.workspace.listener.change.IChange) firing}
+	 * {@link fr.obeo.dsl.workspace.listener.change.IChange IChange}.
+	 * 
+	 * @param delta
+	 *            the {@link IResourceDelta} to process
+	 * @param movedResources
+	 *            mapping of moved {@link IResource}
+	 */
+	private void processDelta(IResourceDelta delta, HashMap<IPath, IResource> movedResources) {
+		if (delta.getResource() instanceof IFile) {
+			switch (delta.getKind()) {
+				case IResourceDelta.ADDED:
+					processAddedDelta(delta, movedResources);
+					break;
+
+				case IResourceDelta.REMOVED:
+					processRemovedDelta(delta, movedResources);
+					break;
+
+				case IResourceDelta.CHANGED:
+					processChangedDelta(delta);
+					break;
+
+				default:
+					break;
+			}
+		}
+	}
+
+	/**
+	 * Process {@link IResourceDelta} with {@link IResourceDelta#CHANGED changed}
+	 * {@link IResourceDelta#getKind() kind}.
+	 * 
+	 * @param delta
+	 *            the {@link IResourceDelta} with {@link IResourceDelta#CHANGED changed}
+	 *            {@link IResourceDelta#getKind() kind}
+	 */
+	private void processChangedDelta(IResourceDelta delta) {
+		if ((delta.getFlags() & IResourceDelta.OPEN) != 0) {
+			if (delta.getResource().isAccessible()) {
+				register((IFile)delta.getResource());
+			} else {
+				unregister((IFile)delta.getResource());
+			}
+		} else if ((delta.getFlags() & IResourceDelta.DESCRIPTION) != 0) {
+			// nothing to do here
+		} else if ((delta.getFlags() & IResourceDelta.CONTENT) != 0) {
+			if (resourceToBase.get(delta.getResource()) == null) {
+				register((IFile)delta.getResource());
+			}
+		}
+	}
+
+	/**
+	 * Process {@link IResourceDelta} with {@link IResourceDelta#REMOVED removed}
+	 * {@link IResourceDelta#getKind() kind}.
+	 * 
+	 * @param delta
+	 *            the {@link IResourceDelta} with {@link IResourceDelta#REMOVED removed}
+	 *            {@link IResourceDelta#getKind() kind}
+	 * @param movedResources
+	 *            mapping of moved {@link IResource}
+	 */
+	private void processRemovedDelta(IResourceDelta delta, HashMap<IPath, IResource> movedResources) {
+		if ((delta.getFlags() & IResourceDelta.MOVED_TO) != 0) {
+			final IResource target = movedResources.get(delta.getMovedToPath());
+			if (target != null) {
+				resourceMoved((IFile)delta.getResource(), (IFile)target);
+			} else {
+				movedResources.put(delta.getResource().getFullPath(), delta.getResource());
+			}
+		} else {
+			unregister((IFile)delta.getResource());
+		}
+	}
+
+	/**
+	 * Process {@link IResourceDelta} with {@link IResourceDelta#ADDED added} {@link IResourceDelta#getKind()
+	 * kind}.
+	 * 
+	 * @param delta
+	 *            the {@link IResourceDelta} with {@link IResourceDelta#ADDED added}
+	 *            {@link IResourceDelta#getKind() kind}
+	 * @param movedResources
+	 *            mapping of moved {@link IResource}
+	 */
+	private void processAddedDelta(IResourceDelta delta, HashMap<IPath, IResource> movedResources) {
+		if ((delta.getFlags() & IResourceDelta.MOVED_FROM) != 0) {
+			final IResource source = movedResources.get(delta.getMovedFromPath());
+			if (source != null) {
+				resourceMoved((IFile)source, (IFile)delta.getResource());
+			} else {
+				movedResources.put(delta.getResource().getFullPath(), delta.getResource());
+			}
+		} else {
+			register((IFile)delta.getResource());
+		}
+	}
+
+	/**
+	 * Handles a {@link IFile} move.
+	 * 
+	 * @param source
+	 *            the source {@link IFile}
+	 * @param target
+	 *            the target {@link IFile}
+	 */
+	private void resourceMoved(IFile source, IFile target) {
+		if (MappingPackage.eNAME.equals(source.getFileExtension())) {
+			if (MappingPackage.eNAME.equals(target.getFileExtension())) {
+				final Base base = resourceToBase.remove(source);
+				resourceToBase.put(target, base);
+			} else {
+				unregister(source);
+			}
+		} else {
+			if (MappingPackage.eNAME.equals(target.getFileExtension())) {
+				register(target);
+			} else {
+				// nothing to do here
+			}
+		}
+
+	}
+
+	/**
+	 * {@link org.eclipse.intent.mapping.base.IBaseRegistry#register(org.eclipse.intent.mapping.base.IBase)
+	 * Unregisters} the {@link Base} stored in the given {@link IFile} if any, does nothing otherwise.
+	 * 
+	 * @param file
+	 *            the {@link IFile}
+	 */
+	private void register(IFile file) {
+		final Base base = getBaseFromFile(file);
+		if (base != null) {
+			resourceToBase.put(file, base);
+			MappingUtils.getMappingRegistry().register(base);
+		}
+	}
+
+	/**
+	 * Gets the {@link Base} from the given {@link IFile}.
+	 * 
+	 * @param file
+	 *            the {@link IFile}
+	 * @return the {@link Base} from the given {@link IFile} if nay, <code>null</code> otherwise
+	 */
+	private Base getBaseFromFile(IFile file) {
+		Base res = null;
+
+		if (MappingPackage.eNAME.equals(file.getFileExtension())) {
+			try {
+				final ResourceSet resourceSet = new ResourceSetImpl();
+				resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(MappingPackage.eNAME,
+						new XMIResourceFactoryImpl());
+
+				final Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(file
+						.getFullPath().toString(), true), true);
+				if (!resource.getContents().isEmpty()) {
+					if (resource.getContents().get(0) instanceof Base) {
+						res = (Base)resource.getContents().get(0);
+					} else {
+						Activator.getDefault().getLog().log(new Status(IStatus.WARNING, Activator.PLUGIN_ID,
+								UNABLE_TO_LOAD_MAPPING_BASE_FROM + file.getFullPath().toString()
+										+ " doesn't contain a Base."));
+					}
+				} else {
+					Activator.getDefault().getLog().log(new Status(IStatus.WARNING, Activator.PLUGIN_ID,
+							UNABLE_TO_LOAD_MAPPING_BASE_FROM + file.getFullPath().toString()
+									+ " resource is empty"));
+				}
+				// CHECKSTYLE:OFF
+			} catch (Exception e) {
+				// CHECKSTYLE:ON
+				Activator.getDefault().getLog().log(new Status(IStatus.WARNING, Activator.PLUGIN_ID,
+						UNABLE_TO_LOAD_MAPPING_BASE_FROM + file.getFullPath().toString(), e));
+			}
+		}
+
+		return res;
+	}
+
+	/**
+	 * {@link org.eclipse.intent.mapping.base.IBaseRegistry#unregister(org.eclipse.intent.mapping.base.IBase)
+	 * Unregisters} the {@link Base} corresponding to the given {@link IFile}.
+	 * 
+	 * @param file
+	 *            the {@link IFile}
+	 */
+	private void unregister(IFile file) {
+		final Base base = resourceToBase.remove(file);
+		if (base != null) {
+			MappingUtils.getMappingRegistry().unregister(base);
+		}
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/adapter/EObjectLocationToMarkerAdapterFactory.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/adapter/EObjectLocationToMarkerAdapterFactory.java
new file mode 100644
index 0000000..b3d3b7d
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/adapter/EObjectLocationToMarkerAdapterFactory.java
@@ -0,0 +1,84 @@
+/*******************************************************************************
+ * Copyright (c) 2016 Obeo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide.adapter;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.intent.mapping.MappingUtils;
+import org.eclipse.intent.mapping.emf.IEObjectLocation;
+import org.eclipse.intent.mapping.emf.ide.marker.IEObjectLocationMaker;
+import org.eclipse.intent.mapping.ide.Activator;
+import org.eclipse.intent.mapping.ide.IdeMappingUtils;
+import org.eclipse.intent.mapping.ide.resource.IFileLocation;
+
+/**
+ * {@link IEObjectLocation} to Marker {@link IAdapterFactory}.
+ * 
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public class EObjectLocationToMarkerAdapterFactory implements IAdapterFactory {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
+	 */
+	@SuppressWarnings("unchecked")
+	public IMarker getAdapter(Object adaptableObject, @SuppressWarnings("rawtypes") Class adapterType) {
+		IMarker res;
+
+		if (adaptableObject instanceof IEObjectLocation) {
+			final IEObjectLocation eObjLocation = (IEObjectLocation)adaptableObject;
+			final IMarker existingMarker = IdeMappingUtils.getMarker(eObjLocation);
+			if (existingMarker != null) {
+				res = existingMarker;
+			} else {
+				final IFileLocation fileLocation = IdeMappingUtils.getContainingFileLocation(eObjLocation);
+				final IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(Path.fromPortableString(
+						fileLocation.getFullPath()));
+				try {
+					res = file.createMarker(IEObjectLocationMaker.EOBJECT_LOCATION_ID);
+					final EObject eObject = (EObject)MappingUtils.getConnectorRegistry().getElement(
+							eObjLocation);
+					res.setAttribute(IEObjectLocationMaker.URI_ATTRIBUTE, EcoreUtil.getURI(eObject)
+							.toString());
+				} catch (CoreException e) {
+					res = null;
+					Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e
+							.getMessage(), e));
+				}
+			}
+		} else {
+			res = null;
+		}
+
+		return res;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
+	 */
+	public Class<?>[] getAdapterList() {
+		return new Class[] {IMarker.class };
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/adapter/EObjectToFileAdapterFactory.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/adapter/EObjectToFileAdapterFactory.java
new file mode 100644
index 0000000..72712a0
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/adapter/EObjectToFileAdapterFactory.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2016 Obeo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide.adapter;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * Adapts {@link EObject} to {@link IFile}.
+ * 
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public class EObjectToFileAdapterFactory implements IAdapterFactory {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
+	 */
+	@SuppressWarnings("unchecked")
+	public Object getAdapter(Object adaptableObject, @SuppressWarnings("rawtypes") Class adapterType) {
+		final IFile res;
+
+		if (adaptableObject instanceof EObject && ((EObject)adaptableObject).eResource() != null
+				&& ((EObject)adaptableObject).eResource().getURI() != null) {
+			final URI uri = ((EObject)adaptableObject).eResource().getURI();
+			if (uri.isPlatformResource()) {
+				final String path = ((EObject)adaptableObject).eResource().getURI().toString().substring(
+						"platform:/resource".length());
+				res = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path));
+			} else {
+				res = null;
+			}
+		} else {
+			res = null;
+		}
+
+		return res;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
+	 */
+	public Class<?>[] getAdapterList() {
+		return new Class[] {IFile.class };
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/adapter/MarkerToEObjectLocationDescriptor.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/adapter/MarkerToEObjectLocationDescriptor.java
new file mode 100644
index 0000000..31faeda
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/adapter/MarkerToEObjectLocationDescriptor.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2016 Obeo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide.adapter;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EValidator;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.intent.mapping.base.ILocationDescriptor;
+import org.eclipse.intent.mapping.emf.ide.marker.IEObjectLocationMaker;
+import org.eclipse.intent.mapping.ide.Activator;
+import org.eclipse.intent.mapping.ide.IdeMappingUtils;
+import org.eclipse.intent.mapping.ide.adapter.IMarkerToLocationDescriptor;
+
+/**
+ * Marker to {@link ILocationDescriptor} descriptor.
+ *
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public class MarkerToEObjectLocationDescriptor implements IMarkerToLocationDescriptor {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.intent.mapping.ide.adapter.IMarkerToLocationDescriptor#getAdapter(org.eclipse.core.resources.IMarker)
+	 */
+	public ILocationDescriptor getAdapter(IMarker marker) {
+		ILocationDescriptor res = null;
+
+		try {
+			if (marker.isSubtypeOf(EValidator.MARKER)) {
+				final String uri = (String)marker.getAttribute(IEObjectLocationMaker.URI_ATTRIBUTE);
+				// TODO we should change this to use a global ResourceSet...
+				final ResourceSet rs = new ResourceSetImpl();
+				final EObject eObject = rs.getEObject(URI.createURI(uri), true);
+				res = IdeMappingUtils.adapt(eObject, ILocationDescriptor.class);
+			}
+		} catch (CoreException e) {
+			Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(),
+					e));
+		}
+
+		return res;
+	}
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/EObjectContainerProvider.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/EObjectContainerProvider.java
new file mode 100644
index 0000000..ae67d37
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/EObjectContainerProvider.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2017 Obeo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide.connector;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.intent.mapping.connector.IContainerProvider;
+
+/**
+ * {@link EObject} -> {@link IFile}.
+ *
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public class EObjectContainerProvider implements IContainerProvider {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.intent.mapping.connector.IContainerProvider#getContainer(java.lang.Object)
+	 */
+	public Object getContainer(Object element) {
+		final Object res;
+
+		if (element instanceof EObject && ((EObject)element).eResource() != null && ((EObject)element)
+				.eResource().getURI() != null) {
+			final URI uri = ((EObject)element).eResource().getURI();
+			if (uri.isPlatformResource()) {
+				final String path = ((EObject)element).eResource().getURI().toString().substring(
+						"platform:/resource".length());
+				res = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path));
+			} else {
+				res = null;
+			}
+		} else {
+			res = null;
+		}
+
+		return res;
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/EObjectFileConnectorDelegate.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/EObjectFileConnectorDelegate.java
new file mode 100644
index 0000000..6890aa9
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/EObjectFileConnectorDelegate.java
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide.connector;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.intent.mapping.MappingUtils;
+import org.eclipse.intent.mapping.base.ILocationContainer;
+import org.eclipse.intent.mapping.content.IFileType;
+import org.eclipse.intent.mapping.emf.IEObjectContainer;
+import org.eclipse.intent.mapping.emf.connector.EObjectConnector.EObjectContainerHelper;
+import org.eclipse.intent.mapping.emf.ide.resource.IEObjectFileLocation;
+import org.eclipse.intent.mapping.ide.Activator;
+import org.eclipse.intent.mapping.ide.connector.AbstractFileConnectorDelegate;
+import org.eclipse.intent.mapping.ide.resource.IFileLocation;
+
+/**
+ * {@link IEObjectFileLocation} delegate.
+ *
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public class EObjectFileConnectorDelegate extends AbstractFileConnectorDelegate {
+
+	/**
+	 * The {@link IFileType}.
+	 */
+	private static final IFileType FILE_TYPE = MappingUtils.getFileTypeRegistry().getFileType(
+			"org.eclipse.emf.ecore.xmi");
+
+	/**
+	 * The {@link EObjectContainerHelper}.
+	 */
+	private final EObjectContainerHelper eObjectContainerHelper = new EObjectContainerHelper();
+
+	/**
+	 * Mapping of {@link IEObjectFileLocation#getFullPath() full path} to {@link Resource}.
+	 */
+	private final Map<String, Resource> knownResources = new HashMap<String, Resource>();
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.intent.mapping.ide.connector.IFileConnectorDelegate#getFileType()
+	 */
+	public IFileType getFileType() {
+		return FILE_TYPE;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.intent.mapping.ide.connector.IFileConnectorDelegate#getFileLocationType()
+	 */
+	public Class<? extends IFileLocation> getFileLocationType() {
+		return IEObjectFileLocation.class;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.intent.mapping.ide.connector.IFileConnectorDelegate#initLocation(org.eclipse.intent.mapping.base.ILocationContainer,
+	 *      org.eclipse.intent.mapping.ide.resource.IFileLocation, org.eclipse.core.resources.IFile)
+	 */
+	public void initLocation(ILocationContainer container, IFileLocation location, IFile element) {
+		final ResourceSet rs = new ResourceSetImpl();
+		final Resource resource = rs.getResource(URI.createPlatformResourceURI(element.getFullPath()
+				.toPortableString(), true), true);
+		knownResources.put(location.getFullPath(), resource);
+		try {
+			eObjectContainerHelper.updateEObjectContainer(container, (IEObjectContainer)location, resource);
+			// CHECKSTYLE:OFF
+		} catch (Exception e) {
+			// CHECKSTYLE:ON
+			Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(),
+					e));
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.intent.mapping.ide.connector.IFileConnectorDelegate#getElement(org.eclipse.intent.mapping.ide.resource.IFileLocation)
+	 */
+	public Object getElement(IFileLocation location) {
+		if (!knownResources.containsKey(location.getFullPath())) {
+			initLocation(location.getContainer(), location, (IFile)super.getElement(location));
+		}
+
+		return knownResources.get(location.getFullPath());
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/IdeCDOResourceNodeConnector.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/IdeCDOResourceNodeConnector.java
new file mode 100644
index 0000000..84c61a3
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/IdeCDOResourceNodeConnector.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2017 Obeo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide.connector;
+
+import org.eclipse.emf.cdo.eresource.CDOResourceNode;
+import org.eclipse.intent.mapping.emf.connector.CDOResourceNodeConnector;
+import org.eclipse.intent.mapping.ide.IdeMappingUtils;
+
+/**
+ * Ide {@link CDOResourceNodeConnector}.
+ *
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public class IdeCDOResourceNodeConnector extends CDOResourceNodeConnector {
+
+	@Override
+	protected Object adapt(Object element) {
+		final Object res;
+
+		final CDOResourceNode adaptedElement = IdeMappingUtils.adapt(element, CDOResourceNode.class);
+		if (adaptedElement != null) {
+			res = adaptedElement;
+		} else {
+			res = super.adapt(element);
+		}
+
+		return res;
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/IdeCDOViewConnector.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/IdeCDOViewConnector.java
new file mode 100644
index 0000000..227a2bf
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/IdeCDOViewConnector.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2017 Obeo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide.connector;
+
+import org.eclipse.emf.cdo.eresource.CDOResourceNode;
+import org.eclipse.intent.mapping.emf.connector.CDOViewConnector;
+import org.eclipse.intent.mapping.ide.IdeMappingUtils;
+
+/**
+ * Ide {@link CDOViewConnector}.
+ *
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public class IdeCDOViewConnector extends CDOViewConnector {
+
+	@Override
+	protected Object adapt(Object element) {
+		final Object res;
+
+		final CDOResourceNode adaptedElement = IdeMappingUtils.adapt(element, CDOResourceNode.class);
+		if (adaptedElement != null) {
+			res = adaptedElement;
+		} else {
+			res = super.adapt(element);
+		}
+
+		return res;
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/IdeEObjectConnector.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/IdeEObjectConnector.java
new file mode 100644
index 0000000..fd51017
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/connector/IdeEObjectConnector.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2016 Obeo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide.connector;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.intent.mapping.emf.connector.EObjectConnector;
+import org.eclipse.intent.mapping.ide.IdeMappingUtils;
+
+/**
+ * Ide implementation of {@link EObjectConnector}.
+ *
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public class IdeEObjectConnector extends EObjectConnector {
+
+	@Override
+	protected Object adapt(Object element) {
+		final Object res;
+
+		final EObject eObject = IdeMappingUtils.adapt(element, EObject.class);
+		if (eObject != null) {
+			res = eObject;
+		} else {
+			final Setting setting = IdeMappingUtils.adapt(element, Setting.class);
+			if (setting != null) {
+				res = setting;
+			} else {
+				res = super.adapt(element);
+			}
+		}
+
+		return res;
+	}
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/marker/IEObjectLocationMaker.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/marker/IEObjectLocationMaker.java
new file mode 100644
index 0000000..6a33520
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/marker/IEObjectLocationMaker.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2016 Obeo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide.marker;
+
+import org.eclipse.emf.ecore.EValidator;
+import org.eclipse.intent.mapping.emf.ide.Activator;
+
+/**
+ * Place holder for location marker constants.
+ *
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public interface IEObjectLocationMaker {
+
+	/**
+	 * The EObject location marker ID.
+	 */
+	String EOBJECT_LOCATION_ID = Activator.PLUGIN_ID + ".eobjectLocationMarker";
+
+	/**
+	 * The URI attribute.
+	 */
+	String URI_ATTRIBUTE = EValidator.URI_ATTRIBUTE;
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/resource/IEObjectFileLocation.java b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/resource/IEObjectFileLocation.java
new file mode 100644
index 0000000..6a3886d
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf.ide/src/org/eclipse/intent/mapping/emf/ide/resource/IEObjectFileLocation.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ *    Obeo - initial API and implementation and/or initial documentation
+ *    ...
+ *******************************************************************************/
+package org.eclipse.intent.mapping.emf.ide.resource;
+
+import org.eclipse.intent.mapping.emf.IEObjectContainer;
+import org.eclipse.intent.mapping.ide.resource.IFileLocation;
+
+/**
+ * {@link org.eclipse.emf.ecore.EObject EObject} {@link IFileLocation}.
+ *
+ * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
+ */
+public interface IEObjectFileLocation extends IFileLocation, IEObjectContainer {
+
+}
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf/.checkstyle b/mapping/plugins/org.eclipse.intent.mapping.emf/.checkstyle
new file mode 100644
index 0000000..46c61e2
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf/.checkstyle
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
+  <local-check-config name="ModelWriter" location="/eu.modelwriter.codestyle/codestyle/ModelWriterCheckstyle6Configuration.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="all" enabled="true" check-config-name="ModelWriter" local="true">
+    <file-match-pattern match-pattern="." include-pattern="true"/>
+  </fileset>
+  <filter name="FilesFromPackage" enabled="true">
+    <filter-data value="src-gen"/>
+  </filter>
+</fileset-config>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf/.classpath b/mapping/plugins/org.eclipse.intent.mapping.emf/.classpath
new file mode 100644
index 0000000..756f428
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src-gen"/>
+	<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/mapping/plugins/org.eclipse.intent.mapping.emf/.project b/mapping/plugins/org.eclipse.intent.mapping.emf/.project
new file mode 100644
index 0000000..f32a0e2
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf/.project
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.intent.mapping.emf</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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.sirius.nature.modelingproject</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+	</natures>
+</projectDescription>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf/.settings/org.eclipse.jdt.core.prefs b/mapping/plugins/org.eclipse.intent.mapping.emf/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..3433b02
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,315 @@
+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
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
+org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=110
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=8
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=110
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=false
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf/.settings/org.eclipse.jdt.ui.prefs b/mapping/plugins/org.eclipse.intent.mapping.emf/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..99aaf4f
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Intent
+formatter_settings_version=13
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=com;eu;fr;java;javax;org;\#org.junit;
+org.eclipse.jdt.ui.javadoc=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} {INITIAL COPYRIGHT OWNER} {OTHER COPYRIGHT OWNERS}.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    {INITIAL AUTHOR} - initial API and implementation and/or initial documentation\n *    ...\n *******************************************************************************/\nname\="typecomment"&gt;/**\n * @author &lt;a href\="mailto\:laurent.goubet@obeo.fr"&gt;Laurent Goubet&lt;/a&gt;\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * ${tags}\n *\n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**{@inheritDoc}\n *\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">/*******************************************************************************\n * Copyright (c) ${year} {INITIAL COPYRIGHT OWNER} {OTHER COPYRIGHT OWNERS}.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    {INITIAL AUTHOR} - initial API and implementation and/or initial documentation\n *    ...\n *******************************************************************************/\n${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=false
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=false
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+sp_cleanup.use_type_arguments=false
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf/META-INF/MANIFEST.MF b/mapping/plugins/org.eclipse.intent.mapping.emf/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..eaed321
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.intent.mapping.emf;singleton:=true
+Bundle-Version: 0.10.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.intent.mapping,
+ org.eclipse.intent.mapping.emf,
+ org.eclipse.intent.mapping.emf.connector,
+ org.eclipse.intent.mapping.impl,
+ org.eclipse.intent.mapping.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.cdo;visibility:=reexport,
+ org.eclipse.intent.mapping;bundle-version="0.10.0",
+ org.eclipse.emf.edit,
+ org.eclipse.emf.compare,
+ org.eclipse.emf.ecore.xmi,
+ com.google.guava;bundle-version="[15.0.0,16.0.0)",
+ org.apache.log4j;bundle-version="1.2.15",
+ org.eclipse.emf.cdo.net4j
+Bundle-ActivationPolicy: lazy
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf/build.properties b/mapping/plugins/org.eclipse.intent.mapping.emf/build.properties
new file mode 100644
index 0000000..7f0c2ff
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf/build.properties
@@ -0,0 +1,11 @@
+#
+
+bin.includes = .,\
+               model/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src-gen/,\
+           src/
+output.. = bin/
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf/model/mapping.ecore b/mapping/plugins/org.eclipse.intent.mapping.emf/model/mapping.ecore
new file mode 100644
index 0000000..4809168
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf/model/mapping.ecore
@@ -0,0 +1,92 @@
+<?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="mapping" nsURI="http://www.eclipse.org/intent/mapping" nsPrefix="mapping">
+  <eClassifiers xsi:type="ecore:EClass" name="Location" abstract="true" eSuperTypes="#//IEMFBaseElement #//LocationContainer">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="sourceLinks" upperBound="-1"
+        eType="#//Link" eOpposite="#//Link/target"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="targetLinks" upperBound="-1"
+        eType="#//Link" containment="true" eOpposite="#//Link/source"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="container" eType="#//LocationContainer"
+        eOpposite="#//LocationContainer/contents"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//Type"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="markedAsDeleted" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Link" eSuperTypes="#//IEMFBaseElement">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
+        eType="#//Location" eOpposite="#//Location/targetLinks"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
+        eType="#//Location" eOpposite="#//Location/sourceLinks"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//Type"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="reports" upperBound="-1"
+        eType="#//Report" eOpposite="#//Report/link"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Base" eSuperTypes="#//IEMFBaseElement #//LocationContainer">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="reports" upperBound="-1"
+        eType="#//Report" containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="containerProviders" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="IEMFBaseElement" abstract="true" interface="true"/>
+  <eClassifiers xsi:type="ecore:EClass" name="TextLocation" eSuperTypes="#//Location">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="startOffset" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="-1"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="endOffset" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="-1"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TextContainer" abstract="true" interface="true"
+      eSuperTypes="#//Location">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="text" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="EObjectLocation" eSuperTypes="#//Location">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="URIFragment" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="savedURIFragment" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="featureName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="index" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+        defaultValueLiteral="0"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EDataType" name="Type" instanceClassName="java.io.Serializable"/>
+  <eClassifiers xsi:type="ecore:EClass" name="LocationContainer" abstract="true" interface="true">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
+        eType="#//Location" containment="true" eOpposite="#//Location/container"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Report" eSuperTypes="#//IEMFBaseElement">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="link" lowerBound="1" eType="#//Link"
+        eOpposite="#//Link/reports"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Couple">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="EObjectContainer" abstract="true" interface="true"
+      eSuperTypes="#//Location">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="XMIContent" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="savedURIFragments" upperBound="-1"
+        eType="#//Couple" containment="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CDOResourceNodeLocation" abstract="true"
+      interface="true" eSuperTypes="#//Location">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CDOFileLocation" abstract="true" interface="true"
+      eSuperTypes="#//CDOResourceNodeLocation"/>
+  <eClassifiers xsi:type="ecore:EClass" name="CDOFolderLocation" eSuperTypes="#//CDOResourceNodeLocation"/>
+  <eClassifiers xsi:type="ecore:EClass" name="CDORepositoryLocation" eSuperTypes="#//Location">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="URL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="UUID" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="branchID" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="-1"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CDOBinaryResourceLocation" eSuperTypes="#//CDOFileLocation"/>
+  <eClassifiers xsi:type="ecore:EClass" name="CDOTextResourceLocation" eSuperTypes="#//CDOFileLocation #//TextContainer"/>
+  <eClassifiers xsi:type="ecore:EClass" name="CDOResourceLocation" eSuperTypes="#//CDOFileLocation #//EObjectContainer"/>
+</ecore:EPackage>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf/model/mapping.genmodel b/mapping/plugins/org.eclipse.intent.mapping.emf/model/mapping.genmodel
new file mode 100644
index 0000000..51b180a
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf/model/mapping.genmodel
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText=" Copyright (c) 2015 Obeo.&#xA; All rights reserved. This program and the accompanying materials&#xA; are made available under the terms of the Eclipse Public License v1.0&#xA; which accompanies this distribution, and is available at&#xA; http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA; Contributors:&#xA;    Obeo - initial API and implementation and/or initial documentation&#xA;    ...&#xA;"
+    modelDirectory="/org.eclipse.intent.mapping.emf/src-gen" editDirectory="/org.eclipse.intent.mapping.emf.edit/src-gen"
+    editorDirectory="/org.eclipse.intent.mapping.emf.editor/src-gen" modelPluginID="org.eclipse.intent.mapping.emf"
+    modelName="Mapping" rootExtendsInterface="org.eclipse.emf.cdo.CDOObject" rootExtendsClass="org.eclipse.emf.internal.cdo.CDOObjectImpl"
+    reflectiveDelegation="true" codeFormatting="true" testsDirectory="/org.eclipse.intent.mapping.emf.tests/src-gen"
+    importerID="org.eclipse.emf.importer.cdo" featureDelegation="Reflective" complianceLevel="5.0"
+    copyrightFields="false" publicConstructors="true" providerRootExtendsClass="org.eclipse.emf.cdo.edit.CDOItemProviderAdapter"
+    operationReflection="true" importOrganizing="true">
+  <foreignModel>mapping.ecore</foreignModel>
+  <modelPluginVariables>CDO=org.eclipse.emf.cdo</modelPluginVariables>
+  <genPackages prefix="Mapping" basePackage="org.eclipse.intent" disposableProviderFactory="true"
+      ecorePackage="mapping.ecore#/">
+    <genDataTypes ecoreDataType="mapping.ecore#//Type"/>
+    <genClasses image="false" ecoreClass="mapping.ecore#//Location">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference mapping.ecore#//Location/sourceLinks"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference mapping.ecore#//Location/targetLinks"/>
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference mapping.ecore#//Location/container"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//Location/type"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//Location/markedAsDeleted"/>
+    </genClasses>
+    <genClasses ecoreClass="mapping.ecore#//Link">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//Link/description"/>
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference mapping.ecore#//Link/source"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference mapping.ecore#//Link/target"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//Link/type"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference mapping.ecore#//Link/reports"/>
+    </genClasses>
+    <genClasses ecoreClass="mapping.ecore#//Base">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//Base/name"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference mapping.ecore#//Base/reports"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//Base/containerProviders"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="mapping.ecore#//IEMFBaseElement"/>
+    <genClasses ecoreClass="mapping.ecore#//TextLocation">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//TextLocation/startOffset"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//TextLocation/endOffset"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="mapping.ecore#//TextContainer">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//TextContainer/text"/>
+    </genClasses>
+    <genClasses ecoreClass="mapping.ecore#//EObjectLocation">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//EObjectLocation/URIFragment"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//EObjectLocation/savedURIFragment"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//EObjectLocation/featureName"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//EObjectLocation/index"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="mapping.ecore#//LocationContainer">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference mapping.ecore#//LocationContainer/contents"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="mapping.ecore#//Report">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//Report/description"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference mapping.ecore#//Report/link"/>
+    </genClasses>
+    <genClasses ecoreClass="mapping.ecore#//Couple">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//Couple/key"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//Couple/value"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="mapping.ecore#//EObjectContainer">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//EObjectContainer/XMIContent"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference mapping.ecore#//EObjectContainer/savedURIFragments"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="mapping.ecore#//CDOResourceNodeLocation">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//CDOResourceNodeLocation/path"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="mapping.ecore#//CDOFileLocation"/>
+    <genClasses ecoreClass="mapping.ecore#//CDOFolderLocation"/>
+    <genClasses ecoreClass="mapping.ecore#//CDORepositoryLocation">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//CDORepositoryLocation/URL"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//CDORepositoryLocation/UUID"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//CDORepositoryLocation/name"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//CDORepositoryLocation/branchID"/>
+    </genClasses>
+    <genClasses ecoreClass="mapping.ecore#//CDOBinaryResourceLocation"/>
+    <genClasses ecoreClass="mapping.ecore#//CDOTextResourceLocation"/>
+    <genClasses ecoreClass="mapping.ecore#//CDOResourceLocation"/>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/mapping/plugins/org.eclipse.intent.mapping.emf/model/representations.aird b/mapping/plugins/org.eclipse.intent.mapping.emf/model/representations.aird
new file mode 100644
index 0000000..3dff784
--- /dev/null
+++ b/mapping/plugins/org.eclipse.intent.mapping.emf/model/representations.aird
@@ -0,0 +1,578 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_WIYxUN0nEeSrTZVsNOV2JQ" selectedViews="_Wsb5kN0nEeSrTZVsNOV2JQ _WsgLAN0nEeSrTZVsNOV2JQ _W4nUYN0nEeSrTZVsNOV2JQ" version="8.1.1">
+  <models xmi:type="ecore:EPackage" href="http://www.eclipse.org/emf/2002/Ecore#/"/>
+  <models xmi:type="ecore:EPackage" href="mapping.ecore#/"/>
+  <models xmi:type="genmodel:GenModel" href="mapping.genmodel#/"/>
+  <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_Wsb5kN0nEeSrTZVsNOV2JQ" initialized="true">
+    <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
+  </ownedViews>
+  <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_WsgLAN0nEeSrTZVsNOV2JQ" initialized="true">
+    <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_yuNMIAkiEeWFVOi_8hW2kQ" name="mapping class diagram">
+      <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_yuNMJgkiEeWFVOi_8hW2kQ" source="GMF_DIAGRAMS">
+        <data xmi:type="notation:Diagram" xmi:id="_yuNMJwkiEeWFVOi_8hW2kQ" type="Sirius" element="_yuNMIAkiEeWFVOi_8hW2kQ" measurementUnit="Pixel">
+          <children xmi:type="notation:Node" xmi:id="_G7VMwAkjEeWFVOi_8hW2kQ" type="2003" element="_G61dgAkjEeWFVOi_8hW2kQ">
+            <children xmi:type="notation:Node" xmi:id="_G7VMwwkjEeWFVOi_8hW2kQ" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_G7VMxAkjEeWFVOi_8hW2kQ" type="7004">
+              <children xmi:type="notation:Node" xmi:id="_a-RHID6kEeaW46TWXHz9iw" type="3010" element="_a8u2ED6kEeaW46TWXHz9iw">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_a-RHIT6kEeaW46TWXHz9iw"/>
+              </children>
+              <children xmi:type="notation:Node" xmi:id="_Hy_XkMHWEeangZPFpBYoMg" type="3010" element="_Hyav0MHWEeangZPFpBYoMg">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_Hy_XkcHWEeangZPFpBYoMg"/>
+              </children>
+              <styles xmi:type="notation:SortingStyle" xmi:id="_G7VMxQkjEeWFVOi_8hW2kQ"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_G7VMxgkjEeWFVOi_8hW2kQ"/>
+            </children>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_G7VMwQkjEeWFVOi_8hW2kQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7VMwgkjEeWFVOi_8hW2kQ" x="100" y="211" width="177" height="87"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_KiL-sAkjEeWFVOi_8hW2kQ" type="2003" element="_Kh_xcAkjEeWFVOi_8hW2kQ">
+            <children xmi:type="notation:Node" xmi:id="_KiL-swkjEeWFVOi_8hW2kQ" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_KiL-tAkjEeWFVOi_8hW2kQ" type="7004">
+              <children xmi:type="notation:Node" xmi:id="_8I_2IAkjEeWFVOi_8hW2kQ" type="3010" element="_8IbOYAkjEeWFVOi_8hW2kQ">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_8I_2IQkjEeWFVOi_8hW2kQ"/>
+              </children>
+              <children xmi:type="notation:Node" xmi:id="_a-WmsD6kEeaW46TWXHz9iw" type="3010" element="_a82x4D6kEeaW46TWXHz9iw">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_a-XNwD6kEeaW46TWXHz9iw"/>
+              </children>
+              <styles xmi:type="notation:SortingStyle" xmi:id="_KiL-tQkjEeWFVOi_8hW2kQ"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_KiL-tgkjEeWFVOi_8hW2kQ"/>
+            </children>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_KiL-sQkjEeWFVOi_8hW2kQ" fontName="Segoe UI" fontHeight="8"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KiL-sgkjEeWFVOi_8hW2kQ" x="100" y="426" width="177" height="87"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_reRv0AkkEeWFVOi_8hW2kQ" type="2003" element="_rdzOsAkkEeWFVOi_8hW2kQ">
+            <children xmi:type="notation:Node" xmi:id="_reRv0wkkEeWFVOi_8hW2kQ" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_reRv1AkkEeWFVOi_8hW2kQ" type="7004">
+              <children xmi:type="notation:Node" xmi:id="_LsCnsAtdEeWH1PvRpPAbiQ" type="3010" element="_Lq_e0AtdEeWH1PvRpPAbiQ">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_LsCnsQtdEeWH1PvRpPAbiQ"/>
+              </children>
+              <styles xmi:type="notation:SortingStyle" xmi:id="_reRv1QkkEeWFVOi_8hW2kQ"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_reRv1gkkEeWFVOi_8hW2kQ"/>
+            </children>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_reRv0QkkEeWFVOi_8hW2kQ" fontName="Segoe UI" fontHeight="8"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_reRv0gkkEeWFVOi_8hW2kQ" x="529" y="205" width="144" height="100"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_Z-_WwB_TEeWosIVuL4CkTA" type="Note" fontName="Ubuntu" description="Possible Location implementations:&#xA;- TextLocation&#xA;- ModelLocation&#xA;- JavaLocation&#xA;- ..." fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
+            <children xmi:type="notation:BasicDecorationNode" xmi:id="_Z_DoMB_TEeWosIVuL4CkTA" type="DiagramName">
+              <element xsi:nil="true"/>
+            </children>
+            <children xmi:type="notation:BasicDecorationNode" xmi:id="_Z_DoMR_TEeWosIVuL4CkTA" type="Description">
+              <element xsi:nil="true"/>
+            </children>
+            <styles xmi:type="notation:TextStyle" xmi:id="_Z-_WwR_TEeWosIVuL4CkTA"/>
+            <styles xmi:type="notation:LineTypeStyle" xmi:id="_Z-_Wwh_TEeWosIVuL4CkTA"/>
+            <element xsi:nil="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z-_Wwx_TEeWosIVuL4CkTA" x="5" y="110"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_dYa1YD6kEeaW46TWXHz9iw" type="2003" element="_dXUCID6kEeaW46TWXHz9iw">
+            <children xmi:type="notation:Node" xmi:id="_dYhjED6kEeaW46TWXHz9iw" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_dYixMD6kEeaW46TWXHz9iw" type="7004">
+              <styles xmi:type="notation:SortingStyle" xmi:id="_dYixMT6kEeaW46TWXHz9iw"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_dYixMj6kEeaW46TWXHz9iw"/>
+            </children>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_dYa1YT6kEeaW46TWXHz9iw" fontName="Ubuntu" fontHeight="8" italic="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dYa1Yj6kEeaW46TWXHz9iw" x="350" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_hbHAID-TEeatdPECk4x2fg" type="2003" element="_hZcMMD-TEeatdPECk4x2fg">
+            <children xmi:type="notation:Node" xmi:id="_hbT0cD-TEeatdPECk4x2fg" type="5007"/>
+            <children xmi:type="notation:Node" xmi:id="_hbVCkD-TEeatdPECk4x2fg" type="7004">
+              <children xmi:type="notation:Node" xmi:id="_hbYF4D-TEeatdPECk4x2fg" type="3010" element="_hamCwD-TEeatdPECk4x2fg">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_hbYF4T-TEeatdPECk4x2fg"/>
+              </children>
+              <styles xmi:type="notation:SortingStyle" xmi:id="_hbVCkT-TEeatdPECk4x2fg"/>
+              <styles xmi:type="notation:FilteringStyle" xmi:id="_hbVCkj-TEeatdPECk4x2fg"/>
+            </children>
+            <styles xmi:type="notation:ShapeStyle" xmi:id="_hbHAIT-TEeatdPECk4x2fg" fontName="Ubuntu" fontHeight="8"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hbHAIj-TEeatdPECk4x2fg" x="530" y="420"/>
+          </children>
+          <styles xmi:type="notation:DiagramStyle" xmi:id="_yuNMKAkiEeWFVOi_8hW2kQ"/>
+          <edges xmi:type="notation:Edge" xmi:id="_rhdxQAklEeWFVOi_8hW2kQ" type="4001" element="_rhFWwAklEeWFVOi_8hW2kQ" source="_G7VMwAkjEeWFVOi_8hW2kQ" target="_KiL-sAkjEeWFVOi_8hW2kQ">
+            <children xmi:type="notation:Node" xmi:id="_rhdxRAklEeWFVOi_8hW2kQ" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rhdxRQklEeWFVOi_8hW2kQ" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_rhdxRgklEeWFVOi_8hW2kQ" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rhdxRwklEeWFVOi_8hW2kQ" x="13" y="-45"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_rhj34AklEeWFVOi_8hW2kQ" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rhj34QklEeWFVOi_8hW2kQ" x="-21" y="-56"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_rhdxQQklEeWFVOi_8hW2kQ" routing="Rectilinear"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_rhdxQgklEeWFVOi_8hW2kQ" fontName="Segoe UI" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rhdxQwklEeWFVOi_8hW2kQ" points="[8, 43, 37, -132]$[8, 163, 37, -12]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhj34gklEeWFVOi_8hW2kQ" id="(0.6685393258426966,0.5)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhj34wklEeWFVOi_8hW2kQ" id="(0.4971751412429379,0.1412565026010404)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_sqDJ8AklEeWFVOi_8hW2kQ" type="4001" element="_spw2EAklEeWFVOi_8hW2kQ" source="_G7VMwAkjEeWFVOi_8hW2kQ" target="_KiL-sAkjEeWFVOi_8hW2kQ">
+            <children xmi:type="notation:Node" xmi:id="_sqDJ9AklEeWFVOi_8hW2kQ" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sqDJ9QklEeWFVOi_8hW2kQ" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_sqDJ9gklEeWFVOi_8hW2kQ" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sqDJ9wklEeWFVOi_8hW2kQ" x="3" y="48"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_sqDJ-AklEeWFVOi_8hW2kQ" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sqDJ-QklEeWFVOi_8hW2kQ" x="-11" y="61"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_sqDJ8QklEeWFVOi_8hW2kQ" routing="Rectilinear"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_sqDJ8gklEeWFVOi_8hW2kQ" fontName="Segoe UI" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sqDJ8wklEeWFVOi_8hW2kQ" points="[-92, 43, -63, -132]$[-92, 163, -63, -12]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sqDJ-gklEeWFVOi_8hW2kQ" id="(0.6685393258426966,0.5)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sqDJ-wklEeWFVOi_8hW2kQ" id="(0.4971751412429379,0.1412565026010404)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_dYoQwD6kEeaW46TWXHz9iw" type="4001" element="_dYJIkD6kEeaW46TWXHz9iw" source="_G7VMwAkjEeWFVOi_8hW2kQ" target="_dYa1YD6kEeaW46TWXHz9iw">
+            <children xmi:type="notation:Node" xmi:id="_dYqtAD6kEeaW46TWXHz9iw" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dYqtAT6kEeaW46TWXHz9iw" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_dYr7ID6kEeaW46TWXHz9iw" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dYr7IT6kEeaW46TWXHz9iw" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_dYsiMD6kEeaW46TWXHz9iw" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dYsiMT6kEeaW46TWXHz9iw" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_dYoQwT6kEeaW46TWXHz9iw" routing="Tree"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_dYoQwj6kEeaW46TWXHz9iw" fontName="Ubuntu" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dYoQwz6kEeaW46TWXHz9iw" points="[-1, -1, -191, 145]$[-1, -72, -191, 74]$[214, -72, 24, 74]$[214, -98, 24, 48]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dYwzoD6kEeaW46TWXHz9iw" id="(0.8587570621468926,0.022988505747126436)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dYwzoT6kEeaW46TWXHz9iw" id="(0.008333333333333333,0.52)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_dYxasD6kEeaW46TWXHz9iw" type="4001" element="_dYLk0D6kEeaW46TWXHz9iw" source="_reRv0AkkEeWFVOi_8hW2kQ" target="_dYa1YD6kEeaW46TWXHz9iw">
+            <children xmi:type="notation:Node" xmi:id="_dYyBwD6kEeaW46TWXHz9iw" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dYyBwT6kEeaW46TWXHz9iw" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_dYyo0D6kEeaW46TWXHz9iw" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dYyo0T6kEeaW46TWXHz9iw" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_dYyo0j6kEeaW46TWXHz9iw" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dYyo0z6kEeaW46TWXHz9iw" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_dYxasT6kEeaW46TWXHz9iw" routing="Tree"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_dYxasj6kEeaW46TWXHz9iw" fontName="Ubuntu" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dYxasz6kEeaW46TWXHz9iw" points="[-1, -13, 72, 103]$[-1, -84, 72, 32]$[-99, -84, -26, 32]$[-99, -110, -26, 6]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dYzP4D6kEeaW46TWXHz9iw" id="(0.16666666666666666,0.14)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dYzP4T6kEeaW46TWXHz9iw" id="(0.9333333333333333,0.94)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_dYz28D6kEeaW46TWXHz9iw" type="4001" element="_dYREYD6kEeaW46TWXHz9iw" source="_G7VMwAkjEeWFVOi_8hW2kQ" target="_dYa1YD6kEeaW46TWXHz9iw">
+            <children xmi:type="notation:Node" xmi:id="_dY0eAD6kEeaW46TWXHz9iw" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dY0eAT6kEeaW46TWXHz9iw" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_dY1FED6kEeaW46TWXHz9iw" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dY1FET6kEeaW46TWXHz9iw" x="-1" y="-20"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_dY1FEj6kEeaW46TWXHz9iw" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dY1FEz6kEeaW46TWXHz9iw" x="-6" y="-46"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_dYz28T6kEeaW46TWXHz9iw" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_dYz28j6kEeaW46TWXHz9iw" fontName="Ubuntu" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dYz28z6kEeaW46TWXHz9iw" points="[88, 33, -134, 227]$[222, 33, 0, 227]$[222, -145, 0, 49]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dY1sID6kEeaW46TWXHz9iw" id="(0.4971751412429379,0.4942528735632184)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dY1sIT6kEeaW46TWXHz9iw" id="(0.5,0.5)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_hbcXUD-TEeatdPECk4x2fg" type="4001" element="_hat-kD-TEeatdPECk4x2fg" source="_reRv0AkkEeWFVOi_8hW2kQ" target="_hbHAID-TEeatdPECk4x2fg">
+            <children xmi:type="notation:Node" xmi:id="_hbezkD-TEeatdPECk4x2fg" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hbezkT-TEeatdPECk4x2fg" x="14" y="-52"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_hbgBsD-TEeatdPECk4x2fg" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hbgBsT-TEeatdPECk4x2fg" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_hbgowD-TEeatdPECk4x2fg" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hbgowT-TEeatdPECk4x2fg" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_hbcXUT-TEeatdPECk4x2fg" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_hbcXUj-TEeatdPECk4x2fg" fontColor="7490599" fontName="Ubuntu" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hbcXUz-TEeatdPECk4x2fg" points="[3, 49, -16, -166]$[3, 166, -16, -49]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hblhQD-TEeatdPECk4x2fg" id="(0.5,0.5)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hblhQT-TEeatdPECk4x2fg" id="(0.5,0.5)"/>
+          </edges>
+          <edges xmi:type="notation:Edge" xmi:id="_hbmIUD-TEeatdPECk4x2fg" type="4001" element="_ha6y4D-TEeatdPECk4x2fg" source="_KiL-sAkjEeWFVOi_8hW2kQ" target="_hbHAID-TEeatdPECk4x2fg">
+            <children xmi:type="notation:Node" xmi:id="_hbnWcD-TEeatdPECk4x2fg" type="6001">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hbnWcT-TEeatdPECk4x2fg" y="-10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_hbnWcj-TEeatdPECk4x2fg" type="6002">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hbnWcz-TEeatdPECk4x2fg" y="10"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_hbn9gD-TEeatdPECk4x2fg" type="6003">
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hbn9gT-TEeatdPECk4x2fg" y="10"/>
+            </children>
+            <styles xmi:type="notation:ConnectorStyle" xmi:id="_hbmIUT-TEeatdPECk4x2fg" routing="Rectilinear" jumpLinkStatus="Above"/>
+            <styles xmi:type="notation:FontStyle" xmi:id="_hbmIUj-TEeatdPECk4x2fg" fontName="Ubuntu" fontHeight="8"/>
+            <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hbmIUz-TEeatdPECk4x2fg" points="[325, 85, 325, 85]$[913, 564, 913, 564]"/>
+            <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hbokkD-TEeatdPECk4x2fg" id="(0.4971751412429379,0.4942528735632184)"/>
+            <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hbokkT-TEeatdPECk4x2fg" id="(0.5,0.5)"/>
+          </edges>
+        </data>
+      </ownedAnnotationEntries>
+      <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_5tFNUQkjEeWFVOi_8hW2kQ" source="DANNOTATION_CUSTOMIZATION_KEY">
+        <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_5tFNUgkjEeWFVOi_8hW2kQ">
+          <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_QQUsYgnKEeWATYXIsIrDKQ" labelFormat="bold" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
+            <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_OWQyQgtdEeWH1PvRpPAbiQ" labelFormat="bold" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
+            <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_VqPkEB_TEeWosIVuL4CkTA" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_VqPkER_TEeWosIVuL4CkTA" showIcon="false" labelExpression="service:renderEOpposite">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </beginLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_VqPkEh_TEeWosIVuL4CkTA" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_dYSSgj6kEeaW46TWXHz9iw" sourceArrow="InputArrow" targetArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_dYSSgz6kEeaW46TWXHz9iw" showIcon="false" labelExpression="service:renderEOpposite">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </beginLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_dYSShD6kEeaW46TWXHz9iw" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_hanQ4j-TEeatdPECk4x2fg" labelFormat="bold" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
+            <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_havMsz-TEeatdPECk4x2fg" sourceArrow="FillDiamond" sizeComputationExpression="1" routingStyle="manhattan">
+            <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_havMtD-TEeatdPECk4x2fg" showIcon="false" labelExpression="service:render">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            </centerLabelStyleDescription>
+            <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_havzwD-TEeatdPECk4x2fg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
+              <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+            </endLabelStyleDescription>
+          </computedStyleDescriptions>
+          <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_HydMEMHWEeangZPFpBYoMg" labelFormat="bold" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
+            <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+            <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          </computedStyleDescriptions>
+          <cache xmi:type="diagram:DiagramElementMapping2ModelElement" xmi:id="_JZKEoAkkEeWFVOi_8hW2kQ">
+            <key xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_QQUsYAnKEeWATYXIsIrDKQ">
+              <key xmi:type="ecore:EAttribute" href="mapping.ecore#//Link/description"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_QQUsYQnKEeWATYXIsIrDKQ" key="_8IbOYAkjEeWFVOi_8hW2kQ">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_QQUsYwnKEeWATYXIsIrDKQ" value="_QQUsYgnKEeWATYXIsIrDKQ">
+                  <key xmi:type="ecore:EClass" href="mapping.ecore#//Link"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_OWQyQAtdEeWH1PvRpPAbiQ">
+              <key xmi:type="ecore:EAttribute" href="mapping.ecore#//Base/name"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_OWQyQQtdEeWH1PvRpPAbiQ" key="_Lq_e0AtdEeWH1PvRpPAbiQ">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_OWW44AtdEeWH1PvRpPAbiQ" value="_OWQyQgtdEeWH1PvRpPAbiQ">
+                  <key xmi:type="ecore:EClass" href="mapping.ecore#//Base"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_hanQ4D-TEeatdPECk4x2fg">
+              <key xmi:type="ecore:EAttribute" href="mapping.ecore#//Report/description"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_hanQ4T-TEeatdPECk4x2fg" key="_hamCwD-TEeatdPECk4x2fg">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_han38D-TEeatdPECk4x2fg" value="_hanQ4j-TEeatdPECk4x2fg">
+                  <key xmi:type="ecore:EClass" href="mapping.ecore#//Report"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_HyclAMHWEeangZPFpBYoMg">
+              <key xmi:type="ecore:EAttribute" href="mapping.ecore#//Location/markedAsDeleted"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_HyclAcHWEeangZPFpBYoMg" key="_Hyav0MHWEeangZPFpBYoMg">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_HydMEcHWEeangZPFpBYoMg" value="_HydMEMHWEeangZPFpBYoMg">
+                  <key xmi:type="ecore:EClass" href="mapping.ecore#//Location"/>
+                </value>
+              </value>
+            </value>
+          </cache>
+          <cache xmi:type="diagram:DiagramElementMapping2ModelElement" xmi:id="_O1hX8AkqEeWFVOi_8hW2kQ">
+            <key xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_6Bfp0AtiEeWH1PvRpPAbiQ">
+              <key xmi:type="ecore:EReference" href="mapping.ecore#//Location/targetLinks"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_6Bfp0QtiEeWH1PvRpPAbiQ" key="_spw2EAklEeWFVOi_8hW2kQ">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_6Bfp1QtiEeWH1PvRpPAbiQ" value="_VqPkEB_TEeWosIVuL4CkTA">
+                  <key xmi:type="ecore:EPackage" href="mapping.ecore#/"/>
+                </value>
+              </value>
+            </value>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_dYSSgD6kEeaW46TWXHz9iw">
+              <key xmi:type="ecore:EReference" href="mapping.ecore#//Location/container"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_dYSSgT6kEeaW46TWXHz9iw" key="_dYREYD6kEeaW46TWXHz9iw">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_dYSShT6kEeaW46TWXHz9iw" value="_dYSSgj6kEeaW46TWXHz9iw">
+                  <key xmi:type="ecore:EPackage" href="mapping.ecore#/"/>
+                </value>
+              </value>
+            </value>
+          </cache>
+          <cache xmi:type="diagram:DiagramElementMapping2ModelElement" xmi:id="_havMsD-TEeatdPECk4x2fg">
+            <key xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+            <value xmi:type="diagram:ModelElement2ViewVariable" xmi:id="_havMsT-TEeatdPECk4x2fg">
+              <key xmi:type="ecore:EReference" href="mapping.ecore#//Base/reports"/>
+              <value xmi:type="diagram:ViewVariable2ContainerVariable" xmi:id="_havMsj-TEeatdPECk4x2fg" key="_hat-kD-TEeatdPECk4x2fg">
+                <value xmi:type="diagram:ContainerVariable2StyleDescription" xmi:id="_havzwT-TEeatdPECk4x2fg" value="_havMsz-TEeatdPECk4x2fg">
+                  <key xmi:type="ecore:EPackage" href="mapping.ecore#/"/>
+                </value>
+              </value>
+            </value>
+          </cache>
+        </data>
+      </ownedAnnotationEntries>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_G61dgAkjEeWFVOi_8hW2kQ" name="Location" tooltipText="" outgoingEdges="_rhFWwAklEeWFVOi_8hW2kQ _spw2EAklEeWFVOi_8hW2kQ _dYJIkD6kEeaW46TWXHz9iw _dYREYD6kEeaW46TWXHz9iw" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="mapping.ecore#//Location"/>
+        <semanticElements xmi:type="ecore:EClass" href="mapping.ecore#//Location"/>
+        <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+        <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+        <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_TiU2QCCMEeWW2MIM32qjYw" labelFormat="italic" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_TiU2QSCMEeWW2MIM32qjYw"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_TiU2QiCMEeWW2MIM32qjYw" red="125" green="125" blue="125"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_TiU2QyCMEeWW2MIM32qjYw" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_TiU2RCCMEeWW2MIM32qjYw" red="228" green="228" blue="228"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+        <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_a8u2ED6kEeaW46TWXHz9iw" name="type : Type" tooltipText="">
+          <target xmi:type="ecore:EAttribute" href="mapping.ecore#//Location/type"/>
+          <semanticElements xmi:type="ecore:EAttribute" href="mapping.ecore#//Location/type"/>
+          <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_a8xSUD6kEeaW46TWXHz9iw" labelAlignment="LEFT">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_a8xSUT6kEeaW46TWXHz9iw"/>
+            <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+            <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_a8xSUj6kEeaW46TWXHz9iw"/>
+            <color xmi:type="viewpoint:RGBValues" xmi:id="_a8x5YD6kEeaW46TWXHz9iw"/>
+          </ownedStyle>
+          <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+        </ownedElements>
+        <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_Hyav0MHWEeangZPFpBYoMg" name="markedAsDeleted : EBoolean = false" tooltipText="">
+          <target xmi:type="ecore:EAttribute" href="mapping.ecore#//Location/markedAsDeleted"/>
+          <semanticElements xmi:type="ecore:EAttribute" href="mapping.ecore#//Location/markedAsDeleted"/>
+          <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_HydzIMHWEeangZPFpBYoMg" labelFormat="bold" labelAlignment="LEFT" description="_HydMEMHWEeangZPFpBYoMg">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_HydzIcHWEeangZPFpBYoMg"/>
+            <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_HydzIsHWEeangZPFpBYoMg"/>
+            <color xmi:type="viewpoint:RGBValues" xmi:id="_HydzI8HWEeangZPFpBYoMg"/>
+          </ownedStyle>
+          <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+        </ownedElements>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_Kh_xcAkjEeWFVOi_8hW2kQ" name="Link" tooltipText="" outgoingEdges="_ha6y4D-TEeatdPECk4x2fg" incomingEdges="_rhFWwAklEeWFVOi_8hW2kQ _spw2EAklEeWFVOi_8hW2kQ" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="mapping.ecore#//Link"/>
+        <semanticElements xmi:type="ecore:EClass" href="mapping.ecore#//Link"/>
+        <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+        <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+        <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_Vp6z8B_TEeWosIVuL4CkTA" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_Vp6z8R_TEeWosIVuL4CkTA"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_Vp6z8h_TEeWosIVuL4CkTA"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_Vp6z8x_TEeWosIVuL4CkTA" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_Vp6z9B_TEeWosIVuL4CkTA" red="255" green="252" blue="216"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+        <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_8IbOYAkjEeWFVOi_8hW2kQ" name="description : EString" tooltipText="">
+          <target xmi:type="ecore:EAttribute" href="mapping.ecore#//Link/description"/>
+          <semanticElements xmi:type="ecore:EAttribute" href="mapping.ecore#//Link/description"/>
+          <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_QQUsZAnKEeWATYXIsIrDKQ" labelFormat="bold" labelAlignment="LEFT" description="_QQUsYgnKEeWATYXIsIrDKQ">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_QQUsZQnKEeWATYXIsIrDKQ"/>
+            <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_QQUsZgnKEeWATYXIsIrDKQ"/>
+            <color xmi:type="viewpoint:RGBValues" xmi:id="_QQUsZwnKEeWATYXIsIrDKQ"/>
+          </ownedStyle>
+          <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+        </ownedElements>
+        <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_a82x4D6kEeaW46TWXHz9iw" name="type : Type" tooltipText="">
+          <target xmi:type="ecore:EAttribute" href="mapping.ecore#//Link/type"/>
+          <semanticElements xmi:type="ecore:EAttribute" href="mapping.ecore#//Link/type"/>
+          <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_a84AAD6kEeaW46TWXHz9iw" labelAlignment="LEFT">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_a84AAT6kEeaW46TWXHz9iw"/>
+            <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+            <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_a84AAj6kEeaW46TWXHz9iw"/>
+            <color xmi:type="viewpoint:RGBValues" xmi:id="_a84AAz6kEeaW46TWXHz9iw"/>
+          </ownedStyle>
+          <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+        </ownedElements>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_rdzOsAkkEeWFVOi_8hW2kQ" name="Base" tooltipText="" outgoingEdges="_dYLk0D6kEeaW46TWXHz9iw _hat-kD-TEeatdPECk4x2fg" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="mapping.ecore#//Base"/>
+        <semanticElements xmi:type="ecore:EClass" href="mapping.ecore#//Base"/>
+        <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+        <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+        <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_Vp8CEB_TEeWosIVuL4CkTA" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_Vp8CER_TEeWosIVuL4CkTA"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_Vp8CEh_TEeWosIVuL4CkTA"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_Vp8CEx_TEeWosIVuL4CkTA" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_Vp8CFB_TEeWosIVuL4CkTA" red="255" green="252" blue="216"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+        <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_Lq_e0AtdEeWH1PvRpPAbiQ" name="name : EString" tooltipText="">
+          <target xmi:type="ecore:EAttribute" href="mapping.ecore#//Base/name"/>
+          <semanticElements xmi:type="ecore:EAttribute" href="mapping.ecore#//Base/name"/>
+          <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_OWW44QtdEeWH1PvRpPAbiQ" labelFormat="bold" labelAlignment="LEFT" description="_OWQyQgtdEeWH1PvRpPAbiQ">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_OWW44gtdEeWH1PvRpPAbiQ"/>
+            <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_OWW44wtdEeWH1PvRpPAbiQ"/>
+            <color xmi:type="viewpoint:RGBValues" xmi:id="_OWW45AtdEeWH1PvRpPAbiQ"/>
+          </ownedStyle>
+          <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+        </ownedElements>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_rhFWwAklEeWFVOi_8hW2kQ" sourceNode="_G61dgAkjEeWFVOi_8hW2kQ" targetNode="_Kh_xcAkjEeWFVOi_8hW2kQ" beginLabel="[1..1] target" endLabel="[0..*] sourceLinks">
+        <target xmi:type="ecore:EReference" href="mapping.ecore#//Location/sourceLinks"/>
+        <semanticElements xmi:type="ecore:EReference" href="mapping.ecore#//Location/sourceLinks"/>
+        <semanticElements xmi:type="ecore:EReference" href="mapping.ecore#//Link/target"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_VqQyMB_TEeWosIVuL4CkTA" sourceArrow="InputArrow" routingStyle="manhattan">
+          <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/>
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_VqQyMR_TEeWosIVuL4CkTA"/>
+          <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_VqQyMh_TEeWosIVuL4CkTA" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_VqQyMx_TEeWosIVuL4CkTA"/>
+          </beginLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_VqQyNB_TEeWosIVuL4CkTA" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_VqQyNR_TEeWosIVuL4CkTA"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_spw2EAklEeWFVOi_8hW2kQ" sourceNode="_G61dgAkjEeWFVOi_8hW2kQ" targetNode="_Kh_xcAkjEeWFVOi_8hW2kQ" beginLabel="[1..1] source" endLabel="[0..*] targetLinks">
+        <target xmi:type="ecore:EReference" href="mapping.ecore#//Location/targetLinks"/>
+        <semanticElements xmi:type="ecore:EReference" href="mapping.ecore#//Link/source"/>
+        <semanticElements xmi:type="ecore:EReference" href="mapping.ecore#//Location/targetLinks"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_VqQLIB_TEeWosIVuL4CkTA" description="_VqPkEB_TEeWosIVuL4CkTA" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_VqQLIR_TEeWosIVuL4CkTA"/>
+          <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_VqQLIh_TEeWosIVuL4CkTA" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_VqQLIx_TEeWosIVuL4CkTA"/>
+          </beginLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_VqQLJB_TEeWosIVuL4CkTA" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_VqQLJR_TEeWosIVuL4CkTA"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_dXUCID6kEeaW46TWXHz9iw" name="LocationContainer" tooltipText="" incomingEdges="_dYJIkD6kEeaW46TWXHz9iw _dYLk0D6kEeaW46TWXHz9iw _dYREYD6kEeaW46TWXHz9iw" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="mapping.ecore#//LocationContainer"/>
+        <semanticElements xmi:type="ecore:EClass" href="mapping.ecore#//LocationContainer"/>
+        <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+        <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+        <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_dXVQQD6kEeaW46TWXHz9iw" labelFormat="italic" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_interface.gif" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_dXVQQT6kEeaW46TWXHz9iw"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_dXVQQj6kEeaW46TWXHz9iw" red="125" green="125" blue="125"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_dXVQQz6kEeaW46TWXHz9iw" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_dXVQRD6kEeaW46TWXHz9iw" red="228" green="228" blue="228"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_dYJIkD6kEeaW46TWXHz9iw" sourceNode="_G61dgAkjEeWFVOi_8hW2kQ" targetNode="_dXUCID6kEeaW46TWXHz9iw">
+        <target xmi:type="ecore:EClass" href="mapping.ecore#//Location"/>
+        <semanticElements xmi:type="ecore:EGenericType" href="mapping.ecore#//Location/@eGenericSuperTypes.0"/>
+        <semanticElements xmi:type="ecore:EGenericType" href="mapping.ecore#//Location/@eGenericSuperTypes.1"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_dYK9wD6kEeaW46TWXHz9iw" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
+          <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_dYK9wT6kEeaW46TWXHz9iw" red="136" green="136" blue="136"/>
+          <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_dYK9wj6kEeaW46TWXHz9iw" labelFormat="italic" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_dYK9wz6kEeaW46TWXHz9iw"/>
+          </beginLabelStyle>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_dYK9xD6kEeaW46TWXHz9iw" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_dYK9xT6kEeaW46TWXHz9iw"/>
+          </centerLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_dYLk0D6kEeaW46TWXHz9iw" sourceNode="_rdzOsAkkEeWFVOi_8hW2kQ" targetNode="_dXUCID6kEeaW46TWXHz9iw">
+        <target xmi:type="ecore:EClass" href="mapping.ecore#//Base"/>
+        <semanticElements xmi:type="ecore:EGenericType" href="mapping.ecore#//Base/@eGenericSuperTypes.0"/>
+        <semanticElements xmi:type="ecore:EGenericType" href="mapping.ecore#//Base/@eGenericSuperTypes.1"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_dYMy8D6kEeaW46TWXHz9iw" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
+          <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_dYMy8T6kEeaW46TWXHz9iw" red="136" green="136" blue="136"/>
+          <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_dYMy8j6kEeaW46TWXHz9iw" labelFormat="italic" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_dYMy8z6kEeaW46TWXHz9iw"/>
+          </beginLabelStyle>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_dYMy9D6kEeaW46TWXHz9iw" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_dYMy9T6kEeaW46TWXHz9iw"/>
+          </centerLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_dYREYD6kEeaW46TWXHz9iw" sourceNode="_G61dgAkjEeWFVOi_8hW2kQ" targetNode="_dXUCID6kEeaW46TWXHz9iw" beginLabel="[0..*] contents" endLabel="[0..1] container">
+        <target xmi:type="ecore:EReference" href="mapping.ecore#//Location/container"/>
+        <semanticElements xmi:type="ecore:EReference" href="mapping.ecore#//Location/container"/>
+        <semanticElements xmi:type="ecore:EReference" href="mapping.ecore#//LocationContainer/contents"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_dYS5kD6kEeaW46TWXHz9iw" description="_dYSSgj6kEeaW46TWXHz9iw" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_dYS5kT6kEeaW46TWXHz9iw"/>
+          <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_dYS5kj6kEeaW46TWXHz9iw" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_dYS5kz6kEeaW46TWXHz9iw"/>
+          </beginLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_dYS5lD6kEeaW46TWXHz9iw" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_dYS5lT6kEeaW46TWXHz9iw"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_hZcMMD-TEeatdPECk4x2fg" name="Report" tooltipText="" incomingEdges="_hat-kD-TEeatdPECk4x2fg _ha6y4D-TEeatdPECk4x2fg" width="12" height="10">
+        <target xmi:type="ecore:EClass" href="mapping.ecore#//Report"/>
+        <semanticElements xmi:type="ecore:EClass" href="mapping.ecore#//Report"/>
+        <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+        <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+        <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+        <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_hZeBYD-TEeatdPECk4x2fg" backgroundStyle="Liquid">
+          <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_hZeBYT-TEeatdPECk4x2fg"/>
+          <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+          <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_hZeBYj-TEeatdPECk4x2fg"/>
+          <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_hZeBYz-TEeatdPECk4x2fg" red="255" green="255" blue="255"/>
+          <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_hZeBZD-TEeatdPECk4x2fg" red="255" green="252" blue="216"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+        <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_hamCwD-TEeatdPECk4x2fg" name="description : EString" tooltipText="">
+          <target xmi:type="ecore:EAttribute" href="mapping.ecore#//Report/description"/>
+          <semanticElements xmi:type="ecore:EAttribute" href="mapping.ecore#//Report/description"/>
+          <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_haofAD-TEeatdPECk4x2fg" labelFormat="bold" labelAlignment="LEFT" description="_hanQ4j-TEeatdPECk4x2fg">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_haofAT-TEeatdPECk4x2fg"/>
+            <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_haofAj-TEeatdPECk4x2fg"/>
+            <color xmi:type="viewpoint:RGBValues" xmi:id="_haofAz-TEeatdPECk4x2fg"/>
+          </ownedStyle>
+          <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+        </ownedElements>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_hat-kD-TEeatdPECk4x2fg" name="[0..*] reports" sourceNode="_rdzOsAkkEeWFVOi_8hW2kQ" targetNode="_hZcMMD-TEeatdPECk4x2fg">
+        <target xmi:type="ecore:EReference" href="mapping.ecore#//Base/reports"/>
+        <semanticElements xmi:type="ecore:EReference" href="mapping.ecore#//Base/reports"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_havzwj-TEeatdPECk4x2fg" description="_havMsz-TEeatdPECk4x2fg" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_havzwz-TEeatdPECk4x2fg"/>
+          <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_havzxD-TEeatdPECk4x2fg" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_havzxT-TEeatdPECk4x2fg"/>
+          </centerLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_havzxj-TEeatdPECk4x2fg" showIcon="false">
+            <customFeatures>labelSize</customFeatures>
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_havzxz-TEeatdPECk4x2fg" red="39" green="76" blue="114"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+      </ownedDiagramElements>
+      <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ha6y4D-TEeatdPECk4x2fg" sourceNode="_Kh_xcAkjEeWFVOi_8hW2kQ" targetNode="_hZcMMD-TEeatdPECk4x2fg" beginLabel="[1..1] link" endLabel="[0..*] reports">
+        <target xmi:type="ecore:EReference" href="mapping.ecore#//Link/reports"/>
+        <semanticElements xmi:type="ecore:EReference" href="mapping.ecore#//Report/link"/>
+        <semanticElements xmi:type="ecore:EReference" href="mapping.ecore#//Link/reports"/>
+        <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ha7Z8D-TEeatdPECk4x2fg" sourceArrow="InputArrow" routingStyle="manhattan">
+          <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/>
+          <strokeColor xmi:type="viewpoint:RGBValues" xmi:id="_ha7Z8T-TEeatdPECk4x2fg"/>
+          <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_ha7Z8j-TEeatdPECk4x2fg" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_ha7Z8z-TEeatdPECk4x2fg"/>
+          </beginLabelStyle>
+          <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_ha7Z9D-TEeatdPECk4x2fg" showIcon="false">
+            <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_ha7Z9T-TEeatdPECk4x2fg"/>
+          </endLabelStyle>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+      </ownedDiagramElements>
+      <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+      <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_yuNMJQkiEeWFVOi_8hW2kQ"/>
+      <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
+      <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
+      <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
+      <target xmi:type="ecore:EPackage" href=