Upgraded all dependencies to Indigo M6. Updated versioning to 0.8.5.
diff --git a/org.eclipse.amp.agf/features/org.eclipse.amp.agf-feature/feature.xml b/org.eclipse.amp.agf/features/org.eclipse.amp.agf-feature/feature.xml
index 0db4cf9..54b8fbf 100644
--- a/org.eclipse.amp.agf/features/org.eclipse.amp.agf-feature/feature.xml
+++ b/org.eclipse.amp.agf/features/org.eclipse.amp.agf-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.amp.agf"
       label="%featureName"
-      version="0.8.1.qualifier"
+      version="0.8.5.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.amp.agf"
       image="eclipse_update_120.jpg">
diff --git a/org.eclipse.amp.agf/features/org.eclipse.amp.agf.chart-feature/feature.xml b/org.eclipse.amp.agf/features/org.eclipse.amp.agf.chart-feature/feature.xml
index 9b01219..c5c9c68 100644
--- a/org.eclipse.amp.agf/features/org.eclipse.amp.agf.chart-feature/feature.xml
+++ b/org.eclipse.amp.agf/features/org.eclipse.amp.agf.chart-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.amp.agf.chart"
       label="AMP AGF Chart (Incubation)"
-      version="0.8.1.qualifier"
+      version="0.8.5.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.amp.agf.chart"
       image="eclipse_update_120.jpg">
diff --git a/org.eclipse.amp.agf/features/org.eclipse.amp.agf.zest-feature/feature.xml b/org.eclipse.amp.agf/features/org.eclipse.amp.agf.zest-feature/feature.xml
index 5b2a4ef..bb97b8a 100644
--- a/org.eclipse.amp.agf/features/org.eclipse.amp.agf.zest-feature/feature.xml
+++ b/org.eclipse.amp.agf/features/org.eclipse.amp.agf.zest-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.amp.agf.zest"
       label="%featureName"
-      version="0.8.1.qualifier"
+      version="0.8.5.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.amp.agf.zest">
 
diff --git a/org.eclipse.amp.agf/features/org.eclipse.amp.agf3d-feature/feature.xml b/org.eclipse.amp.agf/features/org.eclipse.amp.agf3d-feature/feature.xml
index 388b2ed..ab1ea45 100644
--- a/org.eclipse.amp.agf/features/org.eclipse.amp.agf3d-feature/feature.xml
+++ b/org.eclipse.amp.agf/features/org.eclipse.amp.agf3d-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.amp.agf3d"
       label="%featureName"
-      version="0.8.1.qualifier"
+      version="0.8.5.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.amp.agf3d">
 
@@ -20,29 +20,29 @@
 
    <url>
       <update label="%AMPUpdateSiteName" url="http://eclipse.org/amp/updates/release"/>
-      <!-- Removed update site reference per policy <discovery label="LWJGL Support for GEF3D" url="http://lwjgl.org/update"/> -->
    </url>
 
+   <includes
+         id="org.eclipse.gef3d.feature"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.draw3d.feature"
+         version="0.0.0"/>
+
    <requires>
       <import plugin="org.eclipse.ui"/>
       <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.amp.axf.core" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.axf.views" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.agf.core" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.lwjgl"/>
-      <import plugin="org.eclipse.draw3d.ui" version="0.8.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.axf.core" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.axf.views" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.agf.core" version="0.8.5" match="greaterOrEqual"/>
       <import plugin="org.ascape.core"/>
       <import plugin="org.ascape.ui.amp" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.escape.ascape" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.agf3d" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.gef3d"/>
-      <import plugin="org.eclipse.draw3d.geometry"/>
-      <import plugin="org.eclipse.draw3d.lwjgl"/>
+      <import plugin="org.eclipse.amp.escape.ascape" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.agf3d" version="0.8.5" match="greaterOrEqual"/>
       <import plugin="org.eclipse.draw2d"/>
       <import plugin="org.eclipse.core.runtime" version="3.4.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.draw3d"/>
       <import plugin="org.eclipse.gef"/>
-      <import plugin="org.eclipse.draw3d.graphics3d"/>
    </requires>
 
    <plugin
@@ -58,47 +58,4 @@
          install-size="0"
          version="0.0.0"
          unpack="false"/>
-
-   <plugin
-         id="org.eclipse.draw3d"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.draw3d.geometry"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.draw3d.graphics3d"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.draw3d.lwjgl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.draw3d.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gef3d"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
 </feature>
diff --git a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.chart/META-INF/MANIFEST.MF b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.chart/META-INF/MANIFEST.MF
index 1a8035c..c0d637f 100644
--- a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.chart/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.chart/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Vendor: %providerName
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.amp.agf.chart;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-Activator: org.eclipse.amp.agf.chart.ide.AGFChartPlugin
 Require-Bundle: org.eclipse.ui,
  org.eclipse.ui.views,
diff --git a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.core/META-INF/MANIFEST.MF b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.core/META-INF/MANIFEST.MF
index 334b629..446e49e 100644
--- a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.core/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.core/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: %pluginName
 Bundle-Vendor: %providerName
 Bundle-SymbolicName: org.eclipse.amp.agf.core;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.ui,
  org.eclipse.ui.views,
@@ -11,7 +11,7 @@
  org.eclipse.gef;visibility:=reexport,
  org.eclipse.amp.axf.core,
  org.eclipse.amp.axf.views,
- org.eclipse.amp.axf.ide;bundle-version="0.8.1"
+ org.eclipse.amp.axf.ide;bundle-version="0.8.5"
 Export-Package: org.eclipse.amp.agf,
  org.eclipse.amp.agf.gef,
  org.eclipse.amp.agf.tree;
diff --git a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.ide/META-INF/MANIFEST.MF b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.ide/META-INF/MANIFEST.MF
index 3ad1ed7..3290aba 100644
--- a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.ide/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.ide/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Vendor: %providerName
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.amp.agf.ide;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-Activator: org.eclipse.amp.agf.ide.AGFIDEPlugin
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.ui,
diff --git a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.zest.ide/META-INF/MANIFEST.MF b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.zest.ide/META-INF/MANIFEST.MF
index 9d61fb1..fa21060 100644
--- a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.zest.ide/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.zest.ide/META-INF/MANIFEST.MF
@@ -3,14 +3,14 @@
 Bundle-Name: %pluginName
 Bundle-Vendor: %providerName
 Bundle-SymbolicName: org.eclipse.amp.agf.zest.ide;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-Activator: org.eclipse.amp.agf.zest.ide.AMPZestPlugin
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.amp.agf.zest,
  org.eclipse.amp.axf.ide,
  org.eclipse.amp.axf.views,
- org.eclipse.amp.agf.core;bundle-version="0.8.1"
+ org.eclipse.amp.agf.core;bundle-version="0.8.5"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Localization: plugin
diff --git a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.zest/META-INF/MANIFEST.MF b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.zest/META-INF/MANIFEST.MF
index 2c69f0e..ea1dbb8 100644
--- a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.zest/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf.zest/META-INF/MANIFEST.MF
@@ -3,13 +3,13 @@
 Bundle-Name: %pluginName
 Bundle-Vendor: %providerName
 Bundle-SymbolicName: org.eclipse.amp.agf.zest;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.amp.axf.core,
  org.eclipse.gef,
  org.eclipse.amp.axf.views,
- org.eclipse.amp.agf.core;bundle-version="0.8.1",
+ org.eclipse.amp.agf.core;bundle-version="0.8.5",
  org.eclipse.zest.core;bundle-version="1.1.0";visibility:=reexport,
  org.eclipse.zest.layouts;bundle-version="1.1.0";visibility:=reexport
 Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf/META-INF/MANIFEST.MF b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf/META-INF/MANIFEST.MF
index b4a37e8..ee8a291 100644
--- a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.agf;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-Activator: org.eclipse.amp.agf.Activator
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime
diff --git a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf3d/META-INF/MANIFEST.MF b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf3d/META-INF/MANIFEST.MF
index aec098e..7c50db0 100644
--- a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf3d/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf3d/META-INF/MANIFEST.MF
@@ -2,18 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.agf3d;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-Activator: org.eclipse.amp.agf3d.AGF3DPlugin
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
- org.eclipse.amp.axf.core;bundle-version="0.8.1",
- org.eclipse.amp.axf.views;bundle-version="0.8.1",
- org.eclipse.amp.agf.core;bundle-version="0.8.1",
+ org.eclipse.amp.axf.core;bundle-version="0.8.5",
+ org.eclipse.amp.axf.views;bundle-version="0.8.5",
+ org.eclipse.amp.agf.core;bundle-version="0.8.5",
  org.eclipse.draw3d,
- org.eclipse.draw3d.lwjgl,
  org.eclipse.gef3d,
  org.eclipse.draw3d.graphics3d,
- org.lwjgl,
  org.eclipse.draw3d.ui
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.amp.agf3d,
diff --git a/org.eclipse.amp.amf/features/org.eclipse.amp.amf-feature/feature.xml b/org.eclipse.amp.amf/features/org.eclipse.amp.amf-feature/feature.xml
index a0f78ef..5076473 100644
--- a/org.eclipse.amp.amf/features/org.eclipse.amp.amf-feature/feature.xml
+++ b/org.eclipse.amp.amf/features/org.eclipse.amp.amf-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.amp.amf"
       label="%featureName"
-      version="0.8.1.qualifier"
+      version="0.8.5.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.amp.amf.acore.edit">
 
@@ -31,12 +31,17 @@
       <import plugin="org.eclipse.amp.amf.acore"/>
       <import plugin="org.eclipse.jdt.core"/>
       <import plugin="org.eclipse.core.runtime"/>
+      <import plugin="org.eclipse.xpand" version="1.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.xtend" version="1.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.xtend.typesystem.emf" version="1.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.mwe.utils" version="1.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.mwe.ui" version="1.0.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.emf.ecore.editor"/>
-      <import plugin="org.eclipse.jdt.launching" version="3.4.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.jdt.launching"/>
       <import plugin="org.eclipse.debug.ui"/>
-      <import plugin="org.eclipse.amp.amf.gen" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.amf.ide" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.amf.gen.ide" version="0.8.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.gen" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.ide" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.gen.ide" version="0.8.5" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui"/>
       <import plugin="org.eclipse.jdt.ui"/>
       <import plugin="org.eclipse.core.resources"/>
@@ -45,18 +50,13 @@
       <import plugin="org.eclipse.ui.ide"/>
       <import plugin="org.eclipse.jdt.debug.ui"/>
       <import plugin="org.eclipse.emf.mwe.core"/>
-      <import plugin="org.eclipse.emf.common.ui" version="2.5.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.common.ui"/>
       <import plugin="org.apache.commons.lang"/>
-      <import plugin="org.apache.commons.logging"/>
       <import plugin="org.eclipse.amp.amf.acore.edit"/>
-      <import plugin="org.eclipse.emf.ecore.xmi" version="2.5.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.emf.java" version="2.5.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.xpand" version="1.0.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.xtend" version="1.0.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.xtend.typesystem.emf" version="1.0.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.emf.mwe.utils" version="1.0.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.emf.mwe.ui" version="1.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.ecore.xmi"/>
+      <import plugin="org.eclipse.emf.java"/>
       <import plugin="org.eclipse.ui.views.properties.tabbed"/>
+      <import plugin="org.eclipse.emf.codegen"/>
    </requires>
 
    <plugin
diff --git a/org.eclipse.amp.amf/features/org.eclipse.amp.amf.core-feature/feature.xml b/org.eclipse.amp.amf/features/org.eclipse.amp.amf.core-feature/feature.xml
index 55c605c..a503578 100644
--- a/org.eclipse.amp.amf/features/org.eclipse.amp.amf.core-feature/feature.xml
+++ b/org.eclipse.amp.amf/features/org.eclipse.amp.amf.core-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.amp.amf.core"
       label="%featureName"
-      version="0.8.1.qualifier"
+      version="0.8.5.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.amp.amf.acore">
 
diff --git a/org.eclipse.amp.amf/features/org.eclipse.amp.amf.target.ascape-feature/feature.xml b/org.eclipse.amp.amf/features/org.eclipse.amp.amf.target.ascape-feature/feature.xml
index b9a92b5..80744dc 100644
--- a/org.eclipse.amp.amf/features/org.eclipse.amp.amf.target.ascape-feature/feature.xml
+++ b/org.eclipse.amp.amf/features/org.eclipse.amp.amf.target.ascape-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.amp.amf.target.ascape"
       label="%featureName"
-      version="0.8.1.qualifier"
+      version="0.8.5.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.amp.amf.ide.ascape">
 
@@ -33,8 +33,8 @@
       <import plugin="org.eclipse.jdt.debug.ui"/>
       <import plugin="org.ascape.core"/>
       <import plugin="org.eclipse.jdt.core" version="3.5.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.amf.ide" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.amf.gen.ide" version="0.8.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.ide" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.gen.ide" version="0.8.5" match="greaterOrEqual"/>
       <import plugin="org.eclipse.emf.ecore" version="2.5.0" match="greaterOrEqual"/>
    </requires>
 
diff --git a/org.eclipse.amp.amf/features/org.eclipse.amp.amf.target.escape-feature/feature.xml b/org.eclipse.amp.amf/features/org.eclipse.amp.amf.target.escape-feature/feature.xml
index e6502c8..0e25b7d 100644
--- a/org.eclipse.amp.amf/features/org.eclipse.amp.amf.target.escape-feature/feature.xml
+++ b/org.eclipse.amp.amf/features/org.eclipse.amp.amf.target.escape-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.amp.amf.target.escape"
       label="%featureName"
-      version="0.8.1.qualifier"
+      version="0.8.5.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.amp.escape.amf.ide">
 
@@ -32,18 +32,18 @@
       <import plugin="org.eclipse.jdt.core" version="3.5.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.emf.ecore" version="2.5.0" match="greaterOrEqual"/>
       <import plugin="org.ascape.core"/>
-      <import plugin="org.eclipse.amp.amf.acore.edit" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.amf.acore.editor" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.amf.gen.ide" version="0.8.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.acore.edit" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.acore.editor" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.gen.ide" version="0.8.5" match="greaterOrEqual"/>
       <import plugin="org.eclipse.amp.escape.ide"/>
       <import plugin="org.eclipse.xtext" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.amf.parameters" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.amf.abase" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.axf.core" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.amf.testing" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.escape.ide" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.escape.ascape" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.axf.ide" version="0.8.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.parameters" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.abase" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.axf.core" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.testing" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.escape.ide" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.escape.ascape" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.axf.ide" version="0.8.5" match="greaterOrEqual"/>
       <import plugin="org.eclipse.emf.ecore.xmi" version="2.5.0" match="greaterOrEqual"/>
       <import plugin="org.apache.commons.lang"/>
    </requires>
diff --git a/org.eclipse.amp.amf/features/org.eclipse.amp.amf.target.repast-feature/feature.xml b/org.eclipse.amp.amf/features/org.eclipse.amp.amf.target.repast-feature/feature.xml
index c20288f..8ce8e52 100644
--- a/org.eclipse.amp.amf/features/org.eclipse.amp.amf.target.repast-feature/feature.xml
+++ b/org.eclipse.amp.amf/features/org.eclipse.amp.amf.target.repast-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.amp.amf.target.repast"
       label="%featureName"
-      version="0.8.1.qualifier"
+      version="0.8.5.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.amp.amf.ide.repast">
 
@@ -33,8 +33,8 @@
       <import plugin="org.eclipse.jdt.debug.ui"/>
       <import plugin="org.eclipse.jdt.debug"/>
       <import plugin="org.eclipse.jdt.core" version="3.5.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.amf.ide" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.amf.gen.ide" version="0.8.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.ide" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.gen.ide" version="0.8.5" match="greaterOrEqual"/>
       <import plugin="repast.simphony.score" version="1.0.0" match="greaterOrEqual"/>
    </requires>
 
diff --git a/org.eclipse.amp.amf/features/org.eclipse.amp.amfx-feature/feature.xml b/org.eclipse.amp.amf/features/org.eclipse.amp.amfx-feature/feature.xml
index 6e0daf1..5e37bd0 100644
--- a/org.eclipse.amp.amf/features/org.eclipse.amp.amfx-feature/feature.xml
+++ b/org.eclipse.amp.amf/features/org.eclipse.amp.amfx-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.amp.amfx"
       label="%featureName"
-      version="0.8.1.qualifier"
+      version="0.8.5.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.amp.amf.abase">
 
@@ -41,9 +41,9 @@
       <import plugin="org.eclipse.emf.ecore.xmi"/>
       <import plugin="org.eclipse.emf.edit.ui"/>
       <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.amp.amf.abase.edit" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.amf.abase" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.amp.amf.abase.ui" version="0.8.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.abase.edit" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.abase" version="0.8.5" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.amp.amf.abase.ui" version="0.8.5" match="greaterOrEqual"/>
       <import plugin="org.eclipse.xtext.ui"/>
       <import plugin="org.eclipse.ui.editors" version="3.5.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui.ide" version="3.5.0" match="greaterOrEqual"/>
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.edit/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.edit/META-INF/MANIFEST.MF
index a0dabd2..a61fd3c 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.edit/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.amf.abase.edit;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.amp.amf.abase.aBase.provider.ABaseEditPlugin$Implementation
 Bundle-Vendor: %providerName
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.editor/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.editor/META-INF/MANIFEST.MF
index b2038b4..80485fa 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.editor/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.editor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.amf.abase.editor;singleton:=true
-Bundle-Version: 0.8.1
+Bundle-Version: 0.8.5
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.amp.amf.abase.aBase.presentation.ABaseEditorPlugin$Implementation
 Bundle-Vendor: %providerName
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/META-INF/MANIFEST.MF
index 5ee0a61..bf2edae 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/META-INF/MANIFEST.MF
@@ -1,27 +1,30 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Version: 0.8.1.qualifier
-Bundle-SymbolicName: org.eclipse.amp.amf.abase.ui; singleton:=true
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.amp.amf.abase;visibility:=reexport,
- org.eclipse.xtext.ui,
- org.eclipse.ui.editors;bundle-version="3.5.0",
- org.eclipse.ui.ide;bundle-version="3.5.0",
- org.eclipse.xtext.ui.shared,
- org.eclipse.ui,
- org.antlr.runtime,
- org.eclipse.xtext.builder
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-Activator: org.eclipse.amp.amf.abase.ui.internal.ABaseActivator
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Export-Package: org.eclipse.amp.amf.abase.ui,
- org.eclipse.amp.amf.abase.ui.contentassist,
- org.eclipse.amp.amf.abase.ui.contentassist.antlr,
- org.eclipse.amp.amf.abase.ui.contentassist.antlr.internal,
- org.eclipse.amp.amf.abase.ui.internal,
- org.eclipse.amp.amf.abase.ui.labeling,
- org.eclipse.amp.amf.abase.ui.outline,
- org.eclipse.amp.amf.abase.ui.quickfix
+Manifest-Version: 1.0

+Bundle-ManifestVersion: 2

+Bundle-Name: %pluginName

+Bundle-Vendor: %providerName

+Bundle-Version: 0.8.5.qualifier

+Bundle-SymbolicName: org.eclipse.amp.amf.abase.ui; singleton:=true

+Bundle-ActivationPolicy: lazy

+Require-Bundle: org.eclipse.amp.amf.abase;visibility:=reexport,

+ org.eclipse.xtext.ui,

+ org.eclipse.ui.editors,

+ org.eclipse.ui.ide,

+ org.eclipse.xtext.ui.shared,

+ org.eclipse.ui,

+ org.eclipse.xtext.builder,

+ org.antlr.runtime,

+ org.eclipse.xtext.common.types.ui

+Import-Package: org.apache.log4j,

+ org.apache.commons.logging

+Bundle-RequiredExecutionEnvironment: J2SE-1.5

+Bundle-Activator: org.eclipse.amp.amf.abase.ui.internal.ABaseActivator

+Bundle-ClassPath: .

+Bundle-Localization: plugin

+Export-Package: org.eclipse.amp.amf.abase.ui,

+ org.eclipse.amp.amf.abase.ui.contentassist,

+ org.eclipse.amp.amf.abase.ui.contentassist.antlr,

+ org.eclipse.amp.amf.abase.ui.contentassist.antlr.internal,

+ org.eclipse.amp.amf.abase.ui.internal,

+ org.eclipse.amp.amf.abase.ui.labeling,

+ org.eclipse.amp.amf.abase.ui.outline,

+ org.eclipse.amp.amf.abase.ui.quickfix

diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/plugin.xml_gen b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/plugin.xml_gen
index 8695f61..9b7e68a 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/plugin.xml_gen
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/plugin.xml_gen
@@ -139,6 +139,12 @@
 
 
 
+   <extension
+         point="org.eclipse.xtext.builder.participant">
+      <participant
+            class="org.eclipse.amp.amf.abase.ui.ABaseExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant">
+      </participant>
+   </extension>
 
 	<!-- Quick Outline -->
 	<extension
@@ -180,5 +186,31 @@
             class="org.eclipse.amp.amf.abase.ui.ABaseExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator">
       </markerResolutionGenerator>
    </extension>
+   	<!-- Rename Refactoring -->
+	<extension point="org.eclipse.ui.handlers">
+		<handler 
+			class="org.eclipse.amp.amf.abase.ui.ABaseExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RenameElementHandler"
+			commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
+			<activeWhen>
+				<reference
+					definitionId="org.eclipse.amp.amf.abase.ABase.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+    <extension point="org.eclipse.ui.menus">
+         <menuContribution
+            locationURI="popup:#TextEditorContext?after=group.edit">
+         <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
+               style="push">
+            <visibleWhen checkEnabled="false">
+               <reference
+                     definitionId="org.eclipse.amp.amf.abase.ABase.Editor.opened">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+
 
 </plugin>
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/ABaseExecutableExtensionFactory.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/ABaseExecutableExtensionFactory.java
index c7fc3f1..bba9d38 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/ABaseExecutableExtensionFactory.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/ABaseExecutableExtensionFactory.java
@@ -1,8 +1,6 @@
-
 /*
  * generated by Xtext
  */
- 
 package org.eclipse.amp.amf.abase.ui;
 
 import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
@@ -11,7 +9,8 @@
 import com.google.inject.Injector;
 
 /**
- *@generated
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass. 
  */
 public class ABaseExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
 
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/AbstractABaseUiModule.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/AbstractABaseUiModule.java
index 367e27f..f09b7a9 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/AbstractABaseUiModule.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/AbstractABaseUiModule.java
@@ -10,6 +10,7 @@
 /**
  * Manual modifications go to {org.eclipse.amp.amf.abase.ui.ABaseUiModule}
  */
+@SuppressWarnings("all")
 public abstract class AbstractABaseUiModule extends DefaultUiModule {
 	
 	public AbstractABaseUiModule(AbstractUIPlugin plugin) {
@@ -22,31 +23,56 @@
 		return org.eclipse.xtext.ui.shared.Access.getJavaProjectsState();
 	}
 
-	// contributed by de.itemis.xtext.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.jface.text.rules.ITokenScanner> bindITokenScanner() {
-		return org.eclipse.xtext.ui.editor.syntaxcoloring.antlr.AntlrTokenScanner.class;
-	}
-
-	// contributed by de.itemis.xtext.antlr.XtextAntlrGeneratorFragment
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
 	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper> bindIProposalConflictHelper() {
 		return org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper.class;
 	}
 
-	// contributed by de.itemis.xtext.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.IDamagerRepairer> bindIDamagerRepairer() {
-		return org.eclipse.xtext.ui.editor.XtextDamagerRepairer.class;
-	}
-
-	// contributed by de.itemis.xtext.antlr.XtextAntlrGeneratorFragment
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
 	public void configureHighlightingLexer(com.google.inject.Binder binder) {
 		binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.amp.amf.abase.parser.antlr.internal.InternalABaseLexer.class);
 	}
 
-	// contributed by de.itemis.xtext.antlr.XtextAntlrGeneratorFragment
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
 	public void configureHighlightingTokenDefProvider(com.google.inject.Binder binder) {
 		binder.bind(org.eclipse.xtext.parser.antlr.ITokenDefProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class);
 	}
 
+	// contributed by org.eclipse.xtext.generator.exporting.SimpleNamesFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator> bindIDependentElementsCalculator() {
+		return org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator.Null.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.builder.clustering.CurrentDescriptions.ResourceSetAware.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.IXtextEditorCallback> bindIXtextEditorCallback() {
+		return org.eclipse.xtext.builder.nature.NatureAddingEditorCallback.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
+		return org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+	public Class<? extends org.eclipse.xtext.builder.IXtextBuilderParticipant> bindIXtextBuilderParticipant() {
+		return org.eclipse.xtext.builder.JavaProjectBasedBuilderParticipant.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+	public org.eclipse.core.resources.IWorkspaceRoot bindIWorkspaceRootToInstance() {
+		return org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot();
+	}
+
 	// contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
 	public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() {
 		return org.eclipse.amp.amf.abase.ui.labeling.ABaseLabelProvider.class;
@@ -57,14 +83,19 @@
 		binder.bind(org.eclipse.jface.viewers.ILabelProvider.class).annotatedWith(org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider.class).to(org.eclipse.amp.amf.abase.ui.labeling.ABaseDescriptionLabelProvider.class);
 	}
 
-	// contributed by org.eclipse.xtext.ui.generator.outline.TransformerFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.outline.transformer.ISemanticModelTransformer> bindISemanticModelTransformer() {
-		return org.eclipse.amp.amf.abase.ui.outline.ABaseTransformer.class;
+	// contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider> bindIOutlineTreeProvider() {
+		return org.eclipse.amp.amf.abase.ui.outline.ABaseOutlineTreeProvider.class;
 	}
 
-	// contributed by org.eclipse.xtext.ui.generator.outline.OutlineNodeAdapterFactoryFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.outline.actions.IContentOutlineNodeAdapterFactory> bindIContentOutlineNodeAdapterFactory() {
-		return org.eclipse.amp.amf.abase.ui.outline.ABaseOutlineNodeAdapterFactory.class;
+	// contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
+		return org.eclipse.amp.amf.abase.ui.outline.ABaseOutlineTreeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
+		return org.eclipse.amp.amf.abase.ui.quickfix.ABaseQuickfixProvider.class;
 	}
 
 	// contributed by org.eclipse.xtext.ui.generator.contentAssist.JavaBasedContentAssistFragment
@@ -72,39 +103,64 @@
 		return org.eclipse.amp.amf.abase.ui.contentassist.ABaseProposalProvider.class;
 	}
 
-	// contributed by de.itemis.xtext.antlr.XtextAntlrUiGeneratorFragment
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
 	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext.Factory> bindContentAssistContext$Factory() {
 		return org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory.class;
 	}
 
-	// contributed by de.itemis.xtext.antlr.XtextAntlrUiGeneratorFragment
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
 	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.antlr.IContentAssistParser> bindIContentAssistParser() {
 		return org.eclipse.amp.amf.abase.ui.contentassist.antlr.ABaseParser.class;
 	}
 
-	// contributed by de.itemis.xtext.antlr.XtextAntlrUiGeneratorFragment
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
 	public void configureContentAssistLexerProvider(com.google.inject.Binder binder) {
 		binder.bind(org.eclipse.amp.amf.abase.ui.contentassist.antlr.internal.InternalABaseLexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.amp.amf.abase.ui.contentassist.antlr.internal.InternalABaseLexer.class));
 	}
 
-	// contributed by de.itemis.xtext.antlr.XtextAntlrUiGeneratorFragment
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
 	public void configureContentAssistLexer(com.google.inject.Binder binder) {
 		binder.bind(org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.CONTENT_ASSIST)).to(org.eclipse.amp.amf.abase.ui.contentassist.antlr.internal.InternalABaseLexer.class);
 	}
 
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractGlobalScopeProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.builder.builderState.ShadowingResourceDescriptions.class);
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public java.lang.ClassLoader bindClassLoaderToInstance() {
+		return getClass().getClassLoader();
 	}
 
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.IXtextEditorCallback> bindIXtextEditorCallback() {
-		return org.eclipse.xtext.builder.nature.NatureAddingEditorCallback.class;
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
+		return org.eclipse.xtext.common.types.access.jdt.JdtTypeProviderFactory.class;
 	}
 
-	// contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
-		return org.eclipse.amp.amf.abase.ui.quickfix.ABaseQuickfixProvider.class;
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
+		return org.eclipse.xtext.common.types.xtext.ui.JdtBasedSimpleTypeScopeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.xtext.ui.ITypesProposalProvider> bindITypesProposalProvider() {
+		return org.eclipse.xtext.common.types.xtext.ui.JdtTypesProposalProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.access.jdt.IJavaProjectProvider> bindIJavaProjectProvider() {
+		return org.eclipse.xtext.common.types.xtext.ui.XtextResourceSetBasedProjectProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.hyperlinking.IHyperlinkHelper> bindIHyperlinkHelper() {
+		return org.eclipse.xtext.common.types.xtext.ui.TypeAwareHyperlinkHelper.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher> bindPrefixMatcher() {
+		return org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.AbstractJavaBasedContentProposalProvider.ReferenceProposalCreator> bindAbstractJavaBasedContentProposalProvider$ReferenceProposalCreator() {
+		return org.eclipse.xtext.common.types.xtext.ui.TypeAwareReferenceProposalCreator.class;
 	}
 
 
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/AbstractABaseProposalProvider.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/AbstractABaseProposalProvider.java
index dad2d74..850d6d7 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/AbstractABaseProposalProvider.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/AbstractABaseProposalProvider.java
@@ -14,6 +14,7 @@
  * Methods are dynamically dispatched on the first parameter, i.e., you can override them 
  * with a more concrete subtype. 
  */
+@SuppressWarnings("all")
 public class AbstractABaseProposalProvider extends TerminalsProposalProvider {
 		
 	public void completeIntValue_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g
index 72337ad..71889cb 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g
@@ -349,7 +349,7 @@
 
 RULE_INT : ('0'..'9')+;
 
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
+RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
 
 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
 
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.tokens b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.tokens
index cbae077..0f46910 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.tokens
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.tokens
@@ -1,5 +1,7 @@
 RULE_ID=8
 RULE_STRING=6
+T__15=15
+T__14=14
 RULE_ANY_OTHER=13
 RULE_INT=9
 RULE_REAL=5
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABaseLexer.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABaseLexer.java
index 731aba9..aeca570 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABaseLexer.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABaseLexer.java
@@ -14,66 +14,78 @@
 public class InternalABaseLexer extends Lexer {
     public static final int RULE_ID=8;
     public static final int RULE_STRING=6;
+    public static final int T__15=15;
+    public static final int T__14=14;
     public static final int RULE_ANY_OTHER=13;
     public static final int RULE_INT=9;
     public static final int RULE_REAL=5;
-    public static final int T14=14;
-    public static final int T15=15;
     public static final int RULE_WS=12;
-    public static final int Tokens=16;
     public static final int RULE_DESC_STRING=7;
     public static final int RULE_SL_COMMENT=11;
     public static final int EOF=-1;
     public static final int RULE_INTEGER=4;
     public static final int RULE_ML_COMMENT=10;
+
+    // delegates
+    // delegators
+
     public InternalABaseLexer() {;} 
     public InternalABaseLexer(CharStream input) {
-        super(input);
+        this(input, new RecognizerSharedState());
+    }
+    public InternalABaseLexer(CharStream input, RecognizerSharedState state) {
+        super(input,state);
+
     }
     public String getGrammarFileName() { return "../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g"; }
 
-    // $ANTLR start T14
-    public final void mT14() throws RecognitionException {
+    // $ANTLR start "T__14"
+    public final void mT__14() throws RecognitionException {
         try {
-            int _type = T14;
-            // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:10:5: ( 'true' )
-            // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:10:7: 'true'
+            int _type = T__14;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:11:7: ( 'true' )
+            // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:11:9: 'true'
             {
             match("true"); 
 
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end T14
+    // $ANTLR end "T__14"
 
-    // $ANTLR start T15
-    public final void mT15() throws RecognitionException {
+    // $ANTLR start "T__15"
+    public final void mT__15() throws RecognitionException {
         try {
-            int _type = T15;
-            // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:11:5: ( 'false' )
-            // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:11:7: 'false'
+            int _type = T__15;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:12:7: ( 'false' )
+            // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:12:9: 'false'
             {
             match("false"); 
 
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end T15
+    // $ANTLR end "T__15"
 
-    // $ANTLR start RULE_INTEGER
+    // $ANTLR start "RULE_INTEGER"
     public final void mRULE_INTEGER() throws RecognitionException {
         try {
             int _type = RULE_INTEGER;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:342:14: ( ( '-' )? ( '0' .. '9' )+ )
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:342:16: ( '-' )? ( '0' .. '9' )+
             {
@@ -128,17 +140,19 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_INTEGER
+    // $ANTLR end "RULE_INTEGER"
 
-    // $ANTLR start RULE_REAL
+    // $ANTLR start "RULE_REAL"
     public final void mRULE_REAL() throws RecognitionException {
         try {
             int _type = RULE_REAL;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:344:11: ( ( '-' )? ( '0' .. '9' )* '.' ( '0' .. '9' )* )
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:344:13: ( '-' )? ( '0' .. '9' )* '.' ( '0' .. '9' )*
             {
@@ -214,17 +228,19 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_REAL
+    // $ANTLR end "RULE_REAL"
 
-    // $ANTLR start RULE_DESC_STRING
+    // $ANTLR start "RULE_DESC_STRING"
     public final void mRULE_DESC_STRING() throws RecognitionException {
         try {
             int _type = RULE_DESC_STRING;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:346:18: ( '\\u00AB' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' ) | ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) ) )* '\\u00BB' )
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:346:20: '\\u00AB' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' ) | ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) ) )* '\\u00BB'
             {
@@ -238,7 +254,7 @@
                 if ( (LA6_0=='\\') ) {
                     alt6=1;
                 }
-                else if ( ((LA6_0>='\u0000' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\u00AA')||(LA6_0>='\u00AC' && LA6_0<='\u00BA')||(LA6_0>='\u00BC' && LA6_0<='\uFFFE')) ) {
+                else if ( ((LA6_0>='\u0000' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\u00AA')||(LA6_0>='\u00AC' && LA6_0<='\u00BA')||(LA6_0>='\u00BC' && LA6_0<='\uFFFF')) ) {
                     alt6=2;
                 }
 
@@ -253,10 +269,9 @@
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
@@ -264,15 +279,14 @@
             	case 2 :
             	    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:346:80: ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) )
             	    {
-            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\u00BA')||(input.LA(1)>='\u00BC' && input.LA(1)<='\uFFFE') ) {
+            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\u00BA')||(input.LA(1)>='\u00BC' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
@@ -287,17 +301,19 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_DESC_STRING
+    // $ANTLR end "RULE_DESC_STRING"
 
-    // $ANTLR start RULE_ID
+    // $ANTLR start "RULE_ID"
     public final void mRULE_ID() throws RecognitionException {
         try {
             int _type = RULE_ID;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:348:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:348:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
@@ -324,10 +340,9 @@
 
             }
             else {
-                MismatchedSetException mse =
-                    new MismatchedSetException(null,input);
-                recover(mse);    throw mse;
-            }
+                MismatchedSetException mse = new MismatchedSetException(null,input);
+                recover(mse);
+                throw mse;}
 
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:348:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             loop8:
@@ -349,10 +364,9 @@
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
@@ -366,17 +380,19 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_ID
+    // $ANTLR end "RULE_ID"
 
-    // $ANTLR start RULE_INT
+    // $ANTLR start "RULE_INT"
     public final void mRULE_INT() throws RecognitionException {
         try {
             int _type = RULE_INT;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:350:10: ( ( '0' .. '9' )+ )
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:350:12: ( '0' .. '9' )+
             {
@@ -413,21 +429,23 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_INT
+    // $ANTLR end "RULE_INT"
 
-    // $ANTLR start RULE_STRING
+    // $ANTLR start "RULE_STRING"
     public final void mRULE_STRING() throws RecognitionException {
         try {
             int _type = RULE_STRING;
-            // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             int alt12=2;
             int LA12_0 = input.LA(1);
 
@@ -439,16 +457,16 @@
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("352:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )", 12, 0, input);
+                    new NoViableAltException("", 12, 0, input);
 
                 throw nvae;
             }
             switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+                    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                     loop10:
                     do {
                         int alt10=3;
@@ -457,41 +475,39 @@
                         if ( (LA10_0=='\\') ) {
                             alt10=1;
                         }
-                        else if ( ((LA10_0>='\u0000' && LA10_0<='!')||(LA10_0>='#' && LA10_0<='[')||(LA10_0>=']' && LA10_0<='\uFFFE')) ) {
+                        else if ( ((LA10_0>='\u0000' && LA10_0<='!')||(LA10_0>='#' && LA10_0<='[')||(LA10_0>=']' && LA10_0<='\uFFFF')) ) {
                             alt10=2;
                         }
 
 
                         switch (alt10) {
                     	case 1 :
-                    	    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                     	    {
                     	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
+                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
                     	        input.consume();
 
                     	    }
                     	    else {
-                    	        MismatchedSetException mse =
-                    	            new MismatchedSetException(null,input);
-                    	        recover(mse);    throw mse;
-                    	    }
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:62: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:66: ~ ( ( '\\\\' | '\"' ) )
                     	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
+                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
 
                     	    }
                     	    else {
-                    	        MismatchedSetException mse =
-                    	            new MismatchedSetException(null,input);
-                    	        recover(mse);    throw mse;
-                    	    }
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
 
 
                     	    }
@@ -507,10 +523,10 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:82: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:87: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                     loop11:
                     do {
                         int alt11=3;
@@ -519,41 +535,39 @@
                         if ( (LA11_0=='\\') ) {
                             alt11=1;
                         }
-                        else if ( ((LA11_0>='\u0000' && LA11_0<='&')||(LA11_0>='(' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFE')) ) {
+                        else if ( ((LA11_0>='\u0000' && LA11_0<='&')||(LA11_0>='(' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFF')) ) {
                             alt11=2;
                         }
 
 
                         switch (alt11) {
                     	case 1 :
-                    	    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:88: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                     	    {
                     	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
+                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
                     	        input.consume();
 
                     	    }
                     	    else {
-                    	        MismatchedSetException mse =
-                    	            new MismatchedSetException(null,input);
-                    	        recover(mse);    throw mse;
-                    	    }
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:129: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:352:137: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
+                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
 
                     	    }
                     	    else {
-                    	        MismatchedSetException mse =
-                    	            new MismatchedSetException(null,input);
-                    	        recover(mse);    throw mse;
-                    	    }
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
 
 
                     	    }
@@ -574,17 +588,19 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_STRING
+    // $ANTLR end "RULE_STRING"
 
-    // $ANTLR start RULE_ML_COMMENT
+    // $ANTLR start "RULE_ML_COMMENT"
     public final void mRULE_ML_COMMENT() throws RecognitionException {
         try {
             int _type = RULE_ML_COMMENT;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:354:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:354:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
@@ -602,13 +618,13 @@
                     if ( (LA13_1=='/') ) {
                         alt13=2;
                     }
-                    else if ( ((LA13_1>='\u0000' && LA13_1<='.')||(LA13_1>='0' && LA13_1<='\uFFFE')) ) {
+                    else if ( ((LA13_1>='\u0000' && LA13_1<='.')||(LA13_1>='0' && LA13_1<='\uFFFF')) ) {
                         alt13=1;
                     }
 
 
                 }
-                else if ( ((LA13_0>='\u0000' && LA13_0<=')')||(LA13_0>='+' && LA13_0<='\uFFFE')) ) {
+                else if ( ((LA13_0>='\u0000' && LA13_0<=')')||(LA13_0>='+' && LA13_0<='\uFFFF')) ) {
                     alt13=1;
                 }
 
@@ -632,17 +648,19 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_ML_COMMENT
+    // $ANTLR end "RULE_ML_COMMENT"
 
-    // $ANTLR start RULE_SL_COMMENT
+    // $ANTLR start "RULE_SL_COMMENT"
     public final void mRULE_SL_COMMENT() throws RecognitionException {
         try {
             int _type = RULE_SL_COMMENT;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:356:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:356:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
@@ -654,7 +672,7 @@
                 int alt14=2;
                 int LA14_0 = input.LA(1);
 
-                if ( ((LA14_0>='\u0000' && LA14_0<='\t')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\uFFFE')) ) {
+                if ( ((LA14_0>='\u0000' && LA14_0<='\t')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\uFFFF')) ) {
                     alt14=1;
                 }
 
@@ -663,15 +681,14 @@
             	case 1 :
             	    // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:356:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
-            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFE') ) {
+            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
@@ -721,17 +738,19 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_SL_COMMENT
+    // $ANTLR end "RULE_SL_COMMENT"
 
-    // $ANTLR start RULE_WS
+    // $ANTLR start "RULE_WS"
     public final void mRULE_WS() throws RecognitionException {
         try {
             int _type = RULE_WS;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:358:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:358:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
@@ -756,10 +775,9 @@
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
@@ -777,17 +795,19 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_WS
+    // $ANTLR end "RULE_WS"
 
-    // $ANTLR start RULE_ANY_OTHER
+    // $ANTLR start "RULE_ANY_OTHER"
     public final void mRULE_ANY_OTHER() throws RecognitionException {
         try {
             int _type = RULE_ANY_OTHER;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:360:16: ( . )
             // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:360:18: .
             {
@@ -795,97 +815,98 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_ANY_OTHER
+    // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:8: ( T14 | T15 | RULE_INTEGER | RULE_REAL | RULE_DESC_STRING | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:8: ( T__14 | T__15 | RULE_INTEGER | RULE_REAL | RULE_DESC_STRING | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
         int alt18=12;
         alt18 = dfa18.predict(input);
         switch (alt18) {
             case 1 :
-                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:10: T14
+                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:10: T__14
                 {
-                mT14(); 
+                mT__14(); 
 
                 }
                 break;
             case 2 :
-                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:14: T15
+                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:16: T__15
                 {
-                mT15(); 
+                mT__15(); 
 
                 }
                 break;
             case 3 :
-                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:18: RULE_INTEGER
+                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:22: RULE_INTEGER
                 {
                 mRULE_INTEGER(); 
 
                 }
                 break;
             case 4 :
-                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:31: RULE_REAL
+                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:35: RULE_REAL
                 {
                 mRULE_REAL(); 
 
                 }
                 break;
             case 5 :
-                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:41: RULE_DESC_STRING
+                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:45: RULE_DESC_STRING
                 {
                 mRULE_DESC_STRING(); 
 
                 }
                 break;
             case 6 :
-                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:58: RULE_ID
+                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:62: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
             case 7 :
-                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:66: RULE_INT
+                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:70: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
             case 8 :
-                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:75: RULE_STRING
+                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:79: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
             case 9 :
-                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:87: RULE_ML_COMMENT
+                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:91: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
             case 10 :
-                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:103: RULE_SL_COMMENT
+                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:107: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
             case 11 :
-                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:119: RULE_WS
+                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:123: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
             case 12 :
-                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:127: RULE_ANY_OTHER
+                // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:1:131: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -909,29 +930,29 @@
         "\1\165\1\uffff\1\154\1\56\2\uffff\1\56\5\uffff\1\145\1\163\1\60"+
         "\1\145\1\uffff\1\60\1\uffff";
     static final String DFA18_maxS =
-        "\1\ufffe\1\162\1\141\2\71\1\uffff\1\ufffe\1\172\1\uffff\2\ufffe"+
+        "\1\uffff\1\162\1\141\2\71\1\uffff\1\uffff\1\172\1\uffff\2\uffff"+
         "\1\57\2\uffff\1\165\1\uffff\1\154\1\71\2\uffff\1\71\5\uffff\1\145"+
         "\1\163\1\172\1\145\1\uffff\1\172\1\uffff";
     static final String DFA18_acceptS =
         "\5\uffff\1\4\2\uffff\1\6\3\uffff\1\13\1\14\1\uffff\1\6\2\uffff\1"+
-        "\4\1\3\1\uffff\1\5\1\10\1\12\1\11\1\13\4\uffff\1\1\1\uffff\1\2";
+        "\4\1\3\1\uffff\1\5\1\10\1\11\1\12\1\13\4\uffff\1\1\1\uffff\1\2";
     static final String DFA18_specialS =
-        "\41\uffff}>";
+        "\1\1\5\uffff\1\2\2\uffff\1\3\1\0\26\uffff}>";
     static final String[] DFA18_transitionS = {
             "\11\15\2\14\2\15\1\14\22\15\1\14\1\15\1\11\4\15\1\12\5\15\1"+
             "\3\1\5\1\13\12\4\7\15\32\10\3\15\1\7\1\10\1\15\5\10\1\2\15\10"+
-            "\1\1\6\10\60\15\1\6\uff53\15",
+            "\1\1\6\10\60\15\1\6\uff54\15",
             "\1\16",
             "\1\20",
             "\1\22\1\uffff\12\21",
             "\1\22\1\uffff\12\24",
             "",
-            "\u00ab\25\1\uffff\uff53\25",
+            "\u00ab\25\1\uffff\uff54\25",
             "\32\17\4\uffff\1\17\1\uffff\32\17",
             "",
-            "\uffff\26",
-            "\uffff\26",
-            "\1\30\4\uffff\1\27",
+            "\0\26",
+            "\0\26",
+            "\1\27\4\uffff\1\30",
             "",
             "",
             "\1\32",
@@ -985,7 +1006,79 @@
             this.transition = DFA18_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T14 | T15 | RULE_INTEGER | RULE_REAL | RULE_DESC_STRING | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( T__14 | T__15 | RULE_INTEGER | RULE_REAL | RULE_DESC_STRING | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            IntStream input = _input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA18_10 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA18_10>='\u0000' && LA18_10<='\uFFFF')) ) {s = 22;}
+
+                        else s = 13;
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA18_0 = input.LA(1);
+
+                        s = -1;
+                        if ( (LA18_0=='t') ) {s = 1;}
+
+                        else if ( (LA18_0=='f') ) {s = 2;}
+
+                        else if ( (LA18_0=='-') ) {s = 3;}
+
+                        else if ( ((LA18_0>='0' && LA18_0<='9')) ) {s = 4;}
+
+                        else if ( (LA18_0=='.') ) {s = 5;}
+
+                        else if ( (LA18_0=='\u00AB') ) {s = 6;}
+
+                        else if ( (LA18_0=='^') ) {s = 7;}
+
+                        else if ( ((LA18_0>='A' && LA18_0<='Z')||LA18_0=='_'||(LA18_0>='a' && LA18_0<='e')||(LA18_0>='g' && LA18_0<='s')||(LA18_0>='u' && LA18_0<='z')) ) {s = 8;}
+
+                        else if ( (LA18_0=='\"') ) {s = 9;}
+
+                        else if ( (LA18_0=='\'') ) {s = 10;}
+
+                        else if ( (LA18_0=='/') ) {s = 11;}
+
+                        else if ( ((LA18_0>='\t' && LA18_0<='\n')||LA18_0=='\r'||LA18_0==' ') ) {s = 12;}
+
+                        else if ( ((LA18_0>='\u0000' && LA18_0<='\b')||(LA18_0>='\u000B' && LA18_0<='\f')||(LA18_0>='\u000E' && LA18_0<='\u001F')||LA18_0=='!'||(LA18_0>='#' && LA18_0<='&')||(LA18_0>='(' && LA18_0<=',')||(LA18_0>=':' && LA18_0<='@')||(LA18_0>='[' && LA18_0<=']')||LA18_0=='`'||(LA18_0>='{' && LA18_0<='\u00AA')||(LA18_0>='\u00AC' && LA18_0<='\uFFFF')) ) {s = 13;}
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA18_6 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA18_6>='\u0000' && LA18_6<='\u00AA')||(LA18_6>='\u00AC' && LA18_6<='\uFFFF')) ) {s = 21;}
+
+                        else s = 13;
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 3 : 
+                        int LA18_9 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA18_9>='\u0000' && LA18_9<='\uFFFF')) ) {s = 22;}
+
+                        else s = 13;
+
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 18, _s, input);
+            error(nvae);
+            throw nvae;
         }
     }
  
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABaseParser.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABaseParser.java
index 3e34ee1..16a799f 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABaseParser.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABaseParser.java
@@ -27,22 +27,32 @@
     };
     public static final int RULE_ID=8;
     public static final int RULE_STRING=6;
+    public static final int T__15=15;
+    public static final int T__14=14;
     public static final int RULE_ANY_OTHER=13;
     public static final int RULE_INT=9;
     public static final int RULE_REAL=5;
     public static final int RULE_WS=12;
     public static final int RULE_SL_COMMENT=11;
-    public static final int EOF=-1;
     public static final int RULE_DESC_STRING=7;
+    public static final int EOF=-1;
     public static final int RULE_INTEGER=4;
     public static final int RULE_ML_COMMENT=10;
 
+    // delegates
+    // delegators
+
+
         public InternalABaseParser(TokenStream input) {
-            super(input);
+            this(input, new RecognizerSharedState());
+        }
+        public InternalABaseParser(TokenStream input, RecognizerSharedState state) {
+            super(input, state);
+             
         }
         
 
-    public String[] getTokenNames() { return tokenNames; }
+    public String[] getTokenNames() { return InternalABaseParser.tokenNames; }
     public String getGrammarFileName() { return "../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g"; }
 
 
@@ -66,7 +76,7 @@
 
 
 
-    // $ANTLR start entryRuleValue
+    // $ANTLR start "entryRuleValue"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:61:1: entryRuleValue : ruleValue EOF ;
     public final void entryRuleValue() throws RecognitionException {
         try {
@@ -76,7 +86,8 @@
              before(grammarAccess.getValueRule()); 
             pushFollow(FOLLOW_ruleValue_in_entryRuleValue61);
             ruleValue();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getValueRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleValue68); 
@@ -92,10 +103,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleValue
+    // $ANTLR end "entryRuleValue"
 
 
-    // $ANTLR start ruleValue
+    // $ANTLR start "ruleValue"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:70:1: ruleValue : ( ( rule__Value__Alternatives ) ) ;
     public final void ruleValue() throws RecognitionException {
 
@@ -114,7 +125,8 @@
             {
             pushFollow(FOLLOW_rule__Value__Alternatives_in_ruleValue94);
             rule__Value__Alternatives();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -138,10 +150,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleValue
+    // $ANTLR end "ruleValue"
 
 
-    // $ANTLR start entryRuleIntValue
+    // $ANTLR start "entryRuleIntValue"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:89:1: entryRuleIntValue : ruleIntValue EOF ;
     public final void entryRuleIntValue() throws RecognitionException {
         try {
@@ -151,7 +163,8 @@
              before(grammarAccess.getIntValueRule()); 
             pushFollow(FOLLOW_ruleIntValue_in_entryRuleIntValue121);
             ruleIntValue();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getIntValueRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleIntValue128); 
@@ -167,10 +180,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleIntValue
+    // $ANTLR end "entryRuleIntValue"
 
 
-    // $ANTLR start ruleIntValue
+    // $ANTLR start "ruleIntValue"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:98:1: ruleIntValue : ( ( rule__IntValue__ValueAssignment ) ) ;
     public final void ruleIntValue() throws RecognitionException {
 
@@ -189,7 +202,8 @@
             {
             pushFollow(FOLLOW_rule__IntValue__ValueAssignment_in_ruleIntValue154);
             rule__IntValue__ValueAssignment();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -213,10 +227,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleIntValue
+    // $ANTLR end "ruleIntValue"
 
 
-    // $ANTLR start entryRuleRealValue
+    // $ANTLR start "entryRuleRealValue"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:117:1: entryRuleRealValue : ruleRealValue EOF ;
     public final void entryRuleRealValue() throws RecognitionException {
         try {
@@ -226,7 +240,8 @@
              before(grammarAccess.getRealValueRule()); 
             pushFollow(FOLLOW_ruleRealValue_in_entryRuleRealValue181);
             ruleRealValue();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getRealValueRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleRealValue188); 
@@ -242,10 +257,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleRealValue
+    // $ANTLR end "entryRuleRealValue"
 
 
-    // $ANTLR start ruleRealValue
+    // $ANTLR start "ruleRealValue"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:126:1: ruleRealValue : ( ( rule__RealValue__ValueAssignment ) ) ;
     public final void ruleRealValue() throws RecognitionException {
 
@@ -264,7 +279,8 @@
             {
             pushFollow(FOLLOW_rule__RealValue__ValueAssignment_in_ruleRealValue214);
             rule__RealValue__ValueAssignment();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -288,10 +304,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleRealValue
+    // $ANTLR end "ruleRealValue"
 
 
-    // $ANTLR start entryRuleStringValue
+    // $ANTLR start "entryRuleStringValue"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:145:1: entryRuleStringValue : ruleStringValue EOF ;
     public final void entryRuleStringValue() throws RecognitionException {
         try {
@@ -301,7 +317,8 @@
              before(grammarAccess.getStringValueRule()); 
             pushFollow(FOLLOW_ruleStringValue_in_entryRuleStringValue241);
             ruleStringValue();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getStringValueRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleStringValue248); 
@@ -317,10 +334,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleStringValue
+    // $ANTLR end "entryRuleStringValue"
 
 
-    // $ANTLR start ruleStringValue
+    // $ANTLR start "ruleStringValue"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:154:1: ruleStringValue : ( ( rule__StringValue__ValueAssignment ) ) ;
     public final void ruleStringValue() throws RecognitionException {
 
@@ -339,7 +356,8 @@
             {
             pushFollow(FOLLOW_rule__StringValue__ValueAssignment_in_ruleStringValue274);
             rule__StringValue__ValueAssignment();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -363,10 +381,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleStringValue
+    // $ANTLR end "ruleStringValue"
 
 
-    // $ANTLR start entryRuleBooleanValue
+    // $ANTLR start "entryRuleBooleanValue"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:173:1: entryRuleBooleanValue : ruleBooleanValue EOF ;
     public final void entryRuleBooleanValue() throws RecognitionException {
         try {
@@ -376,7 +394,8 @@
              before(grammarAccess.getBooleanValueRule()); 
             pushFollow(FOLLOW_ruleBooleanValue_in_entryRuleBooleanValue301);
             ruleBooleanValue();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getBooleanValueRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanValue308); 
@@ -392,10 +411,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleBooleanValue
+    // $ANTLR end "entryRuleBooleanValue"
 
 
-    // $ANTLR start ruleBooleanValue
+    // $ANTLR start "ruleBooleanValue"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:182:1: ruleBooleanValue : ( ( rule__BooleanValue__ValueAssignment ) ) ;
     public final void ruleBooleanValue() throws RecognitionException {
 
@@ -414,7 +433,8 @@
             {
             pushFollow(FOLLOW_rule__BooleanValue__ValueAssignment_in_ruleBooleanValue334);
             rule__BooleanValue__ValueAssignment();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -438,10 +458,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleBooleanValue
+    // $ANTLR end "ruleBooleanValue"
 
 
-    // $ANTLR start ruleBOOLEAN
+    // $ANTLR start "ruleBOOLEAN"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:202:1: ruleBOOLEAN : ( ( rule__BOOLEAN__Alternatives ) ) ;
     public final void ruleBOOLEAN() throws RecognitionException {
 
@@ -460,7 +480,8 @@
             {
             pushFollow(FOLLOW_rule__BOOLEAN__Alternatives_in_ruleBOOLEAN371);
             rule__BOOLEAN__Alternatives();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -484,10 +505,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleBOOLEAN
+    // $ANTLR end "ruleBOOLEAN"
 
 
-    // $ANTLR start rule__Value__Alternatives
+    // $ANTLR start "rule__Value__Alternatives"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:220:1: rule__Value__Alternatives : ( ( ruleIntValue ) | ( ruleStringValue ) | ( ruleRealValue ) | ( ruleBooleanValue ) );
     public final void rule__Value__Alternatives() throws RecognitionException {
 
@@ -520,7 +541,7 @@
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("220:1: rule__Value__Alternatives : ( ( ruleIntValue ) | ( ruleStringValue ) | ( ruleRealValue ) | ( ruleBooleanValue ) );", 1, 0, input);
+                    new NoViableAltException("", 1, 0, input);
 
                 throw nvae;
             }
@@ -535,7 +556,8 @@
                      before(grammarAccess.getValueAccess().getIntValueParserRuleCall_0()); 
                     pushFollow(FOLLOW_ruleIntValue_in_rule__Value__Alternatives406);
                     ruleIntValue();
-                    _fsp--;
+
+                    state._fsp--;
 
                      after(grammarAccess.getValueAccess().getIntValueParserRuleCall_0()); 
 
@@ -553,7 +575,8 @@
                      before(grammarAccess.getValueAccess().getStringValueParserRuleCall_1()); 
                     pushFollow(FOLLOW_ruleStringValue_in_rule__Value__Alternatives423);
                     ruleStringValue();
-                    _fsp--;
+
+                    state._fsp--;
 
                      after(grammarAccess.getValueAccess().getStringValueParserRuleCall_1()); 
 
@@ -571,7 +594,8 @@
                      before(grammarAccess.getValueAccess().getRealValueParserRuleCall_2()); 
                     pushFollow(FOLLOW_ruleRealValue_in_rule__Value__Alternatives440);
                     ruleRealValue();
-                    _fsp--;
+
+                    state._fsp--;
 
                      after(grammarAccess.getValueAccess().getRealValueParserRuleCall_2()); 
 
@@ -589,7 +613,8 @@
                      before(grammarAccess.getValueAccess().getBooleanValueParserRuleCall_3()); 
                     pushFollow(FOLLOW_ruleBooleanValue_in_rule__Value__Alternatives457);
                     ruleBooleanValue();
-                    _fsp--;
+
+                    state._fsp--;
 
                      after(grammarAccess.getValueAccess().getBooleanValueParserRuleCall_3()); 
 
@@ -612,10 +637,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Value__Alternatives
+    // $ANTLR end "rule__Value__Alternatives"
 
 
-    // $ANTLR start rule__BOOLEAN__Alternatives
+    // $ANTLR start "rule__BOOLEAN__Alternatives"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:254:1: rule__BOOLEAN__Alternatives : ( ( ( 'true' ) ) | ( ( 'false' ) ) );
     public final void rule__BOOLEAN__Alternatives() throws RecognitionException {
 
@@ -634,7 +659,7 @@
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("254:1: rule__BOOLEAN__Alternatives : ( ( ( 'true' ) ) | ( ( 'false' ) ) );", 2, 0, input);
+                    new NoViableAltException("", 2, 0, input);
 
                 throw nvae;
             }
@@ -695,10 +720,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__BOOLEAN__Alternatives
+    // $ANTLR end "rule__BOOLEAN__Alternatives"
 
 
-    // $ANTLR start rule__IntValue__ValueAssignment
+    // $ANTLR start "rule__IntValue__ValueAssignment"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:281:1: rule__IntValue__ValueAssignment : ( RULE_INTEGER ) ;
     public final void rule__IntValue__ValueAssignment() throws RecognitionException {
 
@@ -732,10 +757,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__IntValue__ValueAssignment
+    // $ANTLR end "rule__IntValue__ValueAssignment"
 
 
-    // $ANTLR start rule__RealValue__ValueAssignment
+    // $ANTLR start "rule__RealValue__ValueAssignment"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:296:1: rule__RealValue__ValueAssignment : ( RULE_REAL ) ;
     public final void rule__RealValue__ValueAssignment() throws RecognitionException {
 
@@ -769,10 +794,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__RealValue__ValueAssignment
+    // $ANTLR end "rule__RealValue__ValueAssignment"
 
 
-    // $ANTLR start rule__StringValue__ValueAssignment
+    // $ANTLR start "rule__StringValue__ValueAssignment"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:311:1: rule__StringValue__ValueAssignment : ( RULE_STRING ) ;
     public final void rule__StringValue__ValueAssignment() throws RecognitionException {
 
@@ -806,10 +831,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__StringValue__ValueAssignment
+    // $ANTLR end "rule__StringValue__ValueAssignment"
 
 
-    // $ANTLR start rule__BooleanValue__ValueAssignment
+    // $ANTLR start "rule__BooleanValue__ValueAssignment"
     // ../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g:326:1: rule__BooleanValue__ValueAssignment : ( ruleBOOLEAN ) ;
     public final void rule__BooleanValue__ValueAssignment() throws RecognitionException {
 
@@ -825,7 +850,8 @@
              before(grammarAccess.getBooleanValueAccess().getValueBOOLEANEnumRuleCall_0()); 
             pushFollow(FOLLOW_ruleBOOLEAN_in_rule__BooleanValue__ValueAssignment642);
             ruleBOOLEAN();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getBooleanValueAccess().getValueBOOLEANEnumRuleCall_0()); 
 
@@ -846,7 +872,9 @@
         }
         return ;
     }
-    // $ANTLR end rule__BooleanValue__ValueAssignment
+    // $ANTLR end "rule__BooleanValue__ValueAssignment"
+
+    // Delegated rules
 
 
  
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase__.g b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase__.g
deleted file mode 100644
index 4ff35f1..0000000
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase__.g
+++ /dev/null
@@ -1,43 +0,0 @@
-lexer grammar InternalABase;
-@header {
-package org.eclipse.amp.amf.abase.ui.contentassist.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
-}
-
-T14 : 'true' ;
-T15 : 'false' ;
-
-// $ANTLR src "../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g" 342
-RULE_INTEGER : '-'? ('0'..'9')+;
-
-// $ANTLR src "../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g" 344
-RULE_REAL : '-'? ('0'..'9')* '.' ('0'..'9')*;
-
-// $ANTLR src "../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g" 346
-RULE_DESC_STRING : '\u00AB' ('\\' ('b'|'t'|'n'|'f'|'r'|'\u00AB'|'\u00BB'|'\\')|~(('\\'|'\u00AB'|'\u00BB')))* '\u00BB';
-
-// $ANTLR src "../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g" 348
-RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
-
-// $ANTLR src "../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g" 350
-RULE_INT : ('0'..'9')+;
-
-// $ANTLR src "../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g" 352
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
-
-// $ANTLR src "../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g" 354
-RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
-
-// $ANTLR src "../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g" 356
-RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
-
-// $ANTLR src "../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g" 358
-RULE_WS : (' '|'\t'|'\r'|'\n')+;
-
-// $ANTLR src "../org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/contentassist/antlr/internal/InternalABase.g" 360
-RULE_ANY_OTHER : .;
-
-
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/internal/ABaseActivator.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/internal/ABaseActivator.java
index e0af4d0..5d43e98 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/internal/ABaseActivator.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src-gen/org/eclipse/amp/amf/abase/ui/internal/ABaseActivator.java
@@ -1,71 +1,82 @@
-
 /*
  * generated by Xtext
  */
 package org.eclipse.amp.amf.abase.ui.internal;
 
-import java.util.HashMap;
-import java.util.Map;
+import static com.google.inject.util.Modules.override;
+import static com.google.inject.Guice.createInjector;
+
+import org.apache.log4j.Logger;
 
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.osgi.framework.BundleContext;
 
-import com.google.inject.Guice;
 import com.google.inject.Injector;
 import com.google.inject.Module;
-import com.google.inject.util.Modules;
+
+import java.util.Map;
+import java.util.HashMap;
 
 /**
- * Generated
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass. 
  */
 public class ABaseActivator extends AbstractUIPlugin {
 
-    private Map<String,Injector> injectors = new HashMap<String,Injector>();
-    private static ABaseActivator INSTANCE;
+	private Map<String,Injector> injectors = new HashMap<String,Injector>();
+	private static ABaseActivator INSTANCE;
 
-    public Injector getInjector(String languageName) {
-        return injectors.get(languageName);
-    }
-
-    @Override
-    public void start(BundleContext context) throws Exception {
-        super.start(context);
-        INSTANCE = this;
-        try {
-
-            injectors.put("org.eclipse.amp.amf.abase.ABase", Guice.createInjector(
-                                                                                  Modules.override(Modules.override(getRuntimeModule("org.eclipse.amp.amf.abase.ABase")).with(getUiModule("org.eclipse.amp.amf.abase.ABase"))).with(getSharedStateModule())
-            ));
-
-        } catch (Exception e) {
-            // Logger.getLogger(getClass()).error(e.getMessage(), e);
-            throw e;
-        }
-    }
-
-    public static ABaseActivator getInstance() {
-        return INSTANCE;
-    }
-
-    protected Module getRuntimeModule(String grammar) {
-
-        if ("org.eclipse.amp.amf.abase.ABase".equals(grammar)) {
-            return new org.eclipse.amp.amf.abase.ABaseRuntimeModule();
-        }
-
-        throw new IllegalArgumentException(grammar);
-    }
-    protected Module getUiModule(String grammar) {
-
-        if ("org.eclipse.amp.amf.abase.ABase".equals(grammar)) {
-            return new org.eclipse.amp.amf.abase.ui.ABaseUiModule(this);
-        }
-
-        throw new IllegalArgumentException(grammar);
-    }
-
-    protected Module getSharedStateModule() {
-        return new org.eclipse.xtext.ui.shared.SharedStateModule();
-    }
-
+	public Injector getInjector(String languageName) {
+		return injectors.get(languageName);
+	}
+	
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		INSTANCE = this;
+		try {
+			registerInjectorFor("org.eclipse.amp.amf.abase.ABase");
+			
+		} catch (Exception e) {
+			Logger.getLogger(getClass()).error(e.getMessage(), e);
+			throw e;
+		}
+	}
+	
+	protected void registerInjectorFor(String language) throws Exception {
+		injectors.put(language, createInjector(
+		  override(override(getRuntimeModule(language)).with(getSharedStateModule())).with(getUiModule(language))));
+	}
+	
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		injectors.clear();
+		INSTANCE = null;
+		super.stop(context);
+	}
+	
+	public static ABaseActivator getInstance() {
+		return INSTANCE;
+	}
+	
+	protected Module getRuntimeModule(String grammar) {
+		if ("org.eclipse.amp.amf.abase.ABase".equals(grammar)) {
+		  return new org.eclipse.amp.amf.abase.ABaseRuntimeModule();
+		}
+		
+		throw new IllegalArgumentException(grammar);
+	}
+	
+	protected Module getUiModule(String grammar) {
+		if ("org.eclipse.amp.amf.abase.ABase".equals(grammar)) {
+		  return new org.eclipse.amp.amf.abase.ui.ABaseUiModule(this);
+		}
+		
+		throw new IllegalArgumentException(grammar);
+	}
+	
+	protected Module getSharedStateModule() {
+		return new org.eclipse.xtext.ui.shared.SharedStateModule();
+	}
+	
 }
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src/org/eclipse/amp/amf/abase/ui/outline/ABaseOutlineNodeAdapterFactory.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src/org/eclipse/amp/amf/abase/ui/outline/ABaseOutlineNodeAdapterFactory.java
deleted file mode 100644
index 9a9eb69..0000000
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src/org/eclipse/amp/amf/abase/ui/outline/ABaseOutlineNodeAdapterFactory.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.eclipse.amp.amf.abase.ui.outline;
-
-import org.eclipse.xtext.ui.editor.outline.actions.DefaultContentOutlineNodeAdapterFactory;
-
-public class ABaseOutlineNodeAdapterFactory extends DefaultContentOutlineNodeAdapterFactory {
-
-	private static final Class<?>[] types = { 
-		// provide list of classes to adapt to, e.g.:
-		// Entity.class
-		// Service.class
-	};
-
-	@Override
-	public Class<?>[] getAdapterList() {
-		return types;
-	}
-
-}
-
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src/org/eclipse/amp/amf/abase/ui/outline/ABaseOutlineTreeProvider.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src/org/eclipse/amp/amf/abase/ui/outline/ABaseOutlineTreeProvider.java
new file mode 100644
index 0000000..dbc9d9a
--- /dev/null
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src/org/eclipse/amp/amf/abase/ui/outline/ABaseOutlineTreeProvider.java
@@ -0,0 +1,14 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.amp.amf.abase.ui.outline;
+
+import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
+
+/**
+ * customization of the default outline structure
+ * 
+ */
+public class ABaseOutlineTreeProvider extends DefaultOutlineTreeProvider {
+	
+}
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src/org/eclipse/amp/amf/abase/ui/outline/ABaseTransformer.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src/org/eclipse/amp/amf/abase/ui/outline/ABaseTransformer.java
deleted file mode 100644
index bc56cc6..0000000
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase.ui/src/org/eclipse/amp/amf/abase/ui/outline/ABaseTransformer.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.eclipse.amp.amf.abase.ui.outline;
-
-import org.eclipse.xtext.ui.editor.outline.transformer.AbstractDeclarativeSemanticModelTransformer;
-
-/**
- * customization of the default outline structure
- * 
- */
-public class ABaseTransformer extends AbstractDeclarativeSemanticModelTransformer {
-	
-}
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/.antlr-generator-3.2.0.jar b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/.antlr-generator-3.2.0.jar
new file mode 100644
index 0000000..4243492
--- /dev/null
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/.antlr-generator-3.2.0.jar
Binary files differ
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/.classpath b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/.classpath
index 59cf397..475e827 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/.classpath
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/.classpath
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
+	<classpathentry kind="src" path="xtend-gen"/>
 	<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"/>
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/.project b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/.project
index 9537ff9..f470e2d 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/.project
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/.project
@@ -21,11 +21,6 @@
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.xtext.ui.core.xtextBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
 			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
 			<arguments>
 			</arguments>
@@ -34,7 +29,6 @@
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.xtext.ui.core.xtextNature</nature>
 		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
 	</natures>
 </projectDescription>
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/META-INF/MANIFEST.MF
index 671624e..fa51a88 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/META-INF/MANIFEST.MF
@@ -1,38 +1,39 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Version: 0.8.1.qualifier
-Bundle-SymbolicName: org.eclipse.amp.amf.abase;singleton:=true
-Eclipse-RegisterBuddy: org.eclipse.xtext.log4j
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.xtext,
- org.eclipse.xtext.generator;resolution:=optional,
- de.itemis.xtext.antlr;resolution:=optional,
- org.apache.commons.logging;resolution:=optional,
- org.eclipse.emf.codegen.ecore;resolution:=optional,
- org.eclipse.emf.mwe.core;resolution:=optional,
- com.ibm.icu;resolution:=optional,
- org.eclipse.xtext.xtend;resolution:=optional,
- org.eclipse.emf.ecore,
- org.eclipse.emf.common,
- org.eclipse.xtext.util,
- org.antlr.runtime,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.emf.mwe.utils,
- org.eclipse.emf.mwe2.launch;resolution:=optional
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.amp.amf.abase,
- org.eclipse.amp.amf.abase.aBase,
- org.eclipse.amp.amf.abase.aBase.impl,
- org.eclipse.amp.amf.abase.aBase.util,
- org.eclipse.amp.amf.abase.formatting,
- org.eclipse.amp.amf.abase.parseTreeConstruction,
- org.eclipse.amp.amf.abase.parser.antlr,
- org.eclipse.amp.amf.abase.parser.antlr.internal,
- org.eclipse.amp.amf.abase.scoping,
- org.eclipse.amp.amf.abase.services,
- org.eclipse.amp.amf.abase.validation
-Bundle-ClassPath: .
-Bundle-Localization: plugin
+Manifest-Version: 1.0

+Bundle-ManifestVersion: 2

+Bundle-Name: %pluginName

+Bundle-Vendor: %providerName

+Bundle-Version: 0.8.5.qualifier

+Bundle-SymbolicName: org.eclipse.amp.amf.abase;singleton:=true

+Bundle-ActivationPolicy: lazy

+Require-Bundle: org.eclipse.xtext;bundle-version="2.0.0";visibility:=reexport,

+ org.apache.log4j;bundle-version="1.2.15";visibility:=reexport,

+ org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional;visibility:=reexport,

+ org.eclipse.xtext.generator;resolution:=optional,

+ org.eclipse.emf.codegen.ecore;resolution:=optional,

+ org.eclipse.emf.mwe.utils;resolution:=optional,

+ org.eclipse.emf.mwe2.launch;resolution:=optional,

+ org.eclipse.xtext.util,

+ org.eclipse.emf.ecore,

+ org.eclipse.emf.common,

+ org.antlr.runtime,

+ org.eclipse.xtext.common.types,

+ org.eclipse.core.runtime,

+ org.eclipse.core.resources

+Import-Package: org.apache.log4j,

+ org.apache.commons.logging,

+ org.eclipse.xtext.xbase.lib,

+ org.eclipse.xtext.xtend2.lib

+Bundle-RequiredExecutionEnvironment: J2SE-1.5

+Export-Package: org.eclipse.amp.amf.abase,

+ org.eclipse.amp.amf.abase.aBase,

+ org.eclipse.amp.amf.abase.aBase.impl,

+ org.eclipse.amp.amf.abase.aBase.util,

+ org.eclipse.amp.amf.abase.formatting,

+ org.eclipse.amp.amf.abase.parseTreeConstruction,

+ org.eclipse.amp.amf.abase.parser.antlr,

+ org.eclipse.amp.amf.abase.parser.antlr.internal,

+ org.eclipse.amp.amf.abase.scoping,

+ org.eclipse.amp.amf.abase.services,

+ org.eclipse.amp.amf.abase.validation

+Bundle-ClassPath: .

+Bundle-Localization: plugin

diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/build.properties b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/build.properties
index cb8dd2c..54e0376 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/build.properties
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/build.properties
@@ -10,6 +10,7 @@
                plugin.xml_gen,\
                model/
 source.. = src/,\
-           src-gen/
+           src-gen/,\
+           xtend-gen/
 src.includes = about.html
 
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore
index 69250a9..c7bef06 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore
@@ -4,17 +4,17 @@
     xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="aBase"
     nsURI="http://www.eclipse.org/amp/amf/abase/ABase" nsPrefix="aBase">
   <eClassifiers xsi:type="ecore:EClass" name="Value"/>
-  <eClassifiers xsi:type="ecore:EClass" name="IntValue" eSuperTypes="#//Value">
+  <eClassifiers xsi:type="ecore:EClass" name="IntValue" eSuperTypes="platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//Value">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="RealValue" eSuperTypes="#//Value">
+  <eClassifiers xsi:type="ecore:EClass" name="RealValue" eSuperTypes="platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//Value">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="StringValue" eSuperTypes="#//Value">
+  <eClassifiers xsi:type="ecore:EClass" name="StringValue" eSuperTypes="platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//Value">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="BooleanValue" eSuperTypes="#//Value">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//BOOLEAN"/>
+  <eClassifiers xsi:type="ecore:EClass" name="BooleanValue" eSuperTypes="platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//Value">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EEnum platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//BOOLEAN"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EEnum" name="BOOLEAN">
     <eLiterals name="TRUE" literal="true"/>
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.genmodel b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.genmodel
index d347326..3b08e34 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.genmodel
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.genmodel
@@ -8,23 +8,23 @@
     complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.amp.amf.abase.edit"
     editorPluginID="org.eclipse.amp.amf.abase.editor">
   <genPackages prefix="ABase" basePackage="org.eclipse.amp.amf.abase" disposableProviderFactory="true"
-      ecorePackage="ABase.ecore#/">
-    <genEnums typeSafeEnumCompatible="false" ecoreEnum="ABase.ecore#//BOOLEAN">
-      <genEnumLiterals ecoreEnumLiteral="ABase.ecore#//BOOLEAN/TRUE"/>
-      <genEnumLiterals ecoreEnumLiteral="ABase.ecore#//BOOLEAN/FALSE"/>
+      ecorePackage="platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#/">
+    <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//BOOLEAN">
+      <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//BOOLEAN/TRUE"/>
+      <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//BOOLEAN/FALSE"/>
     </genEnums>
-    <genClasses ecoreClass="ABase.ecore#//Value"/>
-    <genClasses ecoreClass="ABase.ecore#//IntValue">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ABase.ecore#//IntValue/value"/>
+    <genClasses ecoreClass="platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//Value"/>
+    <genClasses ecoreClass="platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//IntValue">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//IntValue/value"/>
     </genClasses>
-    <genClasses ecoreClass="ABase.ecore#//RealValue">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ABase.ecore#//RealValue/value"/>
+    <genClasses ecoreClass="platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//RealValue">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//RealValue/value"/>
     </genClasses>
-    <genClasses ecoreClass="ABase.ecore#//StringValue">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ABase.ecore#//StringValue/value"/>
+    <genClasses ecoreClass="platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//StringValue">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//StringValue/value"/>
     </genClasses>
-    <genClasses ecoreClass="ABase.ecore#//BooleanValue">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ABase.ecore#//BooleanValue/value"/>
+    <genClasses ecoreClass="platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//BooleanValue">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//BooleanValue/value"/>
     </genClasses>
   </genPackages>
 </genmodel:GenModel>
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.xmi b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.xmi
index 1b00dff..25e48e2 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.xmi
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.xmi
@@ -189,6 +189,7 @@
                 <elements xsi:type="xtext:Keyword" value="n"/>
                 <elements xsi:type="xtext:Keyword" value="f"/>
                 <elements xsi:type="xtext:Keyword" value="r"/>
+                <elements xsi:type="xtext:Keyword" value="u"/>
                 <elements xsi:type="xtext:Keyword" value="&quot;"/>
                 <elements xsi:type="xtext:Keyword" value="'"/>
                 <elements xsi:type="xtext:Keyword" value="\"/>
@@ -214,6 +215,7 @@
                 <elements xsi:type="xtext:Keyword" value="n"/>
                 <elements xsi:type="xtext:Keyword" value="f"/>
                 <elements xsi:type="xtext:Keyword" value="r"/>
+                <elements xsi:type="xtext:Keyword" value="u"/>
                 <elements xsi:type="xtext:Keyword" value="&quot;"/>
                 <elements xsi:type="xtext:Keyword" value="'"/>
                 <elements xsi:type="xtext:Keyword" value="\"/>
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABaseStandaloneSetupGenerated.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABaseStandaloneSetupGenerated.java
index 4cbee5c..2a7559e 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABaseStandaloneSetupGenerated.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABaseStandaloneSetupGenerated.java
@@ -11,6 +11,7 @@
 /**
  * Generated from StandaloneSetup.xpt!
  */
+@SuppressWarnings("all")
 public class ABaseStandaloneSetupGenerated implements ISetup {
 
 	public Injector createInjectorAndDoEMFRegistration() {
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/AbstractABaseRuntimeModule.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/AbstractABaseRuntimeModule.java
index 166445a..6ffd75c 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/AbstractABaseRuntimeModule.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/AbstractABaseRuntimeModule.java
@@ -1,9 +1,10 @@
-
 /*
  * generated by Xtext
  */
 package org.eclipse.amp.amf.abase;
 
+import java.util.Properties;
+
 import org.eclipse.xtext.Constants;
 import org.eclipse.xtext.service.DefaultRuntimeModule;
 
@@ -13,20 +14,25 @@
 /**
  * Manual modifications go to {org.eclipse.amp.amf.abase.ABaseRuntimeModule}
  */
+ @SuppressWarnings("all")
 public abstract class AbstractABaseRuntimeModule extends DefaultRuntimeModule {
-	
+
+	protected Properties properties = null;
+
 	@Override
 	public void configure(Binder binder) {
+		properties = tryBindProperties(binder, "org/eclipse/amp/amf/abase/ABase.properties");
 		super.configure(binder);
-		binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance(
-			"org.eclipse.amp.amf.abase.ABase");
-		bindProperties(binder);
 	}
 	
-	protected void bindProperties(Binder binder) {
-		bindProperties(binder, "org/eclipse/amp/amf/abase/ABase.properties");
+	public void configureLanguageName(Binder binder) {
+		binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.amp.amf.abase.ABase");
 	}
 	
+	public void configureFileExtensions(Binder binder) {
+		if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null)
+			binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("abase");
+	}
 	
 	// contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
 	public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
@@ -38,37 +44,37 @@
 		return org.eclipse.amp.amf.abase.parseTreeConstruction.ABaseParsetreeConstructor.class;
 	}
 
-	// contributed by de.itemis.xtext.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrParser> bindIAntlrParser() {
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
 		return org.eclipse.amp.amf.abase.parser.antlr.ABaseParser.class;
 	}
 
-	// contributed by de.itemis.xtext.antlr.XtextAntlrGeneratorFragment
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
 	public Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> bindITokenToStringConverter() {
 		return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class;
 	}
 
-	// contributed by de.itemis.xtext.antlr.XtextAntlrGeneratorFragment
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
 	public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
 		return org.eclipse.amp.amf.abase.parser.antlr.ABaseAntlrTokenFileProvider.class;
 	}
 
-	// contributed by de.itemis.xtext.antlr.XtextAntlrGeneratorFragment
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
 	public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
 		return org.eclipse.amp.amf.abase.parser.antlr.internal.InternalABaseLexer.class;
 	}
 
-	// contributed by de.itemis.xtext.antlr.XtextAntlrGeneratorFragment
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
 	public com.google.inject.Provider<org.eclipse.amp.amf.abase.parser.antlr.internal.InternalABaseLexer> provideInternalABaseLexer() {
 		return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.amp.amf.abase.parser.antlr.internal.InternalABaseLexer.class);
 	}
 
-	// contributed by de.itemis.xtext.antlr.XtextAntlrGeneratorFragment
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
 	public void configureRuntimeLexer(com.google.inject.Binder binder) {
 		binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.parser.antlr.LexerBindings.RUNTIME)).to(org.eclipse.amp.amf.abase.parser.antlr.internal.InternalABaseLexer.class);
 	}
 
-	// contributed by de.itemis.xtext.antlr.XtextAntlrGeneratorFragment
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
 	public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() {
 		return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
 	}
@@ -85,12 +91,12 @@
 
 	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
 	public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named("org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.delegate")).to(org.eclipse.xtext.scoping.impl.SimpleLocalScopeProvider.class);
+		binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.SimpleLocalScopeProvider.class);
 	}
 
 	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
-	public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
-		return org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider.class;
+	public void configureIgnoreCaseLinking(com.google.inject.Binder binder) {
+		binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
 	}
 
 	// contributed by org.eclipse.xtext.generator.exporting.SimpleNamesFragment
@@ -98,11 +104,6 @@
 		return org.eclipse.xtext.naming.SimpleNameProvider.class;
 	}
 
-	// contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
-	public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
-		return org.eclipse.amp.amf.abase.formatting.ABaseFormatter.class;
-	}
-
 	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
 	public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() {
 		return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class;
@@ -120,7 +121,42 @@
 
 	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
 	public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractGlobalScopeProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+	public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
+		return org.eclipse.amp.amf.abase.generator.ABaseGenerator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
+	public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+		return org.eclipse.amp.amf.abase.formatting.ABaseFormatter.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public java.lang.ClassLoader bindClassLoaderToInstance() {
+		return getClass().getClassLoader();
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public org.eclipse.xtext.common.types.TypesFactory bindTypesFactoryToInstance() {
+		return org.eclipse.xtext.common.types.TypesFactory.eINSTANCE;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
+		return org.eclipse.xtext.common.types.access.ClasspathTypeProviderFactory.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
+		return org.eclipse.xtext.common.types.xtext.ClasspathBasedTypeScopeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
+		return org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider.class;
 	}
 
 }
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/BooleanValueImpl.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/BooleanValueImpl.java
index ae42dab..49a6529 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/BooleanValueImpl.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/BooleanValueImpl.java
@@ -8,8 +8,11 @@
 import org.eclipse.amp.amf.abase.aBase.ABasePackage;
 import org.eclipse.amp.amf.abase.aBase.BOOLEAN;
 import org.eclipse.amp.amf.abase.aBase.BooleanValue;
+
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 
 /**
@@ -27,146 +30,151 @@
  */
 public class BooleanValueImpl extends ValueImpl implements BooleanValue
 {
-    /**
-     * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getValue()
-     * @generated
-     * @ordered
-     */
-    protected static final BOOLEAN VALUE_EDEFAULT = BOOLEAN.TRUE;
+  /**
+   * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getValue()
+   * @generated
+   * @ordered
+   */
+  protected static final BOOLEAN VALUE_EDEFAULT = BOOLEAN.TRUE;
 
-    /**
-     * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getValue()
-     * @generated
-     * @ordered
-     */
-    protected BOOLEAN value = VALUE_EDEFAULT;
+  /**
+   * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getValue()
+   * @generated
+   * @ordered
+   */
+  protected BOOLEAN value = VALUE_EDEFAULT;
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    protected BooleanValueImpl()
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected BooleanValueImpl()
+  {
+    super();
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  protected EClass eStaticClass()
+  {
+    return ABasePackage.Literals.BOOLEAN_VALUE;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public BOOLEAN getValue()
+  {
+    return value;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setValue(BOOLEAN newValue)
+  {
+    BOOLEAN oldValue = value;
+    value = newValue == null ? VALUE_EDEFAULT : newValue;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ABasePackage.BOOLEAN_VALUE__VALUE, oldValue, value));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public Object eGet(int featureID, boolean resolve, boolean coreType)
+  {
+    switch (featureID)
     {
-        super();
+      case ABasePackage.BOOLEAN_VALUE__VALUE:
+        return getValue();
     }
+    return super.eGet(featureID, resolve, coreType);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    protected EClass eStaticClass()
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public void eSet(int featureID, Object newValue)
+  {
+    switch (featureID)
     {
-        return ABasePackage.Literals.BOOLEAN_VALUE;
+      case ABasePackage.BOOLEAN_VALUE__VALUE:
+        setValue((BOOLEAN)newValue);
+        return;
     }
+    super.eSet(featureID, newValue);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public BOOLEAN getValue()
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public void eUnset(int featureID)
+  {
+    switch (featureID)
     {
-        return value;
+      case ABasePackage.BOOLEAN_VALUE__VALUE:
+        setValue(VALUE_EDEFAULT);
+        return;
     }
+    super.eUnset(featureID);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void setValue(BOOLEAN newValue)
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public boolean eIsSet(int featureID)
+  {
+    switch (featureID)
     {
-        BOOLEAN oldValue = value;
-        value = newValue == null ? VALUE_EDEFAULT : newValue;
-        if (eNotificationRequired()) {
-            eNotify(new ENotificationImpl(this, Notification.SET, ABasePackage.BOOLEAN_VALUE__VALUE, oldValue, value));
-        }
+      case ABasePackage.BOOLEAN_VALUE__VALUE:
+        return value != VALUE_EDEFAULT;
     }
+    return super.eIsSet(featureID);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public Object eGet(int featureID, boolean resolve, boolean coreType)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.BOOLEAN_VALUE__VALUE:
-                return getValue();
-        }
-        return super.eGet(featureID, resolve, coreType);
-    }
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public String toString()
+  {
+    if (eIsProxy()) return super.toString();
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public void eSet(int featureID, Object newValue)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.BOOLEAN_VALUE__VALUE:
-                setValue((BOOLEAN)newValue);
-                return;
-        }
-        super.eSet(featureID, newValue);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public void eUnset(int featureID)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.BOOLEAN_VALUE__VALUE:
-                setValue(VALUE_EDEFAULT);
-                return;
-        }
-        super.eUnset(featureID);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public boolean eIsSet(int featureID)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.BOOLEAN_VALUE__VALUE:
-                return value != VALUE_EDEFAULT;
-        }
-        return super.eIsSet(featureID);
-    }
-
-    /**
-     * <!-- begin-user-doc --> <!-- end-user-doc -->
-     * 
-     * @generated NOT
-     */
-    @Override
-    public String toString()
-    {
-        return value == BOOLEAN.TRUE ? "true" : "false";
-    }
+    StringBuffer result = new StringBuffer(super.toString());
+    result.append(" (value: ");
+    result.append(value);
+    result.append(')');
+    return result.toString();
+  }
 
 } //BooleanValueImpl
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/IntValueImpl.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/IntValueImpl.java
index 92c07a4..39d209f 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/IntValueImpl.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/IntValueImpl.java
@@ -7,8 +7,11 @@
 
 import org.eclipse.amp.amf.abase.aBase.ABasePackage;
 import org.eclipse.amp.amf.abase.aBase.IntValue;
+
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 
 /**
@@ -26,146 +29,151 @@
  */
 public class IntValueImpl extends ValueImpl implements IntValue
 {
-    /**
-     * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getValue()
-     * @generated
-     * @ordered
-     */
-    protected static final String VALUE_EDEFAULT = null;
+  /**
+   * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getValue()
+   * @generated
+   * @ordered
+   */
+  protected static final String VALUE_EDEFAULT = null;
 
-    /**
-     * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getValue()
-     * @generated
-     * @ordered
-     */
-    protected String value = VALUE_EDEFAULT;
+  /**
+   * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getValue()
+   * @generated
+   * @ordered
+   */
+  protected String value = VALUE_EDEFAULT;
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    protected IntValueImpl()
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected IntValueImpl()
+  {
+    super();
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  protected EClass eStaticClass()
+  {
+    return ABasePackage.Literals.INT_VALUE;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String getValue()
+  {
+    return value;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setValue(String newValue)
+  {
+    String oldValue = value;
+    value = newValue;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ABasePackage.INT_VALUE__VALUE, oldValue, value));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public Object eGet(int featureID, boolean resolve, boolean coreType)
+  {
+    switch (featureID)
     {
-        super();
+      case ABasePackage.INT_VALUE__VALUE:
+        return getValue();
     }
+    return super.eGet(featureID, resolve, coreType);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    protected EClass eStaticClass()
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public void eSet(int featureID, Object newValue)
+  {
+    switch (featureID)
     {
-        return ABasePackage.Literals.INT_VALUE;
+      case ABasePackage.INT_VALUE__VALUE:
+        setValue((String)newValue);
+        return;
     }
+    super.eSet(featureID, newValue);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public String getValue()
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public void eUnset(int featureID)
+  {
+    switch (featureID)
     {
-        return value;
+      case ABasePackage.INT_VALUE__VALUE:
+        setValue(VALUE_EDEFAULT);
+        return;
     }
+    super.eUnset(featureID);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void setValue(String newValue)
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public boolean eIsSet(int featureID)
+  {
+    switch (featureID)
     {
-        String oldValue = value;
-        value = newValue;
-        if (eNotificationRequired()) {
-            eNotify(new ENotificationImpl(this, Notification.SET, ABasePackage.INT_VALUE__VALUE, oldValue, value));
-        }
+      case ABasePackage.INT_VALUE__VALUE:
+        return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
     }
+    return super.eIsSet(featureID);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public Object eGet(int featureID, boolean resolve, boolean coreType)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.INT_VALUE__VALUE:
-                return getValue();
-        }
-        return super.eGet(featureID, resolve, coreType);
-    }
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public String toString()
+  {
+    if (eIsProxy()) return super.toString();
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public void eSet(int featureID, Object newValue)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.INT_VALUE__VALUE:
-                setValue((String)newValue);
-                return;
-        }
-        super.eSet(featureID, newValue);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public void eUnset(int featureID)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.INT_VALUE__VALUE:
-                setValue(VALUE_EDEFAULT);
-                return;
-        }
-        super.eUnset(featureID);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public boolean eIsSet(int featureID)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.INT_VALUE__VALUE:
-                return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-        }
-        return super.eIsSet(featureID);
-    }
-
-    /**
-     * <!-- begin-user-doc --> <!-- end-user-doc -->
-     * 
-     * @generated NOT
-     */
-    @Override
-    public String toString()
-    {
-        return value;
-    }
+    StringBuffer result = new StringBuffer(super.toString());
+    result.append(" (value: ");
+    result.append(value);
+    result.append(')');
+    return result.toString();
+  }
 
 } //IntValueImpl
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/RealValueImpl.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/RealValueImpl.java
index 6370fb6..2d01245 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/RealValueImpl.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/RealValueImpl.java
@@ -7,8 +7,11 @@
 
 import org.eclipse.amp.amf.abase.aBase.ABasePackage;
 import org.eclipse.amp.amf.abase.aBase.RealValue;
+
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 
 /**
@@ -26,147 +29,151 @@
  */
 public class RealValueImpl extends ValueImpl implements RealValue
 {
-    /**
-     * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getValue()
-     * @generated
-     * @ordered
-     */
-    protected static final String VALUE_EDEFAULT = null;
+  /**
+   * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getValue()
+   * @generated
+   * @ordered
+   */
+  protected static final String VALUE_EDEFAULT = null;
 
-    /**
-     * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getValue()
-     * @generated
-     * @ordered
-     */
-    protected String value = VALUE_EDEFAULT;
+  /**
+   * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getValue()
+   * @generated
+   * @ordered
+   */
+  protected String value = VALUE_EDEFAULT;
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    protected RealValueImpl()
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected RealValueImpl()
+  {
+    super();
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  protected EClass eStaticClass()
+  {
+    return ABasePackage.Literals.REAL_VALUE;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String getValue()
+  {
+    return value;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setValue(String newValue)
+  {
+    String oldValue = value;
+    value = newValue;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ABasePackage.REAL_VALUE__VALUE, oldValue, value));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public Object eGet(int featureID, boolean resolve, boolean coreType)
+  {
+    switch (featureID)
     {
-        super();
+      case ABasePackage.REAL_VALUE__VALUE:
+        return getValue();
     }
+    return super.eGet(featureID, resolve, coreType);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    protected EClass eStaticClass()
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public void eSet(int featureID, Object newValue)
+  {
+    switch (featureID)
     {
-        return ABasePackage.Literals.REAL_VALUE;
+      case ABasePackage.REAL_VALUE__VALUE:
+        setValue((String)newValue);
+        return;
     }
+    super.eSet(featureID, newValue);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public String getValue()
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public void eUnset(int featureID)
+  {
+    switch (featureID)
     {
-        return value;
+      case ABasePackage.REAL_VALUE__VALUE:
+        setValue(VALUE_EDEFAULT);
+        return;
     }
+    super.eUnset(featureID);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void setValue(String newValue)
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public boolean eIsSet(int featureID)
+  {
+    switch (featureID)
     {
-        String oldValue = value;
-        value = newValue;
-        if (eNotificationRequired()) {
-            eNotify(new ENotificationImpl(this, Notification.SET, ABasePackage.REAL_VALUE__VALUE, oldValue, value));
-        }
+      case ABasePackage.REAL_VALUE__VALUE:
+        return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
     }
+    return super.eIsSet(featureID);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public Object eGet(int featureID, boolean resolve, boolean coreType)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.REAL_VALUE__VALUE:
-                return getValue();
-        }
-        return super.eGet(featureID, resolve, coreType);
-    }
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public String toString()
+  {
+    if (eIsProxy()) return super.toString();
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public void eSet(int featureID, Object newValue)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.REAL_VALUE__VALUE:
-                setValue((String)newValue);
-                return;
-        }
-        super.eSet(featureID, newValue);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public void eUnset(int featureID)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.REAL_VALUE__VALUE:
-                setValue(VALUE_EDEFAULT);
-                return;
-        }
-        super.eUnset(featureID);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public boolean eIsSet(int featureID)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.REAL_VALUE__VALUE:
-                return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-        }
-        return super.eIsSet(featureID);
-    }
-
-    /**
-     * <!-- begin-user-doc --> <!-- end-user-doc -->
-     * 
-     * @generated NOT
-     */
-    @Override
-    public String toString()
-    {
-        return value;
-    }
-
+    StringBuffer result = new StringBuffer(super.toString());
+    result.append(" (value: ");
+    result.append(value);
+    result.append(')');
+    return result.toString();
+  }
 
 } //RealValueImpl
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/StringValueImpl.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/StringValueImpl.java
index 66dc24b..745fb7f 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/StringValueImpl.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/impl/StringValueImpl.java
@@ -7,8 +7,11 @@
 
 import org.eclipse.amp.amf.abase.aBase.ABasePackage;
 import org.eclipse.amp.amf.abase.aBase.StringValue;
+
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 
 /**
@@ -26,147 +29,151 @@
  */
 public class StringValueImpl extends ValueImpl implements StringValue
 {
-    /**
-     * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getValue()
-     * @generated
-     * @ordered
-     */
-    protected static final String VALUE_EDEFAULT = null;
+  /**
+   * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getValue()
+   * @generated
+   * @ordered
+   */
+  protected static final String VALUE_EDEFAULT = null;
 
-    /**
-     * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see #getValue()
-     * @generated
-     * @ordered
-     */
-    protected String value = VALUE_EDEFAULT;
+  /**
+   * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getValue()
+   * @generated
+   * @ordered
+   */
+  protected String value = VALUE_EDEFAULT;
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    protected StringValueImpl()
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected StringValueImpl()
+  {
+    super();
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  protected EClass eStaticClass()
+  {
+    return ABasePackage.Literals.STRING_VALUE;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String getValue()
+  {
+    return value;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setValue(String newValue)
+  {
+    String oldValue = value;
+    value = newValue;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ABasePackage.STRING_VALUE__VALUE, oldValue, value));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public Object eGet(int featureID, boolean resolve, boolean coreType)
+  {
+    switch (featureID)
     {
-        super();
+      case ABasePackage.STRING_VALUE__VALUE:
+        return getValue();
     }
+    return super.eGet(featureID, resolve, coreType);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    protected EClass eStaticClass()
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public void eSet(int featureID, Object newValue)
+  {
+    switch (featureID)
     {
-        return ABasePackage.Literals.STRING_VALUE;
+      case ABasePackage.STRING_VALUE__VALUE:
+        setValue((String)newValue);
+        return;
     }
+    super.eSet(featureID, newValue);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public String getValue()
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public void eUnset(int featureID)
+  {
+    switch (featureID)
     {
-        return value;
+      case ABasePackage.STRING_VALUE__VALUE:
+        setValue(VALUE_EDEFAULT);
+        return;
     }
+    super.eUnset(featureID);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public void setValue(String newValue)
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public boolean eIsSet(int featureID)
+  {
+    switch (featureID)
     {
-        String oldValue = value;
-        value = newValue;
-        if (eNotificationRequired()) {
-            eNotify(new ENotificationImpl(this, Notification.SET, ABasePackage.STRING_VALUE__VALUE, oldValue, value));
-        }
+      case ABasePackage.STRING_VALUE__VALUE:
+        return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
     }
+    return super.eIsSet(featureID);
+  }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public Object eGet(int featureID, boolean resolve, boolean coreType)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.STRING_VALUE__VALUE:
-                return getValue();
-        }
-        return super.eGet(featureID, resolve, coreType);
-    }
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public String toString()
+  {
+    if (eIsProxy()) return super.toString();
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public void eSet(int featureID, Object newValue)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.STRING_VALUE__VALUE:
-                setValue((String)newValue);
-                return;
-        }
-        super.eSet(featureID, newValue);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public void eUnset(int featureID)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.STRING_VALUE__VALUE:
-                setValue(VALUE_EDEFAULT);
-                return;
-        }
-        super.eUnset(featureID);
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public boolean eIsSet(int featureID)
-    {
-        switch (featureID)
-        {
-            case ABasePackage.STRING_VALUE__VALUE:
-                return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-        }
-        return super.eIsSet(featureID);
-    }
-
-    /**
-     * <!-- begin-user-doc --> <!-- end-user-doc -->
-     * 
-     * @generated NOT
-     */
-    @Override
-    public String toString()
-    {
-        return value;
-    }
-
+    StringBuffer result = new StringBuffer(super.toString());
+    result.append(" (value: ");
+    result.append(value);
+    result.append(')');
+    return result.toString();
+  }
 
 } //StringValueImpl
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/util/ABaseSwitch.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/util/ABaseSwitch.java
index a36dd2b..565ead6 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/util/ABaseSwitch.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/aBase/util/ABaseSwitch.java
@@ -5,12 +5,12 @@
  */
 package org.eclipse.amp.amf.abase.aBase.util;
 
-import java.util.List;
-
 import org.eclipse.amp.amf.abase.aBase.*;
 
-import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
 
 /**
  * <!-- begin-user-doc -->
@@ -25,7 +25,7 @@
  * @see org.eclipse.amp.amf.abase.aBase.ABasePackage
  * @generated
  */
-public class ABaseSwitch<T>
+public class ABaseSwitch<T> extends Switch<T>
 {
   /**
    * The cached model package
@@ -50,15 +50,17 @@
   }
 
   /**
-   * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+   * Checks whether this is a switch for the given package.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the first non-null result returned by a <code>caseXXX</code> call.
+   * @parameter ePackage the package in question.
+   * @return whether this is a switch for the given package.
    * @generated
    */
-  public T doSwitch(EObject theEObject)
+  @Override
+  protected boolean isSwitchFor(EPackage ePackage)
   {
-    return doSwitch(theEObject.eClass(), theEObject);
+    return ePackage == modelPackage;
   }
 
   /**
@@ -68,29 +70,7 @@
    * @return the first non-null result returned by a <code>caseXXX</code> call.
    * @generated
    */
-  protected T doSwitch(EClass theEClass, EObject theEObject)
-  {
-    if (theEClass.eContainer() == modelPackage)
-    {
-      return doSwitch(theEClass.getClassifierID(), theEObject);
-    }
-    else
-    {
-      List<EClass> eSuperTypes = theEClass.getESuperTypes();
-      return
-        eSuperTypes.isEmpty() ?
-          defaultCase(theEObject) :
-          doSwitch(eSuperTypes.get(0), theEObject);
-    }
-  }
-
-  /**
-   * 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)
@@ -229,6 +209,7 @@
    * @see #doSwitch(org.eclipse.emf.ecore.EObject)
    * @generated
    */
+  @Override
   public T defaultCase(EObject object)
   {
     return null;
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parseTreeConstruction/ABaseParsetreeConstructor.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parseTreeConstruction/ABaseParsetreeConstructor.java
index 111242b..d7f1c24 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parseTreeConstruction/ABaseParsetreeConstructor.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parseTreeConstruction/ABaseParsetreeConstructor.java
@@ -12,6 +12,7 @@
 
 import com.google.inject.Inject;
 
+@SuppressWarnings("all")
 public class ABaseParsetreeConstructor extends AbstractParseTreeConstructor {
 		
 	@Inject
@@ -44,11 +45,11 @@
 /************ begin Rule Value ****************
  *
  * Value:
- *   IntValue|StringValue|RealValue|BooleanValue;
+ * 	IntValue | StringValue | RealValue | BooleanValue;
  *
  **/
 
-// IntValue|StringValue|RealValue|BooleanValue
+// IntValue | StringValue | RealValue | BooleanValue
 protected class Value_Alternatives extends AlternativesToken {
 
 	public Value_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
@@ -234,7 +235,7 @@
 /************ begin Rule IntValue ****************
  *
  * IntValue:
- *   value=INTEGER;
+ * 	value=INTEGER;
  *
  **/
 
@@ -279,7 +280,7 @@
 /************ begin Rule RealValue ****************
  *
  * RealValue:
- *   value=REAL;
+ * 	value=REAL;
  *
  **/
 
@@ -324,7 +325,7 @@
 /************ begin Rule StringValue ****************
  *
  * StringValue:
- *   value=STRING;
+ * 	value=STRING;
  *
  **/
 
@@ -369,7 +370,7 @@
 /************ begin Rule BooleanValue ****************
  *
  * BooleanValue:
- *   value=BOOLEAN;
+ * 	value=BOOLEAN;
  *
  **/
 
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/ABaseParser.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/ABaseParser.java
index 7e80d91..ccb0ee7 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/ABaseParser.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/ABaseParser.java
@@ -3,14 +3,9 @@
 */
 package org.eclipse.amp.amf.abase.parser.antlr;
 
-import org.antlr.runtime.CharStream;
-import org.antlr.runtime.TokenSource;
-import org.eclipse.xtext.parser.IParseResult;
-import org.eclipse.xtext.parser.ParseException;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-
 import com.google.inject.Inject;
 
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
 import org.eclipse.amp.amf.abase.services.ABaseGrammarAccess;
 
 public class ABaseParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
@@ -19,25 +14,13 @@
 	private ABaseGrammarAccess grammarAccess;
 	
 	@Override
-	protected IParseResult parse(String ruleName, CharStream in) {
-		TokenSource tokenSource = createLexer(in);
-		XtextTokenStream tokenStream = createTokenStream(tokenSource);
+	protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
 		tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
-		org.eclipse.amp.amf.abase.parser.antlr.internal.InternalABaseParser parser = createParser(tokenStream);
-		parser.setTokenTypeMap(getTokenDefProvider().getTokenDefMap());
-		parser.setSyntaxErrorProvider(getSyntaxErrorProvider());
-		parser.setUnorderedGroupHelper(getUnorderedGroupHelper().get());
-		try {
-			if(ruleName != null)
-				return parser.parse(ruleName);
-			return parser.parse();
-		} catch (Exception re) {
-			throw new ParseException(re.getMessage(),re);
-		}
 	}
 	
+	@Override
 	protected org.eclipse.amp.amf.abase.parser.antlr.internal.InternalABaseParser createParser(XtextTokenStream stream) {
-		return new org.eclipse.amp.amf.abase.parser.antlr.internal.InternalABaseParser(stream, getElementFactory(), getGrammarAccess());
+		return new org.eclipse.amp.amf.abase.parser.antlr.internal.InternalABaseParser(stream, getGrammarAccess());
 	}
 	
 	@Override 
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g
index 1378298..66074ee 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g
@@ -19,11 +19,9 @@
 @parser::header {
 package org.eclipse.amp.amf.abase.parser.antlr.internal; 
 
-import java.io.InputStream;
 import org.eclipse.xtext.*;
 import org.eclipse.xtext.parser.*;
 import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.xtext.parsetree.*;
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.common.util.Enumerator;
@@ -31,7 +29,6 @@
 import org.eclipse.xtext.parser.antlr.XtextTokenStream;
 import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
 import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
-import org.eclipse.xtext.conversion.ValueConverterException;
 import org.eclipse.amp.amf.abase.services.ABaseGrammarAccess;
 
 }
@@ -40,17 +37,10 @@
 
  	private ABaseGrammarAccess grammarAccess;
  	
-    public InternalABaseParser(TokenStream input, IAstFactory factory, ABaseGrammarAccess grammarAccess) {
+    public InternalABaseParser(TokenStream input, ABaseGrammarAccess grammarAccess) {
         this(input);
-        this.factory = factory;
-        registerRules(grammarAccess.getGrammar());
         this.grammarAccess = grammarAccess;
-    }
-    
-    @Override
-    protected InputStream getTokenFile() {
-    	ClassLoader classLoader = getClass().getClassLoader();
-    	return classLoader.getResourceAsStream("org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.tokens");
+        registerRules(grammarAccess.getGrammar());
     }
     
     @Override
@@ -77,7 +67,7 @@
 // Entry rule entryRuleValue
 entryRuleValue returns [EObject current=null] 
 	:
-	{ currentNode = createCompositeNode(grammarAccess.getValueRule(), currentNode); }
+	{ newCompositeNode(grammarAccess.getValueRule()); }
 	 iv_ruleValue=ruleValue 
 	 { $current=$iv_ruleValue.current; } 
 	 EOF 
@@ -85,49 +75,47 @@
 
 // Rule Value
 ruleValue returns [EObject current=null] 
-    @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); 
+    @init { enterRule(); 
     }
-    @after { resetLookahead(); 
-    	lastConsumedNode = currentNode;
-    }:
+    @after { leaveRule(); }:
 (
     { 
-        currentNode=createCompositeNode(grammarAccess.getValueAccess().getIntValueParserRuleCall_0(), currentNode); 
+        newCompositeNode(grammarAccess.getValueAccess().getIntValueParserRuleCall_0()); 
     }
     this_IntValue_0=ruleIntValue
     { 
         $current = $this_IntValue_0.current; 
-        currentNode = currentNode.getParent();
+        afterParserOrEnumRuleCall();
     }
 
     |
     { 
-        currentNode=createCompositeNode(grammarAccess.getValueAccess().getStringValueParserRuleCall_1(), currentNode); 
+        newCompositeNode(grammarAccess.getValueAccess().getStringValueParserRuleCall_1()); 
     }
     this_StringValue_1=ruleStringValue
     { 
         $current = $this_StringValue_1.current; 
-        currentNode = currentNode.getParent();
+        afterParserOrEnumRuleCall();
     }
 
     |
     { 
-        currentNode=createCompositeNode(grammarAccess.getValueAccess().getRealValueParserRuleCall_2(), currentNode); 
+        newCompositeNode(grammarAccess.getValueAccess().getRealValueParserRuleCall_2()); 
     }
     this_RealValue_2=ruleRealValue
     { 
         $current = $this_RealValue_2.current; 
-        currentNode = currentNode.getParent();
+        afterParserOrEnumRuleCall();
     }
 
     |
     { 
-        currentNode=createCompositeNode(grammarAccess.getValueAccess().getBooleanValueParserRuleCall_3(), currentNode); 
+        newCompositeNode(grammarAccess.getValueAccess().getBooleanValueParserRuleCall_3()); 
     }
     this_BooleanValue_3=ruleBooleanValue
     { 
         $current = $this_BooleanValue_3.current; 
-        currentNode = currentNode.getParent();
+        afterParserOrEnumRuleCall();
     }
 )
 ;
@@ -139,7 +127,7 @@
 // Entry rule entryRuleIntValue
 entryRuleIntValue returns [EObject current=null] 
 	:
-	{ currentNode = createCompositeNode(grammarAccess.getIntValueRule(), currentNode); }
+	{ newCompositeNode(grammarAccess.getIntValueRule()); }
 	 iv_ruleIntValue=ruleIntValue 
 	 { $current=$iv_ruleIntValue.current; } 
 	 EOF 
@@ -147,32 +135,24 @@
 
 // Rule IntValue
 ruleIntValue returns [EObject current=null] 
-    @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); 
+    @init { enterRule(); 
     }
-    @after { resetLookahead(); 
-    	lastConsumedNode = currentNode;
-    }:
+    @after { leaveRule(); }:
 (
 (
 		lv_value_0_0=RULE_INTEGER
 		{
-			createLeafNode(grammarAccess.getIntValueAccess().getValueINTEGERTerminalRuleCall_0(), "value"); 
+			newLeafNode(lv_value_0_0, grammarAccess.getIntValueAccess().getValueINTEGERTerminalRuleCall_0()); 
 		}
 		{
 	        if ($current==null) {
-	            $current = factory.create(grammarAccess.getIntValueRule().getType().getClassifier());
-	            associateNodeWithAstElement(currentNode, $current);
+	            $current = createModelElement(grammarAccess.getIntValueRule());
 	        }
-	        try {
-	       		set(
-	       			$current, 
-	       			"value",
-	        		lv_value_0_0, 
-	        		"INTEGER", 
-	        		lastConsumedNode);
-	        } catch (ValueConverterException vce) {
-				handleValueConverterException(vce);
-	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"value",
+        		lv_value_0_0, 
+        		"INTEGER");
 	    }
 
 )
@@ -186,7 +166,7 @@
 // Entry rule entryRuleRealValue
 entryRuleRealValue returns [EObject current=null] 
 	:
-	{ currentNode = createCompositeNode(grammarAccess.getRealValueRule(), currentNode); }
+	{ newCompositeNode(grammarAccess.getRealValueRule()); }
 	 iv_ruleRealValue=ruleRealValue 
 	 { $current=$iv_ruleRealValue.current; } 
 	 EOF 
@@ -194,32 +174,24 @@
 
 // Rule RealValue
 ruleRealValue returns [EObject current=null] 
-    @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); 
+    @init { enterRule(); 
     }
-    @after { resetLookahead(); 
-    	lastConsumedNode = currentNode;
-    }:
+    @after { leaveRule(); }:
 (
 (
 		lv_value_0_0=RULE_REAL
 		{
-			createLeafNode(grammarAccess.getRealValueAccess().getValueREALTerminalRuleCall_0(), "value"); 
+			newLeafNode(lv_value_0_0, grammarAccess.getRealValueAccess().getValueREALTerminalRuleCall_0()); 
 		}
 		{
 	        if ($current==null) {
-	            $current = factory.create(grammarAccess.getRealValueRule().getType().getClassifier());
-	            associateNodeWithAstElement(currentNode, $current);
+	            $current = createModelElement(grammarAccess.getRealValueRule());
 	        }
-	        try {
-	       		set(
-	       			$current, 
-	       			"value",
-	        		lv_value_0_0, 
-	        		"REAL", 
-	        		lastConsumedNode);
-	        } catch (ValueConverterException vce) {
-				handleValueConverterException(vce);
-	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"value",
+        		lv_value_0_0, 
+        		"REAL");
 	    }
 
 )
@@ -233,7 +205,7 @@
 // Entry rule entryRuleStringValue
 entryRuleStringValue returns [EObject current=null] 
 	:
-	{ currentNode = createCompositeNode(grammarAccess.getStringValueRule(), currentNode); }
+	{ newCompositeNode(grammarAccess.getStringValueRule()); }
 	 iv_ruleStringValue=ruleStringValue 
 	 { $current=$iv_ruleStringValue.current; } 
 	 EOF 
@@ -241,32 +213,24 @@
 
 // Rule StringValue
 ruleStringValue returns [EObject current=null] 
-    @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); 
+    @init { enterRule(); 
     }
-    @after { resetLookahead(); 
-    	lastConsumedNode = currentNode;
-    }:
+    @after { leaveRule(); }:
 (
 (
 		lv_value_0_0=RULE_STRING
 		{
-			createLeafNode(grammarAccess.getStringValueAccess().getValueSTRINGTerminalRuleCall_0(), "value"); 
+			newLeafNode(lv_value_0_0, grammarAccess.getStringValueAccess().getValueSTRINGTerminalRuleCall_0()); 
 		}
 		{
 	        if ($current==null) {
-	            $current = factory.create(grammarAccess.getStringValueRule().getType().getClassifier());
-	            associateNodeWithAstElement(currentNode, $current);
+	            $current = createModelElement(grammarAccess.getStringValueRule());
 	        }
-	        try {
-	       		set(
-	       			$current, 
-	       			"value",
-	        		lv_value_0_0, 
-	        		"STRING", 
-	        		lastConsumedNode);
-	        } catch (ValueConverterException vce) {
-				handleValueConverterException(vce);
-	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"value",
+        		lv_value_0_0, 
+        		"STRING");
 	    }
 
 )
@@ -280,7 +244,7 @@
 // Entry rule entryRuleBooleanValue
 entryRuleBooleanValue returns [EObject current=null] 
 	:
-	{ currentNode = createCompositeNode(grammarAccess.getBooleanValueRule(), currentNode); }
+	{ newCompositeNode(grammarAccess.getBooleanValueRule()); }
 	 iv_ruleBooleanValue=ruleBooleanValue 
 	 { $current=$iv_ruleBooleanValue.current; } 
 	 EOF 
@@ -288,32 +252,24 @@
 
 // Rule BooleanValue
 ruleBooleanValue returns [EObject current=null] 
-    @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); 
+    @init { enterRule(); 
     }
-    @after { resetLookahead(); 
-    	lastConsumedNode = currentNode;
-    }:
+    @after { leaveRule(); }:
 (
 (
 		{ 
-	        currentNode=createCompositeNode(grammarAccess.getBooleanValueAccess().getValueBOOLEANEnumRuleCall_0(), currentNode); 
+	        newCompositeNode(grammarAccess.getBooleanValueAccess().getValueBOOLEANEnumRuleCall_0()); 
 	    }
 		lv_value_0_0=ruleBOOLEAN		{
 	        if ($current==null) {
-	            $current = factory.create(grammarAccess.getBooleanValueRule().getType().getClassifier());
-	            associateNodeWithAstElement(currentNode.getParent(), $current);
+	            $current = createModelElementForParent(grammarAccess.getBooleanValueRule());
 	        }
-	        try {
-	       		set(
-	       			$current, 
-	       			"value",
-	        		lv_value_0_0, 
-	        		"BOOLEAN", 
-	        		currentNode);
-	        } catch (ValueConverterException vce) {
-				handleValueConverterException(vce);
-	        }
-	        currentNode = currentNode.getParent();
+       		set(
+       			$current, 
+       			"value",
+        		lv_value_0_0, 
+        		"BOOLEAN");
+	        afterParserOrEnumRuleCall();
 	    }
 
 )
@@ -326,20 +282,18 @@
 
 // Rule BOOLEAN
 ruleBOOLEAN returns [Enumerator current=null] 
-    @init { setCurrentLookahead(); resetLookahead(); }
-    @after { resetLookahead(); 
-    	lastConsumedNode = currentNode;
-    }:
-((	'true' 
+    @init { enterRule(); }
+    @after { leaveRule(); }:
+((	enumLiteral_0='true' 
 	{
         $current = grammarAccess.getBOOLEANAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-        createLeafNode(grammarAccess.getBOOLEANAccess().getTRUEEnumLiteralDeclaration_0(), null); 
+        newLeafNode(enumLiteral_0, grammarAccess.getBOOLEANAccess().getTRUEEnumLiteralDeclaration_0()); 
     }
 )
-    |(	'false' 
+    |(	enumLiteral_1='false' 
 	{
         $current = grammarAccess.getBOOLEANAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-        createLeafNode(grammarAccess.getBOOLEANAccess().getFALSEEnumLiteralDeclaration_1(), null); 
+        newLeafNode(enumLiteral_1, grammarAccess.getBOOLEANAccess().getFALSEEnumLiteralDeclaration_1()); 
     }
 ));
 
@@ -355,7 +309,7 @@
 
 RULE_INT : ('0'..'9')+;
 
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
+RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
 
 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
 
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.tokens b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.tokens
index cbae077..0f46910 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.tokens
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.tokens
@@ -1,5 +1,7 @@
 RULE_ID=8
 RULE_STRING=6
+T__15=15
+T__14=14
 RULE_ANY_OTHER=13
 RULE_INT=9
 RULE_REAL=5
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABaseLexer.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABaseLexer.java
index fb356aa..378837e 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABaseLexer.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABaseLexer.java
@@ -14,70 +14,82 @@
 public class InternalABaseLexer extends Lexer {
     public static final int RULE_ID=8;
     public static final int RULE_STRING=6;
+    public static final int T__15=15;
+    public static final int T__14=14;
     public static final int RULE_ANY_OTHER=13;
     public static final int RULE_INT=9;
     public static final int RULE_REAL=5;
-    public static final int T14=14;
-    public static final int T15=15;
     public static final int RULE_WS=12;
-    public static final int Tokens=16;
     public static final int RULE_DESC_STRING=7;
     public static final int RULE_SL_COMMENT=11;
     public static final int EOF=-1;
     public static final int RULE_INTEGER=4;
     public static final int RULE_ML_COMMENT=10;
+
+    // delegates
+    // delegators
+
     public InternalABaseLexer() {;} 
     public InternalABaseLexer(CharStream input) {
-        super(input);
+        this(input, new RecognizerSharedState());
+    }
+    public InternalABaseLexer(CharStream input, RecognizerSharedState state) {
+        super(input,state);
+
     }
     public String getGrammarFileName() { return "../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g"; }
 
-    // $ANTLR start T14
-    public final void mT14() throws RecognitionException {
+    // $ANTLR start "T__14"
+    public final void mT__14() throws RecognitionException {
         try {
-            int _type = T14;
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:10:5: ( 'true' )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:10:7: 'true'
+            int _type = T__14;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:11:7: ( 'true' )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:11:9: 'true'
             {
             match("true"); 
 
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end T14
+    // $ANTLR end "T__14"
 
-    // $ANTLR start T15
-    public final void mT15() throws RecognitionException {
+    // $ANTLR start "T__15"
+    public final void mT__15() throws RecognitionException {
         try {
-            int _type = T15;
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:11:5: ( 'false' )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:11:7: 'false'
+            int _type = T__15;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:12:7: ( 'false' )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:12:9: 'false'
             {
             match("false"); 
 
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end T15
+    // $ANTLR end "T__15"
 
-    // $ANTLR start RULE_INTEGER
+    // $ANTLR start "RULE_INTEGER"
     public final void mRULE_INTEGER() throws RecognitionException {
         try {
             int _type = RULE_INTEGER;
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:348:14: ( ( '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:348:16: ( '-' )? ( '0' .. '9' )+
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:302:14: ( ( '-' )? ( '0' .. '9' )+ )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:302:16: ( '-' )? ( '0' .. '9' )+
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:348:16: ( '-' )?
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:302:16: ( '-' )?
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -86,7 +98,7 @@
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:348:16: '-'
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:302:16: '-'
                     {
                     match('-'); 
 
@@ -95,7 +107,7 @@
 
             }
 
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:348:21: ( '0' .. '9' )+
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:302:21: ( '0' .. '9' )+
             int cnt2=0;
             loop2:
             do {
@@ -109,7 +121,7 @@
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:348:22: '0' .. '9'
+            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:302:22: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -128,21 +140,23 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_INTEGER
+    // $ANTLR end "RULE_INTEGER"
 
-    // $ANTLR start RULE_REAL
+    // $ANTLR start "RULE_REAL"
     public final void mRULE_REAL() throws RecognitionException {
         try {
             int _type = RULE_REAL;
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:350:11: ( ( '-' )? ( '0' .. '9' )* '.' ( '0' .. '9' )* )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:350:13: ( '-' )? ( '0' .. '9' )* '.' ( '0' .. '9' )*
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:304:11: ( ( '-' )? ( '0' .. '9' )* '.' ( '0' .. '9' )* )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:304:13: ( '-' )? ( '0' .. '9' )* '.' ( '0' .. '9' )*
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:350:13: ( '-' )?
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:304:13: ( '-' )?
             int alt3=2;
             int LA3_0 = input.LA(1);
 
@@ -151,7 +165,7 @@
             }
             switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:350:13: '-'
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:304:13: '-'
                     {
                     match('-'); 
 
@@ -160,7 +174,7 @@
 
             }
 
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:350:18: ( '0' .. '9' )*
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:304:18: ( '0' .. '9' )*
             loop4:
             do {
                 int alt4=2;
@@ -173,7 +187,7 @@
 
                 switch (alt4) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:350:19: '0' .. '9'
+            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:304:19: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -186,7 +200,7 @@
             } while (true);
 
             match('.'); 
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:350:34: ( '0' .. '9' )*
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:304:34: ( '0' .. '9' )*
             loop5:
             do {
                 int alt5=2;
@@ -199,7 +213,7 @@
 
                 switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:350:35: '0' .. '9'
+            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:304:35: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -214,22 +228,24 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_REAL
+    // $ANTLR end "RULE_REAL"
 
-    // $ANTLR start RULE_DESC_STRING
+    // $ANTLR start "RULE_DESC_STRING"
     public final void mRULE_DESC_STRING() throws RecognitionException {
         try {
             int _type = RULE_DESC_STRING;
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:352:18: ( '\\u00AB' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' ) | ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) ) )* '\\u00BB' )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:352:20: '\\u00AB' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' ) | ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) ) )* '\\u00BB'
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:306:18: ( '\\u00AB' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' ) | ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) ) )* '\\u00BB' )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:306:20: '\\u00AB' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' ) | ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) ) )* '\\u00BB'
             {
             match('\u00AB'); 
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:352:29: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' ) | ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) ) )*
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:306:29: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' ) | ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) ) )*
             loop6:
             do {
                 int alt6=3;
@@ -238,14 +254,14 @@
                 if ( (LA6_0=='\\') ) {
                     alt6=1;
                 }
-                else if ( ((LA6_0>='\u0000' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\u00AA')||(LA6_0>='\u00AC' && LA6_0<='\u00BA')||(LA6_0>='\u00BC' && LA6_0<='\uFFFE')) ) {
+                else if ( ((LA6_0>='\u0000' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\u00AA')||(LA6_0>='\u00AC' && LA6_0<='\u00BA')||(LA6_0>='\u00BC' && LA6_0<='\uFFFF')) ) {
                     alt6=2;
                 }
 
 
                 switch (alt6) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:352:30: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' )
+            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:306:30: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' )
             	    {
             	    match('\\'); 
             	    if ( input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t'||input.LA(1)=='\u00AB'||input.LA(1)=='\u00BB' ) {
@@ -253,26 +269,24 @@
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
             	    break;
             	case 2 :
-            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:352:80: ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) )
+            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:306:80: ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) )
             	    {
-            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\u00BA')||(input.LA(1)>='\u00BC' && input.LA(1)<='\uFFFE') ) {
+            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\u00BA')||(input.LA(1)>='\u00BC' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
@@ -287,21 +301,23 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_DESC_STRING
+    // $ANTLR end "RULE_DESC_STRING"
 
-    // $ANTLR start RULE_ID
+    // $ANTLR start "RULE_ID"
     public final void mRULE_ID() throws RecognitionException {
         try {
             int _type = RULE_ID;
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:354:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:354:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:308:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:308:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:354:11: ( '^' )?
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:308:11: ( '^' )?
             int alt7=2;
             int LA7_0 = input.LA(1);
 
@@ -310,7 +326,7 @@
             }
             switch (alt7) {
                 case 1 :
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:354:11: '^'
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:308:11: '^'
                     {
                     match('^'); 
 
@@ -324,12 +340,11 @@
 
             }
             else {
-                MismatchedSetException mse =
-                    new MismatchedSetException(null,input);
-                recover(mse);    throw mse;
-            }
+                MismatchedSetException mse = new MismatchedSetException(null,input);
+                recover(mse);
+                throw mse;}
 
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:354:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:308:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             loop8:
             do {
                 int alt8=2;
@@ -349,10 +364,9 @@
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
@@ -366,21 +380,23 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_ID
+    // $ANTLR end "RULE_ID"
 
-    // $ANTLR start RULE_INT
+    // $ANTLR start "RULE_INT"
     public final void mRULE_INT() throws RecognitionException {
         try {
             int _type = RULE_INT;
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:356:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:356:12: ( '0' .. '9' )+
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:310:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:310:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:356:12: ( '0' .. '9' )+
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:310:12: ( '0' .. '9' )+
             int cnt9=0;
             loop9:
             do {
@@ -394,7 +410,7 @@
 
                 switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:356:13: '0' .. '9'
+            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:310:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -413,21 +429,23 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_INT
+    // $ANTLR end "RULE_INT"
 
-    // $ANTLR start RULE_STRING
+    // $ANTLR start "RULE_STRING"
     public final void mRULE_STRING() throws RecognitionException {
         try {
             int _type = RULE_STRING;
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:358:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:358:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:312:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:312:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:358:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:312:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             int alt12=2;
             int LA12_0 = input.LA(1);
 
@@ -439,16 +457,16 @@
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("358:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )", 12, 0, input);
+                    new NoViableAltException("", 12, 0, input);
 
                 throw nvae;
             }
             switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:358:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:312:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:358:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:312:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                     loop10:
                     do {
                         int alt10=3;
@@ -457,41 +475,39 @@
                         if ( (LA10_0=='\\') ) {
                             alt10=1;
                         }
-                        else if ( ((LA10_0>='\u0000' && LA10_0<='!')||(LA10_0>='#' && LA10_0<='[')||(LA10_0>=']' && LA10_0<='\uFFFE')) ) {
+                        else if ( ((LA10_0>='\u0000' && LA10_0<='!')||(LA10_0>='#' && LA10_0<='[')||(LA10_0>=']' && LA10_0<='\uFFFF')) ) {
                             alt10=2;
                         }
 
 
                         switch (alt10) {
                     	case 1 :
-                    	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:358:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:312:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                     	    {
                     	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
+                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
                     	        input.consume();
 
                     	    }
                     	    else {
-                    	        MismatchedSetException mse =
-                    	            new MismatchedSetException(null,input);
-                    	        recover(mse);    throw mse;
-                    	    }
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:358:62: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:312:66: ~ ( ( '\\\\' | '\"' ) )
                     	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
+                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
 
                     	    }
                     	    else {
-                    	        MismatchedSetException mse =
-                    	            new MismatchedSetException(null,input);
-                    	        recover(mse);    throw mse;
-                    	    }
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
 
 
                     	    }
@@ -507,10 +523,10 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:358:82: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:312:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:358:87: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:312:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                     loop11:
                     do {
                         int alt11=3;
@@ -519,41 +535,39 @@
                         if ( (LA11_0=='\\') ) {
                             alt11=1;
                         }
-                        else if ( ((LA11_0>='\u0000' && LA11_0<='&')||(LA11_0>='(' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFE')) ) {
+                        else if ( ((LA11_0>='\u0000' && LA11_0<='&')||(LA11_0>='(' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFF')) ) {
                             alt11=2;
                         }
 
 
                         switch (alt11) {
                     	case 1 :
-                    	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:358:88: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:312:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                     	    {
                     	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
+                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
                     	        input.consume();
 
                     	    }
                     	    else {
-                    	        MismatchedSetException mse =
-                    	            new MismatchedSetException(null,input);
-                    	        recover(mse);    throw mse;
-                    	    }
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:358:129: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:312:137: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
+                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
 
                     	    }
                     	    else {
-                    	        MismatchedSetException mse =
-                    	            new MismatchedSetException(null,input);
-                    	        recover(mse);    throw mse;
-                    	    }
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
 
 
                     	    }
@@ -574,23 +588,25 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_STRING
+    // $ANTLR end "RULE_STRING"
 
-    // $ANTLR start RULE_ML_COMMENT
+    // $ANTLR start "RULE_ML_COMMENT"
     public final void mRULE_ML_COMMENT() throws RecognitionException {
         try {
             int _type = RULE_ML_COMMENT;
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:360:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:360:19: '/*' ( options {greedy=false; } : . )* '*/'
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:314:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:314:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:360:24: ( options {greedy=false; } : . )*
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:314:24: ( options {greedy=false; } : . )*
             loop13:
             do {
                 int alt13=2;
@@ -602,20 +618,20 @@
                     if ( (LA13_1=='/') ) {
                         alt13=2;
                     }
-                    else if ( ((LA13_1>='\u0000' && LA13_1<='.')||(LA13_1>='0' && LA13_1<='\uFFFE')) ) {
+                    else if ( ((LA13_1>='\u0000' && LA13_1<='.')||(LA13_1>='0' && LA13_1<='\uFFFF')) ) {
                         alt13=1;
                     }
 
 
                 }
-                else if ( ((LA13_0>='\u0000' && LA13_0<=')')||(LA13_0>='+' && LA13_0<='\uFFFE')) ) {
+                else if ( ((LA13_0>='\u0000' && LA13_0<=')')||(LA13_0>='+' && LA13_0<='\uFFFF')) ) {
                     alt13=1;
                 }
 
 
                 switch (alt13) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:360:52: .
+            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:314:52: .
             	    {
             	    matchAny(); 
 
@@ -632,46 +648,47 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_ML_COMMENT
+    // $ANTLR end "RULE_ML_COMMENT"
 
-    // $ANTLR start RULE_SL_COMMENT
+    // $ANTLR start "RULE_SL_COMMENT"
     public final void mRULE_SL_COMMENT() throws RecognitionException {
         try {
             int _type = RULE_SL_COMMENT;
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:362:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:362:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:316:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:316:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:362:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:316:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop14:
             do {
                 int alt14=2;
                 int LA14_0 = input.LA(1);
 
-                if ( ((LA14_0>='\u0000' && LA14_0<='\t')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\uFFFE')) ) {
+                if ( ((LA14_0>='\u0000' && LA14_0<='\t')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\uFFFF')) ) {
                     alt14=1;
                 }
 
 
                 switch (alt14) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:362:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:316:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
-            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFE') ) {
+            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
@@ -682,7 +699,7 @@
                 }
             } while (true);
 
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:362:40: ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:316:40: ( ( '\\r' )? '\\n' )?
             int alt16=2;
             int LA16_0 = input.LA(1);
 
@@ -691,9 +708,9 @@
             }
             switch (alt16) {
                 case 1 :
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:362:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:316:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:362:41: ( '\\r' )?
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:316:41: ( '\\r' )?
                     int alt15=2;
                     int LA15_0 = input.LA(1);
 
@@ -702,7 +719,7 @@
                     }
                     switch (alt15) {
                         case 1 :
-                            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:362:41: '\\r'
+                            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:316:41: '\\r'
                             {
                             match('\r'); 
 
@@ -721,21 +738,23 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_SL_COMMENT
+    // $ANTLR end "RULE_SL_COMMENT"
 
-    // $ANTLR start RULE_WS
+    // $ANTLR start "RULE_WS"
     public final void mRULE_WS() throws RecognitionException {
         try {
             int _type = RULE_WS;
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:364:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:364:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:318:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:318:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:364:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:318:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt17=0;
             loop17:
             do {
@@ -756,10 +775,9 @@
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
@@ -777,115 +795,118 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_WS
+    // $ANTLR end "RULE_WS"
 
-    // $ANTLR start RULE_ANY_OTHER
+    // $ANTLR start "RULE_ANY_OTHER"
     public final void mRULE_ANY_OTHER() throws RecognitionException {
         try {
             int _type = RULE_ANY_OTHER;
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:366:16: ( . )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:366:18: .
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:320:16: ( . )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:320:18: .
             {
             matchAny(); 
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_ANY_OTHER
+    // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:8: ( T14 | T15 | RULE_INTEGER | RULE_REAL | RULE_DESC_STRING | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:8: ( T__14 | T__15 | RULE_INTEGER | RULE_REAL | RULE_DESC_STRING | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
         int alt18=12;
         alt18 = dfa18.predict(input);
         switch (alt18) {
             case 1 :
-                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:10: T14
+                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:10: T__14
                 {
-                mT14(); 
+                mT__14(); 
 
                 }
                 break;
             case 2 :
-                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:14: T15
+                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:16: T__15
                 {
-                mT15(); 
+                mT__15(); 
 
                 }
                 break;
             case 3 :
-                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:18: RULE_INTEGER
+                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:22: RULE_INTEGER
                 {
                 mRULE_INTEGER(); 
 
                 }
                 break;
             case 4 :
-                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:31: RULE_REAL
+                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:35: RULE_REAL
                 {
                 mRULE_REAL(); 
 
                 }
                 break;
             case 5 :
-                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:41: RULE_DESC_STRING
+                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:45: RULE_DESC_STRING
                 {
                 mRULE_DESC_STRING(); 
 
                 }
                 break;
             case 6 :
-                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:58: RULE_ID
+                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:62: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
             case 7 :
-                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:66: RULE_INT
+                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:70: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
             case 8 :
-                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:75: RULE_STRING
+                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:79: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
             case 9 :
-                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:87: RULE_ML_COMMENT
+                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:91: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
             case 10 :
-                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:103: RULE_SL_COMMENT
+                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:107: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
             case 11 :
-                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:119: RULE_WS
+                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:123: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
             case 12 :
-                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:127: RULE_ANY_OTHER
+                // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:1:131: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -909,29 +930,29 @@
         "\1\165\1\uffff\1\154\1\56\2\uffff\1\56\5\uffff\1\145\1\163\1\60"+
         "\1\145\1\uffff\1\60\1\uffff";
     static final String DFA18_maxS =
-        "\1\ufffe\1\162\1\141\2\71\1\uffff\1\ufffe\1\172\1\uffff\2\ufffe"+
+        "\1\uffff\1\162\1\141\2\71\1\uffff\1\uffff\1\172\1\uffff\2\uffff"+
         "\1\57\2\uffff\1\165\1\uffff\1\154\1\71\2\uffff\1\71\5\uffff\1\145"+
         "\1\163\1\172\1\145\1\uffff\1\172\1\uffff";
     static final String DFA18_acceptS =
         "\5\uffff\1\4\2\uffff\1\6\3\uffff\1\13\1\14\1\uffff\1\6\2\uffff\1"+
-        "\4\1\3\1\uffff\1\5\1\10\1\12\1\11\1\13\4\uffff\1\1\1\uffff\1\2";
+        "\4\1\3\1\uffff\1\5\1\10\1\11\1\12\1\13\4\uffff\1\1\1\uffff\1\2";
     static final String DFA18_specialS =
-        "\41\uffff}>";
+        "\1\1\5\uffff\1\2\2\uffff\1\3\1\0\26\uffff}>";
     static final String[] DFA18_transitionS = {
             "\11\15\2\14\2\15\1\14\22\15\1\14\1\15\1\11\4\15\1\12\5\15\1"+
             "\3\1\5\1\13\12\4\7\15\32\10\3\15\1\7\1\10\1\15\5\10\1\2\15\10"+
-            "\1\1\6\10\60\15\1\6\uff53\15",
+            "\1\1\6\10\60\15\1\6\uff54\15",
             "\1\16",
             "\1\20",
             "\1\22\1\uffff\12\21",
             "\1\22\1\uffff\12\24",
             "",
-            "\u00ab\25\1\uffff\uff53\25",
+            "\u00ab\25\1\uffff\uff54\25",
             "\32\17\4\uffff\1\17\1\uffff\32\17",
             "",
-            "\uffff\26",
-            "\uffff\26",
-            "\1\30\4\uffff\1\27",
+            "\0\26",
+            "\0\26",
+            "\1\27\4\uffff\1\30",
             "",
             "",
             "\1\32",
@@ -985,7 +1006,79 @@
             this.transition = DFA18_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T14 | T15 | RULE_INTEGER | RULE_REAL | RULE_DESC_STRING | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( T__14 | T__15 | RULE_INTEGER | RULE_REAL | RULE_DESC_STRING | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            IntStream input = _input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA18_10 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA18_10>='\u0000' && LA18_10<='\uFFFF')) ) {s = 22;}
+
+                        else s = 13;
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA18_0 = input.LA(1);
+
+                        s = -1;
+                        if ( (LA18_0=='t') ) {s = 1;}
+
+                        else if ( (LA18_0=='f') ) {s = 2;}
+
+                        else if ( (LA18_0=='-') ) {s = 3;}
+
+                        else if ( ((LA18_0>='0' && LA18_0<='9')) ) {s = 4;}
+
+                        else if ( (LA18_0=='.') ) {s = 5;}
+
+                        else if ( (LA18_0=='\u00AB') ) {s = 6;}
+
+                        else if ( (LA18_0=='^') ) {s = 7;}
+
+                        else if ( ((LA18_0>='A' && LA18_0<='Z')||LA18_0=='_'||(LA18_0>='a' && LA18_0<='e')||(LA18_0>='g' && LA18_0<='s')||(LA18_0>='u' && LA18_0<='z')) ) {s = 8;}
+
+                        else if ( (LA18_0=='\"') ) {s = 9;}
+
+                        else if ( (LA18_0=='\'') ) {s = 10;}
+
+                        else if ( (LA18_0=='/') ) {s = 11;}
+
+                        else if ( ((LA18_0>='\t' && LA18_0<='\n')||LA18_0=='\r'||LA18_0==' ') ) {s = 12;}
+
+                        else if ( ((LA18_0>='\u0000' && LA18_0<='\b')||(LA18_0>='\u000B' && LA18_0<='\f')||(LA18_0>='\u000E' && LA18_0<='\u001F')||LA18_0=='!'||(LA18_0>='#' && LA18_0<='&')||(LA18_0>='(' && LA18_0<=',')||(LA18_0>=':' && LA18_0<='@')||(LA18_0>='[' && LA18_0<=']')||LA18_0=='`'||(LA18_0>='{' && LA18_0<='\u00AA')||(LA18_0>='\u00AC' && LA18_0<='\uFFFF')) ) {s = 13;}
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA18_6 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA18_6>='\u0000' && LA18_6<='\u00AA')||(LA18_6>='\u00AC' && LA18_6<='\uFFFF')) ) {s = 21;}
+
+                        else s = 13;
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 3 : 
+                        int LA18_9 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA18_9>='\u0000' && LA18_9<='\uFFFF')) ) {s = 22;}
+
+                        else s = 13;
+
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 18, _s, input);
+            error(nvae);
+            throw nvae;
         }
     }
  
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABaseParser.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABaseParser.java
index 4897553..8436fe2 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABaseParser.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABaseParser.java
@@ -1,10 +1,8 @@
 package org.eclipse.amp.amf.abase.parser.antlr.internal; 
 
-import java.io.InputStream;
 import org.eclipse.xtext.*;
 import org.eclipse.xtext.parser.*;
 import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.xtext.parsetree.*;
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.common.util.Enumerator;
@@ -12,7 +10,6 @@
 import org.eclipse.xtext.parser.antlr.XtextTokenStream;
 import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
 import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
-import org.eclipse.xtext.conversion.ValueConverterException;
 import org.eclipse.amp.amf.abase.services.ABaseGrammarAccess;
 
 
@@ -29,39 +26,42 @@
     };
     public static final int RULE_ID=8;
     public static final int RULE_STRING=6;
+    public static final int T__15=15;
+    public static final int T__14=14;
     public static final int RULE_ANY_OTHER=13;
     public static final int RULE_INT=9;
     public static final int RULE_REAL=5;
     public static final int RULE_WS=12;
     public static final int RULE_SL_COMMENT=11;
-    public static final int EOF=-1;
     public static final int RULE_DESC_STRING=7;
+    public static final int EOF=-1;
     public static final int RULE_INTEGER=4;
     public static final int RULE_ML_COMMENT=10;
 
+    // delegates
+    // delegators
+
+
         public InternalABaseParser(TokenStream input) {
-            super(input);
+            this(input, new RecognizerSharedState());
+        }
+        public InternalABaseParser(TokenStream input, RecognizerSharedState state) {
+            super(input, state);
+             
         }
         
 
-    public String[] getTokenNames() { return tokenNames; }
+    public String[] getTokenNames() { return InternalABaseParser.tokenNames; }
     public String getGrammarFileName() { return "../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g"; }
 
 
 
      	private ABaseGrammarAccess grammarAccess;
      	
-        public InternalABaseParser(TokenStream input, IAstFactory factory, ABaseGrammarAccess grammarAccess) {
+        public InternalABaseParser(TokenStream input, ABaseGrammarAccess grammarAccess) {
             this(input);
-            this.factory = factory;
-            registerRules(grammarAccess.getGrammar());
             this.grammarAccess = grammarAccess;
-        }
-        
-        @Override
-        protected InputStream getTokenFile() {
-        	ClassLoader classLoader = getClass().getClassLoader();
-        	return classLoader.getResourceAsStream("org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.tokens");
+            registerRules(grammarAccess.getGrammar());
         }
         
         @Override
@@ -76,8 +76,8 @@
 
 
 
-    // $ANTLR start entryRuleValue
-    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:78:1: entryRuleValue returns [EObject current=null] : iv_ruleValue= ruleValue EOF ;
+    // $ANTLR start "entryRuleValue"
+    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:68:1: entryRuleValue returns [EObject current=null] : iv_ruleValue= ruleValue EOF ;
     public final EObject entryRuleValue() throws RecognitionException {
         EObject current = null;
 
@@ -85,13 +85,14 @@
 
 
         try {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:79:2: (iv_ruleValue= ruleValue EOF )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:80:2: iv_ruleValue= ruleValue EOF
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:69:2: (iv_ruleValue= ruleValue EOF )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:70:2: iv_ruleValue= ruleValue EOF
             {
-             currentNode = createCompositeNode(grammarAccess.getValueRule(), currentNode); 
+             newCompositeNode(grammarAccess.getValueRule()); 
             pushFollow(FOLLOW_ruleValue_in_entryRuleValue75);
             iv_ruleValue=ruleValue();
-            _fsp--;
+
+            state._fsp--;
 
              current =iv_ruleValue; 
             match(input,EOF,FOLLOW_EOF_in_entryRuleValue85); 
@@ -108,11 +109,11 @@
         }
         return current;
     }
-    // $ANTLR end entryRuleValue
+    // $ANTLR end "entryRuleValue"
 
 
-    // $ANTLR start ruleValue
-    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:87:1: ruleValue returns [EObject current=null] : (this_IntValue_0= ruleIntValue | this_StringValue_1= ruleStringValue | this_RealValue_2= ruleRealValue | this_BooleanValue_3= ruleBooleanValue ) ;
+    // $ANTLR start "ruleValue"
+    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:77:1: ruleValue returns [EObject current=null] : (this_IntValue_0= ruleIntValue | this_StringValue_1= ruleStringValue | this_RealValue_2= ruleRealValue | this_BooleanValue_3= ruleBooleanValue ) ;
     public final EObject ruleValue() throws RecognitionException {
         EObject current = null;
 
@@ -125,13 +126,13 @@
         EObject this_BooleanValue_3 = null;
 
 
-         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
+         enterRule(); 
             
         try {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:92:6: ( (this_IntValue_0= ruleIntValue | this_StringValue_1= ruleStringValue | this_RealValue_2= ruleRealValue | this_BooleanValue_3= ruleBooleanValue ) )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:93:1: (this_IntValue_0= ruleIntValue | this_StringValue_1= ruleStringValue | this_RealValue_2= ruleRealValue | this_BooleanValue_3= ruleBooleanValue )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:80:28: ( (this_IntValue_0= ruleIntValue | this_StringValue_1= ruleStringValue | this_RealValue_2= ruleRealValue | this_BooleanValue_3= ruleBooleanValue ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:81:1: (this_IntValue_0= ruleIntValue | this_StringValue_1= ruleStringValue | this_RealValue_2= ruleRealValue | this_BooleanValue_3= ruleBooleanValue )
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:93:1: (this_IntValue_0= ruleIntValue | this_StringValue_1= ruleStringValue | this_RealValue_2= ruleRealValue | this_BooleanValue_3= ruleBooleanValue )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:81:1: (this_IntValue_0= ruleIntValue | this_StringValue_1= ruleStringValue | this_RealValue_2= ruleRealValue | this_BooleanValue_3= ruleBooleanValue )
             int alt1=4;
             switch ( input.LA(1) ) {
             case RULE_INTEGER:
@@ -157,76 +158,80 @@
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("93:1: (this_IntValue_0= ruleIntValue | this_StringValue_1= ruleStringValue | this_RealValue_2= ruleRealValue | this_BooleanValue_3= ruleBooleanValue )", 1, 0, input);
+                    new NoViableAltException("", 1, 0, input);
 
                 throw nvae;
             }
 
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:94:5: this_IntValue_0= ruleIntValue
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:82:5: this_IntValue_0= ruleIntValue
                     {
                      
-                            currentNode=createCompositeNode(grammarAccess.getValueAccess().getIntValueParserRuleCall_0(), currentNode); 
+                            newCompositeNode(grammarAccess.getValueAccess().getIntValueParserRuleCall_0()); 
                         
                     pushFollow(FOLLOW_ruleIntValue_in_ruleValue132);
                     this_IntValue_0=ruleIntValue();
-                    _fsp--;
+
+                    state._fsp--;
 
                      
                             current = this_IntValue_0; 
-                            currentNode = currentNode.getParent();
+                            afterParserOrEnumRuleCall();
                         
 
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:104:5: this_StringValue_1= ruleStringValue
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:92:5: this_StringValue_1= ruleStringValue
                     {
                      
-                            currentNode=createCompositeNode(grammarAccess.getValueAccess().getStringValueParserRuleCall_1(), currentNode); 
+                            newCompositeNode(grammarAccess.getValueAccess().getStringValueParserRuleCall_1()); 
                         
                     pushFollow(FOLLOW_ruleStringValue_in_ruleValue159);
                     this_StringValue_1=ruleStringValue();
-                    _fsp--;
+
+                    state._fsp--;
 
                      
                             current = this_StringValue_1; 
-                            currentNode = currentNode.getParent();
+                            afterParserOrEnumRuleCall();
                         
 
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:114:5: this_RealValue_2= ruleRealValue
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:102:5: this_RealValue_2= ruleRealValue
                     {
                      
-                            currentNode=createCompositeNode(grammarAccess.getValueAccess().getRealValueParserRuleCall_2(), currentNode); 
+                            newCompositeNode(grammarAccess.getValueAccess().getRealValueParserRuleCall_2()); 
                         
                     pushFollow(FOLLOW_ruleRealValue_in_ruleValue186);
                     this_RealValue_2=ruleRealValue();
-                    _fsp--;
+
+                    state._fsp--;
 
                      
                             current = this_RealValue_2; 
-                            currentNode = currentNode.getParent();
+                            afterParserOrEnumRuleCall();
                         
 
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:124:5: this_BooleanValue_3= ruleBooleanValue
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:112:5: this_BooleanValue_3= ruleBooleanValue
                     {
                      
-                            currentNode=createCompositeNode(grammarAccess.getValueAccess().getBooleanValueParserRuleCall_3(), currentNode); 
+                            newCompositeNode(grammarAccess.getValueAccess().getBooleanValueParserRuleCall_3()); 
                         
                     pushFollow(FOLLOW_ruleBooleanValue_in_ruleValue213);
                     this_BooleanValue_3=ruleBooleanValue();
-                    _fsp--;
+
+                    state._fsp--;
 
                      
                             current = this_BooleanValue_3; 
-                            currentNode = currentNode.getParent();
+                            afterParserOrEnumRuleCall();
                         
 
                     }
@@ -237,9 +242,7 @@
 
             }
 
-             resetLookahead(); 
-                	lastConsumedNode = currentNode;
-                
+             leaveRule(); 
         }
          
             catch (RecognitionException re) { 
@@ -250,11 +253,11 @@
         }
         return current;
     }
-    // $ANTLR end ruleValue
+    // $ANTLR end "ruleValue"
 
 
-    // $ANTLR start entryRuleIntValue
-    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:140:1: entryRuleIntValue returns [EObject current=null] : iv_ruleIntValue= ruleIntValue EOF ;
+    // $ANTLR start "entryRuleIntValue"
+    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:128:1: entryRuleIntValue returns [EObject current=null] : iv_ruleIntValue= ruleIntValue EOF ;
     public final EObject entryRuleIntValue() throws RecognitionException {
         EObject current = null;
 
@@ -262,13 +265,14 @@
 
 
         try {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:141:2: (iv_ruleIntValue= ruleIntValue EOF )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:142:2: iv_ruleIntValue= ruleIntValue EOF
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:129:2: (iv_ruleIntValue= ruleIntValue EOF )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:130:2: iv_ruleIntValue= ruleIntValue EOF
             {
-             currentNode = createCompositeNode(grammarAccess.getIntValueRule(), currentNode); 
+             newCompositeNode(grammarAccess.getIntValueRule()); 
             pushFollow(FOLLOW_ruleIntValue_in_entryRuleIntValue248);
             iv_ruleIntValue=ruleIntValue();
-            _fsp--;
+
+            state._fsp--;
 
              current =iv_ruleIntValue; 
             match(input,EOF,FOLLOW_EOF_in_entryRuleIntValue258); 
@@ -285,48 +289,41 @@
         }
         return current;
     }
-    // $ANTLR end entryRuleIntValue
+    // $ANTLR end "entryRuleIntValue"
 
 
-    // $ANTLR start ruleIntValue
-    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:149:1: ruleIntValue returns [EObject current=null] : ( (lv_value_0_0= RULE_INTEGER ) ) ;
+    // $ANTLR start "ruleIntValue"
+    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:137:1: ruleIntValue returns [EObject current=null] : ( (lv_value_0_0= RULE_INTEGER ) ) ;
     public final EObject ruleIntValue() throws RecognitionException {
         EObject current = null;
 
         Token lv_value_0_0=null;
 
-         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
+         enterRule(); 
             
         try {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:154:6: ( ( (lv_value_0_0= RULE_INTEGER ) ) )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:155:1: ( (lv_value_0_0= RULE_INTEGER ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:140:28: ( ( (lv_value_0_0= RULE_INTEGER ) ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:141:1: ( (lv_value_0_0= RULE_INTEGER ) )
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:155:1: ( (lv_value_0_0= RULE_INTEGER ) )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:156:1: (lv_value_0_0= RULE_INTEGER )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:141:1: ( (lv_value_0_0= RULE_INTEGER ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:142:1: (lv_value_0_0= RULE_INTEGER )
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:156:1: (lv_value_0_0= RULE_INTEGER )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:157:3: lv_value_0_0= RULE_INTEGER
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:142:1: (lv_value_0_0= RULE_INTEGER )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:143:3: lv_value_0_0= RULE_INTEGER
             {
-            lv_value_0_0=(Token)input.LT(1);
-            match(input,RULE_INTEGER,FOLLOW_RULE_INTEGER_in_ruleIntValue299); 
+            lv_value_0_0=(Token)match(input,RULE_INTEGER,FOLLOW_RULE_INTEGER_in_ruleIntValue299); 
 
-            			createLeafNode(grammarAccess.getIntValueAccess().getValueINTEGERTerminalRuleCall_0(), "value"); 
+            			newLeafNode(lv_value_0_0, grammarAccess.getIntValueAccess().getValueINTEGERTerminalRuleCall_0()); 
             		
 
             	        if (current==null) {
-            	            current = factory.create(grammarAccess.getIntValueRule().getType().getClassifier());
-            	            associateNodeWithAstElement(currentNode, current);
+            	            current = createModelElement(grammarAccess.getIntValueRule());
             	        }
-            	        try {
-            	       		set(
-            	       			current, 
-            	       			"value",
-            	        		lv_value_0_0, 
-            	        		"INTEGER", 
-            	        		lastConsumedNode);
-            	        } catch (ValueConverterException vce) {
-            				handleValueConverterException(vce);
-            	        }
+                   		setWithLastConsumed(
+                   			current, 
+                   			"value",
+                    		lv_value_0_0, 
+                    		"INTEGER");
             	    
 
             }
@@ -337,9 +334,7 @@
 
             }
 
-             resetLookahead(); 
-                	lastConsumedNode = currentNode;
-                
+             leaveRule(); 
         }
          
             catch (RecognitionException re) { 
@@ -350,11 +345,11 @@
         }
         return current;
     }
-    // $ANTLR end ruleIntValue
+    // $ANTLR end "ruleIntValue"
 
 
-    // $ANTLR start entryRuleRealValue
-    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:187:1: entryRuleRealValue returns [EObject current=null] : iv_ruleRealValue= ruleRealValue EOF ;
+    // $ANTLR start "entryRuleRealValue"
+    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:167:1: entryRuleRealValue returns [EObject current=null] : iv_ruleRealValue= ruleRealValue EOF ;
     public final EObject entryRuleRealValue() throws RecognitionException {
         EObject current = null;
 
@@ -362,13 +357,14 @@
 
 
         try {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:188:2: (iv_ruleRealValue= ruleRealValue EOF )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:189:2: iv_ruleRealValue= ruleRealValue EOF
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:168:2: (iv_ruleRealValue= ruleRealValue EOF )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:169:2: iv_ruleRealValue= ruleRealValue EOF
             {
-             currentNode = createCompositeNode(grammarAccess.getRealValueRule(), currentNode); 
+             newCompositeNode(grammarAccess.getRealValueRule()); 
             pushFollow(FOLLOW_ruleRealValue_in_entryRuleRealValue339);
             iv_ruleRealValue=ruleRealValue();
-            _fsp--;
+
+            state._fsp--;
 
              current =iv_ruleRealValue; 
             match(input,EOF,FOLLOW_EOF_in_entryRuleRealValue349); 
@@ -385,48 +381,41 @@
         }
         return current;
     }
-    // $ANTLR end entryRuleRealValue
+    // $ANTLR end "entryRuleRealValue"
 
 
-    // $ANTLR start ruleRealValue
-    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:196:1: ruleRealValue returns [EObject current=null] : ( (lv_value_0_0= RULE_REAL ) ) ;
+    // $ANTLR start "ruleRealValue"
+    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:176:1: ruleRealValue returns [EObject current=null] : ( (lv_value_0_0= RULE_REAL ) ) ;
     public final EObject ruleRealValue() throws RecognitionException {
         EObject current = null;
 
         Token lv_value_0_0=null;
 
-         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
+         enterRule(); 
             
         try {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:201:6: ( ( (lv_value_0_0= RULE_REAL ) ) )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:202:1: ( (lv_value_0_0= RULE_REAL ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:179:28: ( ( (lv_value_0_0= RULE_REAL ) ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:180:1: ( (lv_value_0_0= RULE_REAL ) )
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:202:1: ( (lv_value_0_0= RULE_REAL ) )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:203:1: (lv_value_0_0= RULE_REAL )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:180:1: ( (lv_value_0_0= RULE_REAL ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:181:1: (lv_value_0_0= RULE_REAL )
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:203:1: (lv_value_0_0= RULE_REAL )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:204:3: lv_value_0_0= RULE_REAL
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:181:1: (lv_value_0_0= RULE_REAL )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:182:3: lv_value_0_0= RULE_REAL
             {
-            lv_value_0_0=(Token)input.LT(1);
-            match(input,RULE_REAL,FOLLOW_RULE_REAL_in_ruleRealValue390); 
+            lv_value_0_0=(Token)match(input,RULE_REAL,FOLLOW_RULE_REAL_in_ruleRealValue390); 
 
-            			createLeafNode(grammarAccess.getRealValueAccess().getValueREALTerminalRuleCall_0(), "value"); 
+            			newLeafNode(lv_value_0_0, grammarAccess.getRealValueAccess().getValueREALTerminalRuleCall_0()); 
             		
 
             	        if (current==null) {
-            	            current = factory.create(grammarAccess.getRealValueRule().getType().getClassifier());
-            	            associateNodeWithAstElement(currentNode, current);
+            	            current = createModelElement(grammarAccess.getRealValueRule());
             	        }
-            	        try {
-            	       		set(
-            	       			current, 
-            	       			"value",
-            	        		lv_value_0_0, 
-            	        		"REAL", 
-            	        		lastConsumedNode);
-            	        } catch (ValueConverterException vce) {
-            				handleValueConverterException(vce);
-            	        }
+                   		setWithLastConsumed(
+                   			current, 
+                   			"value",
+                    		lv_value_0_0, 
+                    		"REAL");
             	    
 
             }
@@ -437,9 +426,7 @@
 
             }
 
-             resetLookahead(); 
-                	lastConsumedNode = currentNode;
-                
+             leaveRule(); 
         }
          
             catch (RecognitionException re) { 
@@ -450,11 +437,11 @@
         }
         return current;
     }
-    // $ANTLR end ruleRealValue
+    // $ANTLR end "ruleRealValue"
 
 
-    // $ANTLR start entryRuleStringValue
-    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:234:1: entryRuleStringValue returns [EObject current=null] : iv_ruleStringValue= ruleStringValue EOF ;
+    // $ANTLR start "entryRuleStringValue"
+    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:206:1: entryRuleStringValue returns [EObject current=null] : iv_ruleStringValue= ruleStringValue EOF ;
     public final EObject entryRuleStringValue() throws RecognitionException {
         EObject current = null;
 
@@ -462,13 +449,14 @@
 
 
         try {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:235:2: (iv_ruleStringValue= ruleStringValue EOF )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:236:2: iv_ruleStringValue= ruleStringValue EOF
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:207:2: (iv_ruleStringValue= ruleStringValue EOF )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:208:2: iv_ruleStringValue= ruleStringValue EOF
             {
-             currentNode = createCompositeNode(grammarAccess.getStringValueRule(), currentNode); 
+             newCompositeNode(grammarAccess.getStringValueRule()); 
             pushFollow(FOLLOW_ruleStringValue_in_entryRuleStringValue430);
             iv_ruleStringValue=ruleStringValue();
-            _fsp--;
+
+            state._fsp--;
 
              current =iv_ruleStringValue; 
             match(input,EOF,FOLLOW_EOF_in_entryRuleStringValue440); 
@@ -485,48 +473,41 @@
         }
         return current;
     }
-    // $ANTLR end entryRuleStringValue
+    // $ANTLR end "entryRuleStringValue"
 
 
-    // $ANTLR start ruleStringValue
-    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:243:1: ruleStringValue returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ;
+    // $ANTLR start "ruleStringValue"
+    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:215:1: ruleStringValue returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ;
     public final EObject ruleStringValue() throws RecognitionException {
         EObject current = null;
 
         Token lv_value_0_0=null;
 
-         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
+         enterRule(); 
             
         try {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:248:6: ( ( (lv_value_0_0= RULE_STRING ) ) )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:249:1: ( (lv_value_0_0= RULE_STRING ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:218:28: ( ( (lv_value_0_0= RULE_STRING ) ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:219:1: ( (lv_value_0_0= RULE_STRING ) )
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:249:1: ( (lv_value_0_0= RULE_STRING ) )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:250:1: (lv_value_0_0= RULE_STRING )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:219:1: ( (lv_value_0_0= RULE_STRING ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:220:1: (lv_value_0_0= RULE_STRING )
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:250:1: (lv_value_0_0= RULE_STRING )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:251:3: lv_value_0_0= RULE_STRING
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:220:1: (lv_value_0_0= RULE_STRING )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:221:3: lv_value_0_0= RULE_STRING
             {
-            lv_value_0_0=(Token)input.LT(1);
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleStringValue481); 
+            lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleStringValue481); 
 
-            			createLeafNode(grammarAccess.getStringValueAccess().getValueSTRINGTerminalRuleCall_0(), "value"); 
+            			newLeafNode(lv_value_0_0, grammarAccess.getStringValueAccess().getValueSTRINGTerminalRuleCall_0()); 
             		
 
             	        if (current==null) {
-            	            current = factory.create(grammarAccess.getStringValueRule().getType().getClassifier());
-            	            associateNodeWithAstElement(currentNode, current);
+            	            current = createModelElement(grammarAccess.getStringValueRule());
             	        }
-            	        try {
-            	       		set(
-            	       			current, 
-            	       			"value",
-            	        		lv_value_0_0, 
-            	        		"STRING", 
-            	        		lastConsumedNode);
-            	        } catch (ValueConverterException vce) {
-            				handleValueConverterException(vce);
-            	        }
+                   		setWithLastConsumed(
+                   			current, 
+                   			"value",
+                    		lv_value_0_0, 
+                    		"STRING");
             	    
 
             }
@@ -537,9 +518,7 @@
 
             }
 
-             resetLookahead(); 
-                	lastConsumedNode = currentNode;
-                
+             leaveRule(); 
         }
          
             catch (RecognitionException re) { 
@@ -550,11 +529,11 @@
         }
         return current;
     }
-    // $ANTLR end ruleStringValue
+    // $ANTLR end "ruleStringValue"
 
 
-    // $ANTLR start entryRuleBooleanValue
-    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:281:1: entryRuleBooleanValue returns [EObject current=null] : iv_ruleBooleanValue= ruleBooleanValue EOF ;
+    // $ANTLR start "entryRuleBooleanValue"
+    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:245:1: entryRuleBooleanValue returns [EObject current=null] : iv_ruleBooleanValue= ruleBooleanValue EOF ;
     public final EObject entryRuleBooleanValue() throws RecognitionException {
         EObject current = null;
 
@@ -562,13 +541,14 @@
 
 
         try {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:282:2: (iv_ruleBooleanValue= ruleBooleanValue EOF )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:283:2: iv_ruleBooleanValue= ruleBooleanValue EOF
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:246:2: (iv_ruleBooleanValue= ruleBooleanValue EOF )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:247:2: iv_ruleBooleanValue= ruleBooleanValue EOF
             {
-             currentNode = createCompositeNode(grammarAccess.getBooleanValueRule(), currentNode); 
+             newCompositeNode(grammarAccess.getBooleanValueRule()); 
             pushFollow(FOLLOW_ruleBooleanValue_in_entryRuleBooleanValue521);
             iv_ruleBooleanValue=ruleBooleanValue();
-            _fsp--;
+
+            state._fsp--;
 
              current =iv_ruleBooleanValue; 
             match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanValue531); 
@@ -585,52 +565,47 @@
         }
         return current;
     }
-    // $ANTLR end entryRuleBooleanValue
+    // $ANTLR end "entryRuleBooleanValue"
 
 
-    // $ANTLR start ruleBooleanValue
-    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:290:1: ruleBooleanValue returns [EObject current=null] : ( (lv_value_0_0= ruleBOOLEAN ) ) ;
+    // $ANTLR start "ruleBooleanValue"
+    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:254:1: ruleBooleanValue returns [EObject current=null] : ( (lv_value_0_0= ruleBOOLEAN ) ) ;
     public final EObject ruleBooleanValue() throws RecognitionException {
         EObject current = null;
 
         Enumerator lv_value_0_0 = null;
 
 
-         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
+         enterRule(); 
             
         try {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:295:6: ( ( (lv_value_0_0= ruleBOOLEAN ) ) )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:296:1: ( (lv_value_0_0= ruleBOOLEAN ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:257:28: ( ( (lv_value_0_0= ruleBOOLEAN ) ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:258:1: ( (lv_value_0_0= ruleBOOLEAN ) )
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:296:1: ( (lv_value_0_0= ruleBOOLEAN ) )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:297:1: (lv_value_0_0= ruleBOOLEAN )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:258:1: ( (lv_value_0_0= ruleBOOLEAN ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:259:1: (lv_value_0_0= ruleBOOLEAN )
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:297:1: (lv_value_0_0= ruleBOOLEAN )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:298:3: lv_value_0_0= ruleBOOLEAN
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:259:1: (lv_value_0_0= ruleBOOLEAN )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:260:3: lv_value_0_0= ruleBOOLEAN
             {
              
-            	        currentNode=createCompositeNode(grammarAccess.getBooleanValueAccess().getValueBOOLEANEnumRuleCall_0(), currentNode); 
+            	        newCompositeNode(grammarAccess.getBooleanValueAccess().getValueBOOLEANEnumRuleCall_0()); 
             	    
             pushFollow(FOLLOW_ruleBOOLEAN_in_ruleBooleanValue576);
             lv_value_0_0=ruleBOOLEAN();
-            _fsp--;
+
+            state._fsp--;
 
 
             	        if (current==null) {
-            	            current = factory.create(grammarAccess.getBooleanValueRule().getType().getClassifier());
-            	            associateNodeWithAstElement(currentNode.getParent(), current);
+            	            current = createModelElementForParent(grammarAccess.getBooleanValueRule());
             	        }
-            	        try {
-            	       		set(
-            	       			current, 
-            	       			"value",
-            	        		lv_value_0_0, 
-            	        		"BOOLEAN", 
-            	        		currentNode);
-            	        } catch (ValueConverterException vce) {
-            				handleValueConverterException(vce);
-            	        }
-            	        currentNode = currentNode.getParent();
+                   		set(
+                   			current, 
+                   			"value",
+                    		lv_value_0_0, 
+                    		"BOOLEAN");
+            	        afterParserOrEnumRuleCall();
             	    
 
             }
@@ -641,9 +616,7 @@
 
             }
 
-             resetLookahead(); 
-                	lastConsumedNode = currentNode;
-                
+             leaveRule(); 
         }
          
             catch (RecognitionException re) { 
@@ -654,20 +627,23 @@
         }
         return current;
     }
-    // $ANTLR end ruleBooleanValue
+    // $ANTLR end "ruleBooleanValue"
 
 
-    // $ANTLR start ruleBOOLEAN
-    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:328:1: ruleBOOLEAN returns [Enumerator current=null] : ( ( 'true' ) | ( 'false' ) ) ;
+    // $ANTLR start "ruleBOOLEAN"
+    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:284:1: ruleBOOLEAN returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) ) ;
     public final Enumerator ruleBOOLEAN() throws RecognitionException {
         Enumerator current = null;
 
-         setCurrentLookahead(); resetLookahead(); 
+        Token enumLiteral_0=null;
+        Token enumLiteral_1=null;
+
+         enterRule(); 
         try {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:332:6: ( ( ( 'true' ) | ( 'false' ) ) )
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:333:1: ( ( 'true' ) | ( 'false' ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:286:28: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:287:1: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) )
             {
-            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:333:1: ( ( 'true' ) | ( 'false' ) )
+            // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:287:1: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) )
             int alt2=2;
             int LA2_0 = input.LA(1);
 
@@ -679,21 +655,21 @@
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("333:1: ( ( 'true' ) | ( 'false' ) )", 2, 0, input);
+                    new NoViableAltException("", 2, 0, input);
 
                 throw nvae;
             }
             switch (alt2) {
                 case 1 :
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:333:2: ( 'true' )
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:287:2: (enumLiteral_0= 'true' )
                     {
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:333:2: ( 'true' )
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:333:4: 'true'
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:287:2: (enumLiteral_0= 'true' )
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:287:4: enumLiteral_0= 'true'
                     {
-                    match(input,14,FOLLOW_14_in_ruleBOOLEAN623); 
+                    enumLiteral_0=(Token)match(input,14,FOLLOW_14_in_ruleBOOLEAN625); 
 
                             current = grammarAccess.getBOOLEANAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-                            createLeafNode(grammarAccess.getBOOLEANAccess().getTRUEEnumLiteralDeclaration_0(), null); 
+                            newLeafNode(enumLiteral_0, grammarAccess.getBOOLEANAccess().getTRUEEnumLiteralDeclaration_0()); 
                         
 
                     }
@@ -702,15 +678,15 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:339:6: ( 'false' )
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:293:6: (enumLiteral_1= 'false' )
                     {
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:339:6: ( 'false' )
-                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:339:8: 'false'
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:293:6: (enumLiteral_1= 'false' )
+                    // ../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g:293:8: enumLiteral_1= 'false'
                     {
-                    match(input,15,FOLLOW_15_in_ruleBOOLEAN638); 
+                    enumLiteral_1=(Token)match(input,15,FOLLOW_15_in_ruleBOOLEAN642); 
 
                             current = grammarAccess.getBOOLEANAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-                            createLeafNode(grammarAccess.getBOOLEANAccess().getFALSEEnumLiteralDeclaration_1(), null); 
+                            newLeafNode(enumLiteral_1, grammarAccess.getBOOLEANAccess().getFALSEEnumLiteralDeclaration_1()); 
                         
 
                     }
@@ -724,9 +700,7 @@
 
             }
 
-             resetLookahead(); 
-                	lastConsumedNode = currentNode;
-                
+             leaveRule(); 
         }
          
             catch (RecognitionException re) { 
@@ -737,7 +711,9 @@
         }
         return current;
     }
-    // $ANTLR end ruleBOOLEAN
+    // $ANTLR end "ruleBOOLEAN"
+
+    // Delegated rules
 
 
  
@@ -760,7 +736,7 @@
     public static final BitSet FOLLOW_ruleBooleanValue_in_entryRuleBooleanValue521 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleBooleanValue531 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBOOLEAN_in_ruleBooleanValue576 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_ruleBOOLEAN623 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_ruleBOOLEAN638 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_14_in_ruleBOOLEAN625 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_ruleBOOLEAN642 = new BitSet(new long[]{0x0000000000000002L});
 
 }
\ No newline at end of file
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase__.g b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase__.g
deleted file mode 100644
index 19f14ea..0000000
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase__.g
+++ /dev/null
@@ -1,43 +0,0 @@
-lexer grammar InternalABase;
-@header {
-package org.eclipse.amp.amf.abase.parser.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.parser.antlr.Lexer;
-}
-
-T14 : 'true' ;
-T15 : 'false' ;
-
-// $ANTLR src "../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g" 348
-RULE_INTEGER : '-'? ('0'..'9')+;
-
-// $ANTLR src "../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g" 350
-RULE_REAL : '-'? ('0'..'9')* '.' ('0'..'9')*;
-
-// $ANTLR src "../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g" 352
-RULE_DESC_STRING : '\u00AB' ('\\' ('b'|'t'|'n'|'f'|'r'|'\u00AB'|'\u00BB'|'\\')|~(('\\'|'\u00AB'|'\u00BB')))* '\u00BB';
-
-// $ANTLR src "../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g" 354
-RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
-
-// $ANTLR src "../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g" 356
-RULE_INT : ('0'..'9')+;
-
-// $ANTLR src "../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g" 358
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
-
-// $ANTLR src "../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g" 360
-RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
-
-// $ANTLR src "../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g" 362
-RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
-
-// $ANTLR src "../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g" 364
-RULE_WS : (' '|'\t'|'\r'|'\n')+;
-
-// $ANTLR src "../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/parser/antlr/internal/InternalABase.g" 366
-RULE_ANY_OTHER : .;
-
-
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/services/ABaseGrammarAccess.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/services/ABaseGrammarAccess.java
index 182ca21..d927ba6 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/services/ABaseGrammarAccess.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/services/ABaseGrammarAccess.java
@@ -26,10 +26,10 @@
 		private final RuleCall cBooleanValueParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
 		
 		//Value:
-		//  IntValue|StringValue|RealValue|BooleanValue;
+		//	IntValue | StringValue | RealValue | BooleanValue;
 		public ParserRule getRule() { return rule; }
 
-		//IntValue|StringValue|RealValue|BooleanValue
+		//IntValue | StringValue | RealValue | BooleanValue
 		public Alternatives getAlternatives() { return cAlternatives; }
 
 		//IntValue
@@ -51,7 +51,7 @@
 		private final RuleCall cValueINTEGERTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
 		
 		//IntValue:
-		//  value=INTEGER;
+		//	value=INTEGER;
 		public ParserRule getRule() { return rule; }
 
 		//value=INTEGER
@@ -67,7 +67,7 @@
 		private final RuleCall cValueREALTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
 		
 		//RealValue:
-		//  value=REAL;
+		//	value=REAL;
 		public ParserRule getRule() { return rule; }
 
 		//value=REAL
@@ -83,7 +83,7 @@
 		private final RuleCall cValueSTRINGTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
 		
 		//StringValue:
-		//  value=STRING;
+		//	value=STRING;
 		public ParserRule getRule() { return rule; }
 
 		//value=STRING
@@ -99,7 +99,7 @@
 		private final RuleCall cValueBOOLEANEnumRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
 		
 		//BooleanValue:
-		//  value=BOOLEAN;
+		//	value=BOOLEAN;
 		public ParserRule getRule() { return rule; }
 
 		//value=BOOLEAN
@@ -119,7 +119,7 @@
 		private final Keyword cFALSEFalseKeyword_1_0 = (Keyword)cFALSEEnumLiteralDeclaration_1.eContents().get(0);
 		
 		//enum BOOLEAN:
-		//  TRUE="true" | FALSE="false";
+		//	TRUE="true" | FALSE="false";
 		public EnumRule getRule() { return rule; }
 
 		//TRUE="true" | FALSE="false"
@@ -170,7 +170,7 @@
 
 	
 	//Value:
-	//  IntValue|StringValue|RealValue|BooleanValue;
+	//	IntValue | StringValue | RealValue | BooleanValue;
 	public ValueElements getValueAccess() {
 		return (pValue != null) ? pValue : (pValue = new ValueElements());
 	}
@@ -180,7 +180,7 @@
 	}
 
 	//IntValue:
-	//  value=INTEGER;
+	//	value=INTEGER;
 	public IntValueElements getIntValueAccess() {
 		return (pIntValue != null) ? pIntValue : (pIntValue = new IntValueElements());
 	}
@@ -190,7 +190,7 @@
 	}
 
 	//RealValue:
-	//  value=REAL;
+	//	value=REAL;
 	public RealValueElements getRealValueAccess() {
 		return (pRealValue != null) ? pRealValue : (pRealValue = new RealValueElements());
 	}
@@ -200,7 +200,7 @@
 	}
 
 	//StringValue:
-	//  value=STRING;
+	//	value=STRING;
 	public StringValueElements getStringValueAccess() {
 		return (pStringValue != null) ? pStringValue : (pStringValue = new StringValueElements());
 	}
@@ -210,7 +210,7 @@
 	}
 
 	//BooleanValue:
-	//  value=BOOLEAN;
+	//	value=BOOLEAN;
 	public BooleanValueElements getBooleanValueAccess() {
 		return (pBooleanValue != null) ? pBooleanValue : (pBooleanValue = new BooleanValueElements());
 	}
@@ -220,7 +220,7 @@
 	}
 
 	//enum BOOLEAN:
-	//  TRUE="true" | FALSE="false";
+	//	TRUE="true" | FALSE="false";
 	public BOOLEANElements getBOOLEANAccess() {
 		return (unknownRuleBOOLEAN != null) ? unknownRuleBOOLEAN : (unknownRuleBOOLEAN = new BOOLEANElements());
 	}
@@ -230,64 +230,62 @@
 	}
 
 	//terminal INTEGER:
-	//  "-"? "0".."9"+;
+	//	"-"? "0".."9"+;
 	public TerminalRule getINTEGERRule() {
 		return (tINTEGER != null) ? tINTEGER : (tINTEGER = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "INTEGER"));
 	} 
 
 	//terminal REAL:
-	//  "-"? "0".."9"* "." "0".."9"*;
+	//	"-"? "0".."9"* "." "0".."9"*;
 	public TerminalRule getREALRule() {
 		return (tREAL != null) ? tREAL : (tREAL = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "REAL"));
 	} 
 
 	//terminal DESC_STRING:
-	//  "«" ("\\" ("b" | "t" | "n" | "f" | "r" | "«" | "»" | "\\") | !("\\" | "«" |
-	//  "»"))* "»";
+	//	"«" ("\\" ("b" | "t" | "n" | "f" | "r" | "«" | "»" | "\\") | !("\\" | "«" | "»"))* "»";
 	public TerminalRule getDESC_STRINGRule() {
 		return (tDESC_STRING != null) ? tDESC_STRING : (tDESC_STRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "DESC_STRING"));
 	} 
 
 	//terminal ID:
-	//  "^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
+	//	"^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
 	public TerminalRule getIDRule() {
 		return gaTerminals.getIDRule();
 	} 
 
 	//terminal INT returns ecore::EInt:
-	//  "0".."9"+;
+	//	"0".."9"+;
 	public TerminalRule getINTRule() {
 		return gaTerminals.getINTRule();
 	} 
 
 	//terminal STRING:
-	//  "\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "\"" | "\'" | "\\") | !("\\" | "\""
-	//  ))* "\"" | "\'" ("\\" ("b" | "t" | "n" | "f" | "r" | "\"" | "\'" | "\\") | !(
-	//  "\\" | "\'"))* "\'";
+	//	"\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" |
+	//	"n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'";
 	public TerminalRule getSTRINGRule() {
 		return gaTerminals.getSTRINGRule();
 	} 
 
 	//terminal ML_COMMENT:
-	//  "/ *"->"* /";
+	//	"/ *"->"* /";
 	public TerminalRule getML_COMMENTRule() {
 		return gaTerminals.getML_COMMENTRule();
 	} 
 
 	//terminal SL_COMMENT:
-	//  "//" !("\n" | "\r")* ("\r"? "\n")?;
+	//	"//" !("\n" | "\r")* ("\r"? "\n")?;
 	public TerminalRule getSL_COMMENTRule() {
 		return gaTerminals.getSL_COMMENTRule();
 	} 
 
 	//terminal WS:
-	//  (" " | "\t" | "\r" | "\n")+;
+	//	(" " | "\t" | "\r" | "\n")+;
 	public TerminalRule getWSRule() {
 		return gaTerminals.getWSRule();
 	} 
 
 	//terminal ANY_OTHER:
-	//  .;
+	//	.;
 	public TerminalRule getANY_OTHERRule() {
 		return gaTerminals.getANY_OTHERRule();
 	} 
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/validation/AbstractABaseJavaValidator.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/validation/AbstractABaseJavaValidator.java
index 0078a51..4864878 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/validation/AbstractABaseJavaValidator.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/validation/AbstractABaseJavaValidator.java
@@ -10,7 +10,7 @@
 @ComposedChecks(validators= {org.eclipse.xtext.validation.ImportUriValidator.class, org.eclipse.xtext.validation.NamesAreUniqueValidator.class})
 public class AbstractABaseJavaValidator extends AbstractDeclarativeValidator {
 
-@Override
+	@Override
 	protected List<EPackage> getEPackages() {
 	    List<EPackage> result = new ArrayList<EPackage>();
 	    result.add(org.eclipse.amp.amf.abase.aBase.ABasePackage.eINSTANCE);
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/AMPTerminalConverters.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/AMPTerminalConverters.java
index d903900..91dc5f2 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/AMPTerminalConverters.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/AMPTerminalConverters.java
@@ -20,7 +20,7 @@
 import org.eclipse.xtext.conversion.IValueConverter;
 import org.eclipse.xtext.conversion.ValueConverter;
 import org.eclipse.xtext.conversion.impl.AbstractNullSafeConverter;
-import org.eclipse.xtext.parsetree.AbstractNode;
+import org.eclipse.xtext.nodemodel.INode;
 import org.eclipse.xtext.util.Strings;
 
 /**
@@ -34,7 +34,7 @@
     public IValueConverter<String> DESC_STRING() {
         return new AbstractNullSafeConverter<String>() {
             @Override
-            protected String internalToValue(String string, AbstractNode node) {
+            protected String internalToValue(String string, INode node) {
                 return string.substring(1, string.length() - 1);
             }
 
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/GenerateABase.mwe b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/GenerateABase.mwe
index b69d14e..50094f9 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/GenerateABase.mwe
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/GenerateABase.mwe
@@ -43,7 +43,7 @@
 			
             
 			<!-- scoping API -->
-			<fragment class="org.eclipse.xtext.generator.scoping.JavaScopingFragment"/>
+		<!-- 	<fragment class="org.eclipse.xtext.generator.scoping.JavaScopingFragment"/>-->
 			
 			<!-- formatter API -->
 			<fragment class="org.eclipse.xtext.generator.formatting.FormatterFragment"/>
@@ -52,8 +52,8 @@
 			<fragment class="org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment"/>
 
 			<!-- outline API -->
-			<fragment class="org.eclipse.xtext.ui.generator.outline.TransformerFragment"/>
-			<fragment class="org.eclipse.xtext.ui.generator.outline.OutlineNodeAdapterFactoryFragment"/>
+<!-- 			<fragment class="org.eclipse.xtext.ui.generator.outline.TransformerFragment"/>
+			<fragment class="org.eclipse.xtext.ui.generator.outline.OutlineNodeAdapterFactoryFragment"/> -->
 
 			
 			<!-- java-based API for content assistance -->
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/GenerateABase.mwe2 b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/GenerateABase.mwe2
index 3bd1e69..ffc2818 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/GenerateABase.mwe2
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/GenerateABase.mwe2
@@ -11,6 +11,7 @@
 
 Workflow {
     bean = StandaloneSetup {
+	    scanClassPath = true
 		platformUri = "${runtimeProject}/.."
 	}
 	
@@ -48,18 +49,12 @@
 				fileExtensions = file.extensions
 			}
 				
-			// the following fragment tries to use the Antlr Generator fragment which can be installed via update manager from http://download.itemis.com/updates/
-			fragment = AntlrDelegatingFragment {}
-			
-			/*
-			If you don't want to use the Antlr fragment for some reason, remove the antlr fragment and uncomment the packrat parser fragment below.
-			fragment = parser.PackratParserFragment {}
-			*/
-			
-			// check-based API for validation
-			/*
-			fragment = validation.CheckFragment {}
-			*/
+			// The antlr parser generator fragment.
+			fragment = parser.antlr.XtextAntlrGeneratorFragment {
+			//  options = {
+			//		backtrack = true
+			//	}
+			}
 			 
 			// java-based API for validation 
 			fragment = validation.JavaValidatorFragment {
@@ -74,6 +69,13 @@
 			// scoping and exporting API 
 			//fragment = scoping.ImportNamespacesScopingFragment {}
 			//fragment = exporting.QualifiedNamesFragment {}
+			fragment = builder.BuilderIntegrationFragment {}
+
+			// generator API
+			fragment = generator.GeneratorFragment {
+				generateMwe = true
+				generateJavaMain = true
+			}
 			
 			// formatter API 
 			fragment = formatting.FormatterFragment {}
@@ -82,32 +84,33 @@
 			fragment = labeling.LabelProviderFragment {}
 
 			// outline API 
-			fragment = outline.TransformerFragment {}
-			fragment = outline.OutlineNodeAdapterFactoryFragment {}
+			fragment = outline.OutlineTreeProviderFragment {}
 			fragment = outline.QuickOutlineFragment {}
 
-			// java-based API for content assistance 
+			// quickfix API 
+			fragment = quickfix.QuickfixProviderFragment {}
+
+			// content assist API  
 			fragment = contentAssist.JavaBasedContentAssistFragment {}
 			
-			// the following fragment tries to use the Antlr based content assist 
-			//     fragment which can be downloaded from http://www.itemis.com 
-			//     and will be ignored if it's not available. 
-			fragment = DelegatingGeneratorFragment { 
-				delegate = "de.itemis.xtext.antlr.XtextAntlrUiGeneratorFragment"
-			}
+			// rename refactoring  
+			fragment = refactoring.RefactorElementNameFragment {}
 
-			fragment = builder.BuilderIntegrationFragment {}
+			// generates a more lightweight Antlr parser and lexer tailored for content assist  
+			fragment = parser.antlr.XtextAntlrUiGeneratorFragment {}
+
+			// generates junit test support classes into Generator#pathTestProject
+			fragment = junit.Junit4Fragment {}
 
 			// project wizard (optional) 
-			/*
-			fragment = projectWizard.SimpleProjectWizardFragment {
-				generatorProjectName = "${projectName}.generator" 
-				modelFileExtension = file.extensions
-			}
-			*/
+			// fragment = projectWizard.SimpleProjectWizardFragment {
+			// 		generatorProjectName = "${projectName}.generator" 
+			//		modelFileExtension = file.extensions
+			// }
 			
-			// quickfix API 
-			fragment = quickfix.QuickfixProviderFragment {}			
+			fragment = types.TypesGeneratorFragment {}
+			// generates the required bindings only if the grammar inherits from Xbase
+			fragment = xbase.XbaseGeneratorFragment {}
 		}
 	}
 }
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/generator/ABaseGenerator.xtend b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/generator/ABaseGenerator.xtend
new file mode 100644
index 0000000..21b680e
--- /dev/null
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/generator/ABaseGenerator.xtend
@@ -0,0 +1,15 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.amp.amf.abase.generator
+
+import org.eclipse.emf.ecore.resource.Resource
+import org.eclipse.xtext.generator.IGenerator
+import org.eclipse.xtext.generator.IFileSystemAccess
+
+class ABaseGenerator implements IGenerator {
+	
+	override void doGenerate(Resource resource, IFileSystemAccess fsa) {
+		//TODO implment me
+	}
+}
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/generator/ABaseGeneratorMWE.mwe2 b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/generator/ABaseGeneratorMWE.mwe2
new file mode 100644
index 0000000..7ee4c17
--- /dev/null
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/generator/ABaseGeneratorMWE.mwe2
@@ -0,0 +1,32 @@
+
+module org.eclipse.amp.amf.abase.generator.ABaseGeneratorMWE
+
+import org.eclipse.emf.mwe.utils.*
+
+var targetDir
+var modelPath
+
+Workflow {
+
+	component = org.eclipse.xtext.mwe.Reader {
+		// lookup all resources on the classpath
+		// useJavaClassPath = true
+
+		// or define search scope explicitly
+		path = modelPath
+
+		// this class will be generated by the xtext generator 
+		register = org.eclipse.amp.amf.abase.ABaseStandaloneSetup {}
+		loadResource = {
+			slot = "model"
+		}
+	}
+
+	component = org.eclipse.xtext.generator.GeneratorComponent {
+		register = org.eclipse.amp.amf.abase.ABaseStandaloneSetup {}
+		slot = 'model'
+		outlet = {
+			path = targetDir
+		}
+	}
+}
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/generator/Main.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/generator/Main.java
new file mode 100644
index 0000000..37d05b8
--- /dev/null
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.abase/src/org/eclipse/amp/amf/abase/generator/Main.java
@@ -0,0 +1,67 @@
+
+/*
+ * generated by Xtext
+ */
+package org.eclipse.amp.amf.abase.generator;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.xtext.generator.IGenerator;
+import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.util.CancelIndicator;
+import org.eclipse.xtext.validation.CheckMode;
+import org.eclipse.xtext.validation.IResourceValidator;
+import org.eclipse.xtext.validation.Issue;
+
+import com.google.inject.Inject;
+import com.google.inject.Injector;
+import com.google.inject.Provider;
+
+public class Main {
+	
+	public static void main(String[] args) {
+		if (args.length==0) {
+			System.err.println("Aborting: no path to EMF resource provided!");
+			return;
+		}
+		Injector injector = new org.eclipse.amp.amf.abase.ABaseStandaloneSetupGenerated().createInjectorAndDoEMFRegistration();
+		Main main = injector.getInstance(Main.class);
+		main.runGenerator(args[0]);
+	}
+	
+	@Inject 
+	private Provider<ResourceSet> resourceSetProvider;
+	
+	@Inject
+	private IResourceValidator validator;
+	
+	@Inject
+	private IGenerator generator;
+	
+	@Inject 
+	private JavaIoFileSystemAccess fileAccess;
+
+	protected void runGenerator(String string) {
+		// load the resource
+		ResourceSet set = resourceSetProvider.get();
+		Resource resource = set.getResource(URI.createURI(string), true);
+		
+		// validate the resource
+		List<Issue> list = validator.validate(resource, CheckMode.ALL, CancelIndicator.NullImpl);
+		if (!list.isEmpty()) {
+			for (Issue issue : list) {
+				System.err.println(issue);
+			}
+			return;
+		}
+		
+		// configure and start the generator
+		fileAccess.setOutputPath("src-gen/");
+		generator.doGenerate(resource, fileAccess);
+		
+		System.out.println("Code generation finished.");
+	}
+}
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.acore.edit/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.acore.edit/META-INF/MANIFEST.MF
index ad4e358..ab312cb 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.acore.edit/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.acore.edit/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.amf.acore.edit;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.metaabm.provider.MetaABMEditPlugin$Implementation
 Bundle-Vendor: %providerName
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.acore.editor/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.acore.editor/META-INF/MANIFEST.MF
index d50b019..0423117 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.acore.editor/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.acore.editor/META-INF/MANIFEST.MF
@@ -10,7 +10,7 @@
  org.eclipse.emf.java;bundle-version="2.5.0",
  org.eclipse.ui.views.properties.tabbed
 Bundle-SymbolicName: org.eclipse.amp.amf.acore.editor;singleton=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-Localization: plugin
 Bundle-Name: %pluginName
 Provide-Package: org.metaabm.act.ide,
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.acore/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.acore/META-INF/MANIFEST.MF
index d2a206b..f28aa34 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.acore/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.acore/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.amf.acore;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.data.edit/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.data.edit/META-INF/MANIFEST.MF
index 2b967a3..1bac208 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.data.edit/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.data.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.amf.data.edit;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.amp.amf.adata.provider.ADataEditPlugin$Implementation
 Bundle-Vendor: %providerName
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.data.editor/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.data.editor/META-INF/MANIFEST.MF
index b4a9a91..a34df71 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.data.editor/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.data.editor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.amf.data.editor;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.amp.amf.adata.presentation.ADataEditorPlugin$Implementation
 Bundle-Vendor: %providerName
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.data/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.data/META-INF/MANIFEST.MF
index d305e5c..8e0e3b5 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.data/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.data/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.amf.data;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ascape/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ascape/META-INF/MANIFEST.MF
index 78ae5ff..1f5f5ea 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ascape/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ascape/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.amp.amf.gen.ascape;singleton:=true
 Bundle-Name: %pluginName
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.amp.amf.acore,
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.escape/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.escape/META-INF/MANIFEST.MF
index e3a17da..7a7724a 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.escape/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.escape/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.amp.amf.gen.escape;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.amp.amf.acore,
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.extras/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.extras/META-INF/MANIFEST.MF
index 5af553c..36fd644 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.extras/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.extras/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.amp.amf.gen.extras;singleton:=true
 Bundle-Name: %pluginName
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.emf.ecore.editor,
  org.eclipse.jdt.core,
@@ -11,9 +11,9 @@
  org.eclipse.debug.ui,
  org.eclipse.amp.amf.acore,
  org.eclipse.core.runtime,
- org.eclipse.amp.amf.gen;bundle-version="0.8.1",
- org.eclipse.amp.amf.ide;bundle-version="0.8.1",
- org.eclipse.amp.amf.gen.ide;bundle-version="0.8.1"
+ org.eclipse.amp.amf.gen;bundle-version="0.8.5",
+ org.eclipse.amp.amf.ide;bundle-version="0.8.5",
+ org.eclipse.amp.amf.gen.ide;bundle-version="0.8.5"
 Export-Package: 
  metaabm.ext.tmpl,
  org.eclipse.amp.amf.gen.ext,
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ide/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ide/META-INF/MANIFEST.MF
index 0fec615..80f0a7c 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ide/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ide/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.amf.gen.ide;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-Activator: org.eclipse.amp.amf.gen.ide.GenIDEPlugin$Implementation
 Bundle-Vendor: %providerName
 Require-Bundle: org.eclipse.core.resources,
@@ -13,8 +13,8 @@
  org.eclipse.emf.common.ui,
  org.eclipse.ui.ide,
  org.eclipse.xtend;bundle-version="1.0.0",
- org.eclipse.xtend.typesystem.emf;bundle-version="1.0.0",
- org.eclipse.amp.amf.gen;bundle-version="0.8.1"
+ org.eclipse.xtend.typesystem.emf,
+ org.eclipse.amp.amf.gen;bundle-version="0.8.5"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy
 Bundle-ClassPath: .
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ide/src/org/eclipse/amp/amf/gen/ide/AbstractMWEBuilder.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ide/src/org/eclipse/amp/amf/gen/ide/AbstractMWEBuilder.java
index e5914c1..1c07285 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ide/src/org/eclipse/amp/amf/gen/ide/AbstractMWEBuilder.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ide/src/org/eclipse/amp/amf/gen/ide/AbstractMWEBuilder.java
@@ -30,6 +30,7 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.mwe.core.WorkflowEngine;
 import org.eclipse.emf.mwe.core.WorkflowRunner;
 import org.eclipse.emf.mwe.core.issues.Issues;
 import org.eclipse.emf.mwe.core.monitor.NullProgressMonitor;
@@ -78,7 +79,7 @@
         resourceLoader.addURL(url);
     }
 
-    private class GenerationRunner extends WorkflowRunner {
+    private class GenerationRunner extends WorkflowEngine {
         @Override
         public boolean executeWorkflow(Map<?, ?> externalSlotContents, Issues issues) {
             boolean result = false;
@@ -142,7 +143,7 @@
             modelMarkerHelper = new ModelMarkerHelper(resource);
             modelMarkerHelper.deleteMarkers();
         }
-        WorkflowRunner workflowRunner = new GenerationRunner();
+        WorkflowEngine workflowRunner = new GenerationRunner();
         ProgressMonitor workflowMonitor;
         if (currentMonitor != null) {
             workflowMonitor = new ProgressMonitorAdapter(currentMonitor);
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/META-INF/MANIFEST.MF
index 3a8ebe4..671e315 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.amf.gen;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-Localization: plugin
 Require-Bundle: 
  org.eclipse.emf.ecore,
  org.eclipse.amp.amf.acore,
  org.eclipse.jdt.core,
  org.eclipse.core.runtime,
- org.eclipse.xpand;bundle-version="1.0.0",
- org.eclipse.xtend;bundle-version="1.0.0",
- org.eclipse.xtend.typesystem.emf;bundle-version="1.0.0",
- org.eclipse.emf.mwe.utils;bundle-version="1.0.0",
- org.eclipse.emf.mwe.ui;bundle-version="1.0.0"
+ org.eclipse.xpand,
+ org.eclipse.xtend,
+ org.eclipse.xtend.typesystem.emf,
+ org.eclipse.emf.mwe.utils,
+ org.eclipse.emf.mwe.ui
 Bundle-ClassPath: .
 Export-Package: metaabm.tmpl,
  model,
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.ide.ascape/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.ide.ascape/META-INF/MANIFEST.MF
index bc0feb3..2ca54f9 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.ide.ascape/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.ide.ascape/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.amf.ide.ascape;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-Activator: org.eclipse.amp.amf.ide.ascape.AscapeIDEActivator
 Bundle-Vendor: %providerName
 Require-Bundle: 
@@ -17,8 +17,8 @@
  org.eclipse.amp.amf.acore,
  org.eclipse.amp.amf.gen,
  org.eclipse.amp.amf.gen.ascape,
- org.eclipse.amp.amf.ide;bundle-version="0.8.1",
- org.eclipse.amp.amf.gen.ide;bundle-version="0.8.1",
+ org.eclipse.amp.amf.ide;bundle-version="0.8.5",
+ org.eclipse.amp.amf.gen.ide;bundle-version="0.8.5",
  org.eclipse.emf.ecore;bundle-version="2.5.0"
 Bundle-ClassPath: .
 Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.ide/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.ide/META-INF/MANIFEST.MF
index 9fd70be..2faa715 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.ide/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.ide/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.amf.ide;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-Activator: org.eclipse.amp.amf.ide.Activator
 Bundle-Vendor: %providerName
 Require-Bundle: org.eclipse.ui,
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.edit/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.edit/META-INF/MANIFEST.MF
index 4b3ce45..628e425 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.edit/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.amf.parameters.edit;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.amp.amf.parameters.aPar.provider.AParEditPlugin$Implementation
 Bundle-Vendor: %providerName
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.editor/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.editor/META-INF/MANIFEST.MF
index 92e4cf4..96296eb 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.editor/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.editor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.amp.amf.parameters.editor;singleton:=true
-Bundle-Version: 0.8.1.qualifier
+Bundle-Version: 0.8.5.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.amp.amf.parameters.aPar.presentation.AParEditorPlugin$Implementation
 Bundle-Vendor: %providerName
@@ -16,5 +16,5 @@
  org.eclipse.emf.edit.ui;visibility:=reexport,
  org.eclipse.ui.ide;visibility:=reexport,
  org.eclipse.amp.amf.acore.edit;visibility:=reexport,
- org.eclipse.amp.amf.abase.edit;bundle-version="0.8.1"
+ org.eclipse.amp.amf.abase.edit;bundle-version="0.8.5"
 Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/META-INF/MANIFEST.MF
index bfe52dc..9d84740 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2

 Bundle-Name: %pluginName

 Bundle-SymbolicName: org.eclipse.amp.amf.parameters.ui; singleton:=true

-Bundle-Version: 0.8.1.qualifier

+Bundle-Version: 0.8.5.qualifier

 Bundle-ClassPath: .

 Bundle-Activator: org.eclipse.amp.amf.parameters.ui.internal.AParActivator

 Bundle-Vendor: %providerName

 Require-Bundle: org.eclipse.amp.amf.parameters,

- org.eclipse.amp.amf.abase;bundle-version="0.8.1",

- org.eclipse.amp.amf.abase.ui;bundle-version="0.8.1",

+ org.eclipse.amp.amf.abase;bundle-version="0.8.5",

+ org.eclipse.amp.amf.abase.ui;bundle-version="0.8.5",

  org.eclipse.amp.amf.acore,

  org.eclipse.xtext.ui,

  org.eclipse.ui.editors;bundle-version="3.5.0",

@@ -17,7 +17,8 @@
  org.eclipse.ui,

  org.antlr.runtime,

  org.eclipse.xtext.builder,

- org.eclipse.xtext.ui.ecore;bundle-version="1.0.0"

+ org.eclipse.xtext.ui.ecore;bundle-version="1.0.0",

+ org.eclipse.xtext.common.types.ui

 Bundle-RequiredExecutionEnvironment: J2SE-1.5

 Export-Package: org.eclipse.amp.amf.parameters.ui,

  org.eclipse.amp.amf.parameters.ui.contentassist,

diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/plugin.xml_gen b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/plugin.xml_gen
index 1c07863..aedad0a 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/plugin.xml_gen
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/plugin.xml_gen
@@ -139,6 +139,12 @@
 
 
 
+   <extension
+         point="org.eclipse.xtext.builder.participant">
+      <participant
+            class="org.eclipse.amp.amf.parameters.ui.AParExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant">
+      </participant>
+   </extension>
 
 	<!-- Quick Outline -->
 	<extension
@@ -180,5 +186,31 @@
             class="org.eclipse.amp.amf.parameters.ui.AParExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator">
       </markerResolutionGenerator>
    </extension>
+   	<!-- Rename Refactoring -->
+	<extension point="org.eclipse.ui.handlers">
+		<handler 
+			class="org.eclipse.amp.amf.parameters.ui.AParExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RenameElementHandler"
+			commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
+			<activeWhen>
+				<reference
+					definitionId="org.eclipse.amp.amf.parameters.APar.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+    <extension point="org.eclipse.ui.menus">
+         <menuContribution
+            locationURI="popup:#TextEditorContext?after=group.edit">
+         <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
+               style="push">
+            <visibleWhen checkEnabled="false">
+               <reference
+                     definitionId="org.eclipse.amp.amf.parameters.APar.Editor.opened">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+
 
 </plugin>
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/AParExecutableExtensionFactory.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/AParExecutableExtensionFactory.java
index a26e837..c60c792 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/AParExecutableExtensionFactory.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/AParExecutableExtensionFactory.java
@@ -1,8 +1,6 @@
-
 /*
  * generated by Xtext
  */
- 
 package org.eclipse.amp.amf.parameters.ui;
 
 import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
@@ -11,7 +9,8 @@
 import com.google.inject.Injector;
 
 /**
- *@generated
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass. 
  */
 public class AParExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
 
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/AbstractAParUiModule.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/AbstractAParUiModule.java
index 76a3cf7..d3c55e9 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/AbstractAParUiModule.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/AbstractAParUiModule.java
@@ -24,21 +24,11 @@
 	}
 
 	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.jface.text.rules.ITokenScanner> bindITokenScanner() {
-		return org.eclipse.xtext.ui.editor.syntaxcoloring.antlr.AntlrTokenScanner.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
 	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper> bindIProposalConflictHelper() {
 		return org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper.class;
 	}
 
 	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.IDamagerRepairer> bindIDamagerRepairer() {
-		return org.eclipse.xtext.ui.editor.FastDamagerRepairer.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
 	public void configureHighlightingLexer(com.google.inject.Binder binder) {
 		binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.amp.amf.parameters.parser.antlr.internal.InternalAParLexer.class);
 	}
@@ -48,6 +38,41 @@
 		binder.bind(org.eclipse.xtext.parser.antlr.ITokenDefProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class);
 	}
 
+	// contributed by org.eclipse.xtext.generator.exporting.SimpleNamesFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator> bindIDependentElementsCalculator() {
+		return org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator.Null.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.builder.clustering.CurrentDescriptions.ResourceSetAware.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.IXtextEditorCallback> bindIXtextEditorCallback() {
+		return org.eclipse.xtext.builder.nature.NatureAddingEditorCallback.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
+		return org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+	public Class<? extends org.eclipse.xtext.builder.IXtextBuilderParticipant> bindIXtextBuilderParticipant() {
+		return org.eclipse.xtext.builder.JavaProjectBasedBuilderParticipant.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+	public org.eclipse.core.resources.IWorkspaceRoot bindIWorkspaceRootToInstance() {
+		return org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot();
+	}
+
 	// contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
 	public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() {
 		return org.eclipse.amp.amf.parameters.ui.labeling.AParLabelProvider.class;
@@ -58,14 +83,19 @@
 		binder.bind(org.eclipse.jface.viewers.ILabelProvider.class).annotatedWith(org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider.class).to(org.eclipse.amp.amf.parameters.ui.labeling.AParDescriptionLabelProvider.class);
 	}
 
-	// contributed by org.eclipse.xtext.ui.generator.outline.TransformerFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.outline.transformer.ISemanticModelTransformer> bindISemanticModelTransformer() {
-		return org.eclipse.amp.amf.parameters.ui.outline.AParTransformer.class;
+	// contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider> bindIOutlineTreeProvider() {
+		return org.eclipse.amp.amf.parameters.ui.outline.AParOutlineTreeProvider.class;
 	}
 
-	// contributed by org.eclipse.xtext.ui.generator.outline.OutlineNodeAdapterFactoryFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.outline.actions.IContentOutlineNodeAdapterFactory> bindIContentOutlineNodeAdapterFactory() {
-		return org.eclipse.amp.amf.parameters.ui.outline.AParOutlineNodeAdapterFactory.class;
+	// contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
+		return org.eclipse.amp.amf.parameters.ui.outline.AParOutlineTreeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
+		return org.eclipse.amp.amf.parameters.ui.quickfix.AParQuickfixProvider.class;
 	}
 
 	// contributed by org.eclipse.xtext.ui.generator.contentAssist.JavaBasedContentAssistFragment
@@ -93,29 +123,44 @@
 		binder.bind(org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.CONTENT_ASSIST)).to(org.eclipse.amp.amf.parameters.ui.contentassist.antlr.internal.InternalAParLexer.class);
 	}
 
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractGlobalScopeProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.builder.builderState.ShadowingResourceDescriptions.class);
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public java.lang.ClassLoader bindClassLoaderToInstance() {
+		return getClass().getClassLoader();
 	}
 
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.IXtextEditorCallback> bindIXtextEditorCallback() {
-		return org.eclipse.xtext.builder.nature.NatureAddingEditorCallback.class;
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
+		return org.eclipse.xtext.common.types.access.jdt.JdtTypeProviderFactory.class;
 	}
 
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
+		return org.eclipse.xtext.common.types.xtext.ui.JdtBasedSimpleTypeScopeProvider.class;
 	}
 
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
-		return org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.class;
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.xtext.ui.ITypesProposalProvider> bindITypesProposalProvider() {
+		return org.eclipse.xtext.common.types.xtext.ui.JdtTypesProposalProvider.class;
 	}
 
-	// contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
-		return org.eclipse.amp.amf.parameters.ui.quickfix.AParQuickfixProvider.class;
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.access.jdt.IJavaProjectProvider> bindIJavaProjectProvider() {
+		return org.eclipse.xtext.common.types.xtext.ui.XtextResourceSetBasedProjectProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.hyperlinking.IHyperlinkHelper> bindIHyperlinkHelper() {
+		return org.eclipse.xtext.common.types.xtext.ui.TypeAwareHyperlinkHelper.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher> bindPrefixMatcher() {
+		return org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.AbstractJavaBasedContentProposalProvider.ReferenceProposalCreator> bindAbstractJavaBasedContentProposalProvider$ReferenceProposalCreator() {
+		return org.eclipse.xtext.common.types.xtext.ui.TypeAwareReferenceProposalCreator.class;
 	}
 
 
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/AParParser.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/AParParser.java
index 9912f15..8a5a4f1 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/AParParser.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/AParParser.java
@@ -57,7 +57,7 @@
 					put(grammarAccess.getSweepParameterAccess().getStartValueAssignment_2(), "rule__SweepParameter__StartValueAssignment_2");
 					put(grammarAccess.getSweepParameterAccess().getEndValueAssignment_4(), "rule__SweepParameter__EndValueAssignment_4");
 					put(grammarAccess.getSweepParameterAccess().getIncrementAssignment_6(), "rule__SweepParameter__IncrementAssignment_6");
-					put(grammarAccess.getSweepLinkAccess().getParametersAssignment_1(), "rule__SweepLink__ParametersAssignment_1");
+					put(grammarAccess.getSweepLinkAccess().getParametersAssignment_2(), "rule__SweepLink__ParametersAssignment_2");
 					put(grammarAccess.getIntValueAccess().getValueAssignment(), "rule__IntValue__ValueAssignment");
 					put(grammarAccess.getRealValueAccess().getValueAssignment(), "rule__RealValue__ValueAssignment");
 					put(grammarAccess.getStringValueAccess().getValueAssignment(), "rule__StringValue__ValueAssignment");
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g
index 2937230..5b3c4f2 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g
@@ -1087,11 +1087,11 @@
     }
 :
 (
-{ before(grammarAccess.getSweepLinkAccess().getLeftSquareBracketKeyword_0()); }
+{ before(grammarAccess.getSweepLinkAccess().getSweepLinkAction_0()); }
+(
 
-	'[' 
-
-{ after(grammarAccess.getSweepLinkAccess().getLeftSquareBracketKeyword_0()); }
+)
+{ after(grammarAccess.getSweepLinkAccess().getSweepLinkAction_0()); }
 )
 
 ;
@@ -1118,9 +1118,11 @@
     }
 :
 (
-{ before(grammarAccess.getSweepLinkAccess().getParametersAssignment_1()); }
-(rule__SweepLink__ParametersAssignment_1)*
-{ after(grammarAccess.getSweepLinkAccess().getParametersAssignment_1()); }
+{ before(grammarAccess.getSweepLinkAccess().getLeftSquareBracketKeyword_1()); }
+
+	'[' 
+
+{ after(grammarAccess.getSweepLinkAccess().getLeftSquareBracketKeyword_1()); }
 )
 
 ;
@@ -1135,6 +1137,7 @@
     }
 :
 	rule__SweepLink__Group__2__Impl
+	rule__SweepLink__Group__3
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -1146,11 +1149,9 @@
     }
 :
 (
-{ before(grammarAccess.getSweepLinkAccess().getRightSquareBracketKeyword_2()); }
-
-	']' 
-
-{ after(grammarAccess.getSweepLinkAccess().getRightSquareBracketKeyword_2()); }
+{ before(grammarAccess.getSweepLinkAccess().getParametersAssignment_2()); }
+(rule__SweepLink__ParametersAssignment_2)*
+{ after(grammarAccess.getSweepLinkAccess().getParametersAssignment_2()); }
 )
 
 ;
@@ -1159,6 +1160,38 @@
 }
 
 
+rule__SweepLink__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__SweepLink__Group__3__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SweepLink__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSweepLinkAccess().getRightSquareBracketKeyword_3()); }
+
+	']' 
+
+{ after(grammarAccess.getSweepLinkAccess().getRightSquareBracketKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
 
 
 
@@ -1354,14 +1387,14 @@
 	restoreStackSize(stackSize);
 }
 
-rule__SweepLink__ParametersAssignment_1
+rule__SweepLink__ParametersAssignment_2
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSweepLinkAccess().getParametersParameterParserRuleCall_1_0()); }
-	ruleParameter{ after(grammarAccess.getSweepLinkAccess().getParametersParameterParserRuleCall_1_0()); }
+{ before(grammarAccess.getSweepLinkAccess().getParametersParameterParserRuleCall_2_0()); }
+	ruleParameter{ after(grammarAccess.getSweepLinkAccess().getParametersParameterParserRuleCall_2_0()); }
 )
 
 ;
@@ -1440,7 +1473,7 @@
 
 RULE_INT : ('0'..'9')+;
 
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
+RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
 
 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
 
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.tokens b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.tokens
index 0c92e3b..c814240 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.tokens
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.tokens
@@ -1,13 +1,21 @@
 RULE_ID=5
-RULE_STRING=4
 RULE_ANY_OTHER=13
+T__21=21
+T__20=20
+RULE_SL_COMMENT=11
+RULE_ML_COMMENT=10
+T__19=19
+RULE_STRING=4
+T__16=16
+T__15=15
+T__18=18
+T__17=17
+T__14=14
 RULE_INT=9
 RULE_REAL=7
 RULE_WS=12
-RULE_SL_COMMENT=11
 RULE_DESC_STRING=8
 RULE_INTEGER=6
-RULE_ML_COMMENT=10
 'true'=14
 '='=18
 'false'=15
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAParLexer.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAParLexer.java
index 340d231..cb24550 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAParLexer.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAParLexer.java
@@ -13,187 +13,211 @@
 @SuppressWarnings("all")
 public class InternalAParLexer extends Lexer {
     public static final int RULE_ID=5;
+    public static final int T__21=21;
     public static final int RULE_ANY_OTHER=13;
-    public static final int Tokens=22;
+    public static final int T__20=20;
     public static final int EOF=-1;
     public static final int RULE_SL_COMMENT=11;
-    public static final int T21=21;
-    public static final int T20=20;
     public static final int RULE_ML_COMMENT=10;
+    public static final int T__19=19;
     public static final int RULE_STRING=4;
+    public static final int T__16=16;
+    public static final int T__15=15;
+    public static final int T__18=18;
+    public static final int T__17=17;
+    public static final int T__14=14;
     public static final int RULE_INT=9;
     public static final int RULE_REAL=7;
-    public static final int T14=14;
     public static final int RULE_WS=12;
-    public static final int T15=15;
     public static final int RULE_DESC_STRING=8;
-    public static final int T16=16;
-    public static final int T17=17;
-    public static final int T18=18;
-    public static final int T19=19;
     public static final int RULE_INTEGER=6;
+
+    // delegates
+    // delegators
+
     public InternalAParLexer() {;} 
     public InternalAParLexer(CharStream input) {
-        super(input);
+        this(input, new RecognizerSharedState());
+    }
+    public InternalAParLexer(CharStream input, RecognizerSharedState state) {
+        super(input,state);
+
     }
     public String getGrammarFileName() { return "../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g"; }
 
-    // $ANTLR start T14
-    public final void mT14() throws RecognitionException {
+    // $ANTLR start "T__14"
+    public final void mT__14() throws RecognitionException {
         try {
-            int _type = T14;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:10:5: ( 'true' )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:10:7: 'true'
+            int _type = T__14;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:11:7: ( 'true' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:11:9: 'true'
             {
             match("true"); 
 
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end T14
+    // $ANTLR end "T__14"
 
-    // $ANTLR start T15
-    public final void mT15() throws RecognitionException {
+    // $ANTLR start "T__15"
+    public final void mT__15() throws RecognitionException {
         try {
-            int _type = T15;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:11:5: ( 'false' )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:11:7: 'false'
+            int _type = T__15;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:12:7: ( 'false' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:12:9: 'false'
             {
             match("false"); 
 
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end T15
+    // $ANTLR end "T__15"
 
-    // $ANTLR start T16
-    public final void mT16() throws RecognitionException {
+    // $ANTLR start "T__16"
+    public final void mT__16() throws RecognitionException {
         try {
-            int _type = T16;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:12:5: ( 'model' )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:12:7: 'model'
+            int _type = T__16;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:13:7: ( 'model' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:13:9: 'model'
             {
             match("model"); 
 
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end T16
+    // $ANTLR end "T__16"
 
-    // $ANTLR start T17
-    public final void mT17() throws RecognitionException {
+    // $ANTLR start "T__17"
+    public final void mT__17() throws RecognitionException {
         try {
-            int _type = T17;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:13:5: ( 'incorporates' )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:13:7: 'incorporates'
+            int _type = T__17;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:14:7: ( 'incorporates' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:14:9: 'incorporates'
             {
             match("incorporates"); 
 
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end T17
+    // $ANTLR end "T__17"
 
-    // $ANTLR start T18
-    public final void mT18() throws RecognitionException {
+    // $ANTLR start "T__18"
+    public final void mT__18() throws RecognitionException {
         try {
-            int _type = T18;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:14:5: ( '=' )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:14:7: '='
+            int _type = T__18;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:15:7: ( '=' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:15:9: '='
             {
             match('='); 
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end T18
+    // $ANTLR end "T__18"
 
-    // $ANTLR start T19
-    public final void mT19() throws RecognitionException {
+    // $ANTLR start "T__19"
+    public final void mT__19() throws RecognitionException {
         try {
-            int _type = T19;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:15:5: ( '[' )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:15:7: '['
+            int _type = T__19;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:16:7: ( '[' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:16:9: '['
             {
             match('['); 
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end T19
+    // $ANTLR end "T__19"
 
-    // $ANTLR start T20
-    public final void mT20() throws RecognitionException {
+    // $ANTLR start "T__20"
+    public final void mT__20() throws RecognitionException {
         try {
-            int _type = T20;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:16:5: ( ',' )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:16:7: ','
+            int _type = T__20;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:17:7: ( ',' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:17:9: ','
             {
             match(','); 
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end T20
+    // $ANTLR end "T__20"
 
-    // $ANTLR start T21
-    public final void mT21() throws RecognitionException {
+    // $ANTLR start "T__21"
+    public final void mT__21() throws RecognitionException {
         try {
-            int _type = T21;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:17:5: ( ']' )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:17:7: ']'
+            int _type = T__21;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:18:7: ( ']' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:18:9: ']'
             {
             match(']'); 
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end T21
+    // $ANTLR end "T__21"
 
-    // $ANTLR start RULE_INTEGER
+    // $ANTLR start "RULE_INTEGER"
     public final void mRULE_INTEGER() throws RecognitionException {
         try {
             int _type = RULE_INTEGER;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1433:14: ( ( '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1433:16: ( '-' )? ( '0' .. '9' )+
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1466:14: ( ( '-' )? ( '0' .. '9' )+ )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1466:16: ( '-' )? ( '0' .. '9' )+
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1433:16: ( '-' )?
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1466:16: ( '-' )?
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -202,7 +226,7 @@
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1433:16: '-'
+                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1466:16: '-'
                     {
                     match('-'); 
 
@@ -211,7 +235,7 @@
 
             }
 
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1433:21: ( '0' .. '9' )+
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1466:21: ( '0' .. '9' )+
             int cnt2=0;
             loop2:
             do {
@@ -225,7 +249,7 @@
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1433:22: '0' .. '9'
+            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1466:22: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -244,21 +268,23 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_INTEGER
+    // $ANTLR end "RULE_INTEGER"
 
-    // $ANTLR start RULE_REAL
+    // $ANTLR start "RULE_REAL"
     public final void mRULE_REAL() throws RecognitionException {
         try {
             int _type = RULE_REAL;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1435:11: ( ( '-' )? ( '0' .. '9' )* '.' ( '0' .. '9' )* )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1435:13: ( '-' )? ( '0' .. '9' )* '.' ( '0' .. '9' )*
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1468:11: ( ( '-' )? ( '0' .. '9' )* '.' ( '0' .. '9' )* )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1468:13: ( '-' )? ( '0' .. '9' )* '.' ( '0' .. '9' )*
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1435:13: ( '-' )?
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1468:13: ( '-' )?
             int alt3=2;
             int LA3_0 = input.LA(1);
 
@@ -267,7 +293,7 @@
             }
             switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1435:13: '-'
+                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1468:13: '-'
                     {
                     match('-'); 
 
@@ -276,7 +302,7 @@
 
             }
 
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1435:18: ( '0' .. '9' )*
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1468:18: ( '0' .. '9' )*
             loop4:
             do {
                 int alt4=2;
@@ -289,7 +315,7 @@
 
                 switch (alt4) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1435:19: '0' .. '9'
+            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1468:19: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -302,7 +328,7 @@
             } while (true);
 
             match('.'); 
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1435:34: ( '0' .. '9' )*
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1468:34: ( '0' .. '9' )*
             loop5:
             do {
                 int alt5=2;
@@ -315,7 +341,7 @@
 
                 switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1435:35: '0' .. '9'
+            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1468:35: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -330,22 +356,24 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_REAL
+    // $ANTLR end "RULE_REAL"
 
-    // $ANTLR start RULE_DESC_STRING
+    // $ANTLR start "RULE_DESC_STRING"
     public final void mRULE_DESC_STRING() throws RecognitionException {
         try {
             int _type = RULE_DESC_STRING;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1437:18: ( '\\u00AB' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' ) | ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) ) )* '\\u00BB' )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1437:20: '\\u00AB' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' ) | ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) ) )* '\\u00BB'
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1470:18: ( '\\u00AB' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' ) | ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) ) )* '\\u00BB' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1470:20: '\\u00AB' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' ) | ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) ) )* '\\u00BB'
             {
             match('\u00AB'); 
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1437:29: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' ) | ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) ) )*
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1470:29: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' ) | ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) ) )*
             loop6:
             do {
                 int alt6=3;
@@ -354,14 +382,14 @@
                 if ( (LA6_0=='\\') ) {
                     alt6=1;
                 }
-                else if ( ((LA6_0>='\u0000' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\u00AA')||(LA6_0>='\u00AC' && LA6_0<='\u00BA')||(LA6_0>='\u00BC' && LA6_0<='\uFFFE')) ) {
+                else if ( ((LA6_0>='\u0000' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\u00AA')||(LA6_0>='\u00AC' && LA6_0<='\u00BA')||(LA6_0>='\u00BC' && LA6_0<='\uFFFF')) ) {
                     alt6=2;
                 }
 
 
                 switch (alt6) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1437:30: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' )
+            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1470:30: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\u00AB' | '\\u00BB' | '\\\\' )
             	    {
             	    match('\\'); 
             	    if ( input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t'||input.LA(1)=='\u00AB'||input.LA(1)=='\u00BB' ) {
@@ -369,26 +397,24 @@
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
             	    break;
             	case 2 :
-            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1437:80: ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) )
+            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1470:80: ~ ( ( '\\\\' | '\\u00AB' | '\\u00BB' ) )
             	    {
-            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\u00BA')||(input.LA(1)>='\u00BC' && input.LA(1)<='\uFFFE') ) {
+            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\u00BA')||(input.LA(1)>='\u00BC' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
@@ -403,21 +429,23 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_DESC_STRING
+    // $ANTLR end "RULE_DESC_STRING"
 
-    // $ANTLR start RULE_ID
+    // $ANTLR start "RULE_ID"
     public final void mRULE_ID() throws RecognitionException {
         try {
             int _type = RULE_ID;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1439:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1439:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1472:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1472:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1439:11: ( '^' )?
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1472:11: ( '^' )?
             int alt7=2;
             int LA7_0 = input.LA(1);
 
@@ -426,7 +454,7 @@
             }
             switch (alt7) {
                 case 1 :
-                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1439:11: '^'
+                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1472:11: '^'
                     {
                     match('^'); 
 
@@ -440,12 +468,11 @@
 
             }
             else {
-                MismatchedSetException mse =
-                    new MismatchedSetException(null,input);
-                recover(mse);    throw mse;
-            }
+                MismatchedSetException mse = new MismatchedSetException(null,input);
+                recover(mse);
+                throw mse;}
 
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1439:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1472:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             loop8:
             do {
                 int alt8=2;
@@ -465,10 +492,9 @@
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
@@ -482,21 +508,23 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_ID
+    // $ANTLR end "RULE_ID"
 
-    // $ANTLR start RULE_INT
+    // $ANTLR start "RULE_INT"
     public final void mRULE_INT() throws RecognitionException {
         try {
             int _type = RULE_INT;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1441:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1441:12: ( '0' .. '9' )+
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1474:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1474:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1441:12: ( '0' .. '9' )+
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1474:12: ( '0' .. '9' )+
             int cnt9=0;
             loop9:
             do {
@@ -510,7 +538,7 @@
 
                 switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1441:13: '0' .. '9'
+            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1474:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -529,21 +557,23 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_INT
+    // $ANTLR end "RULE_INT"
 
-    // $ANTLR start RULE_STRING
+    // $ANTLR start "RULE_STRING"
     public final void mRULE_STRING() throws RecognitionException {
         try {
             int _type = RULE_STRING;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1443:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1443:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1476:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1476:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1443:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1476:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             int alt12=2;
             int LA12_0 = input.LA(1);
 
@@ -555,16 +585,16 @@
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("1443:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )", 12, 0, input);
+                    new NoViableAltException("", 12, 0, input);
 
                 throw nvae;
             }
             switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1443:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1476:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1443:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1476:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                     loop10:
                     do {
                         int alt10=3;
@@ -573,41 +603,39 @@
                         if ( (LA10_0=='\\') ) {
                             alt10=1;
                         }
-                        else if ( ((LA10_0>='\u0000' && LA10_0<='!')||(LA10_0>='#' && LA10_0<='[')||(LA10_0>=']' && LA10_0<='\uFFFE')) ) {
+                        else if ( ((LA10_0>='\u0000' && LA10_0<='!')||(LA10_0>='#' && LA10_0<='[')||(LA10_0>=']' && LA10_0<='\uFFFF')) ) {
                             alt10=2;
                         }
 
 
                         switch (alt10) {
                     	case 1 :
-                    	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1443:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1476:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                     	    {
                     	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
+                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
                     	        input.consume();
 
                     	    }
                     	    else {
-                    	        MismatchedSetException mse =
-                    	            new MismatchedSetException(null,input);
-                    	        recover(mse);    throw mse;
-                    	    }
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1443:62: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1476:66: ~ ( ( '\\\\' | '\"' ) )
                     	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
+                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
 
                     	    }
                     	    else {
-                    	        MismatchedSetException mse =
-                    	            new MismatchedSetException(null,input);
-                    	        recover(mse);    throw mse;
-                    	    }
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
 
 
                     	    }
@@ -623,10 +651,10 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1443:82: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1476:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1443:87: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1476:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                     loop11:
                     do {
                         int alt11=3;
@@ -635,41 +663,39 @@
                         if ( (LA11_0=='\\') ) {
                             alt11=1;
                         }
-                        else if ( ((LA11_0>='\u0000' && LA11_0<='&')||(LA11_0>='(' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFE')) ) {
+                        else if ( ((LA11_0>='\u0000' && LA11_0<='&')||(LA11_0>='(' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFF')) ) {
                             alt11=2;
                         }
 
 
                         switch (alt11) {
                     	case 1 :
-                    	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1443:88: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1476:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                     	    {
                     	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
+                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
                     	        input.consume();
 
                     	    }
                     	    else {
-                    	        MismatchedSetException mse =
-                    	            new MismatchedSetException(null,input);
-                    	        recover(mse);    throw mse;
-                    	    }
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1443:129: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1476:137: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
+                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
 
                     	    }
                     	    else {
-                    	        MismatchedSetException mse =
-                    	            new MismatchedSetException(null,input);
-                    	        recover(mse);    throw mse;
-                    	    }
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
 
 
                     	    }
@@ -690,23 +716,25 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_STRING
+    // $ANTLR end "RULE_STRING"
 
-    // $ANTLR start RULE_ML_COMMENT
+    // $ANTLR start "RULE_ML_COMMENT"
     public final void mRULE_ML_COMMENT() throws RecognitionException {
         try {
             int _type = RULE_ML_COMMENT;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1445:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1445:19: '/*' ( options {greedy=false; } : . )* '*/'
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1478:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1478:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1445:24: ( options {greedy=false; } : . )*
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1478:24: ( options {greedy=false; } : . )*
             loop13:
             do {
                 int alt13=2;
@@ -718,20 +746,20 @@
                     if ( (LA13_1=='/') ) {
                         alt13=2;
                     }
-                    else if ( ((LA13_1>='\u0000' && LA13_1<='.')||(LA13_1>='0' && LA13_1<='\uFFFE')) ) {
+                    else if ( ((LA13_1>='\u0000' && LA13_1<='.')||(LA13_1>='0' && LA13_1<='\uFFFF')) ) {
                         alt13=1;
                     }
 
 
                 }
-                else if ( ((LA13_0>='\u0000' && LA13_0<=')')||(LA13_0>='+' && LA13_0<='\uFFFE')) ) {
+                else if ( ((LA13_0>='\u0000' && LA13_0<=')')||(LA13_0>='+' && LA13_0<='\uFFFF')) ) {
                     alt13=1;
                 }
 
 
                 switch (alt13) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1445:52: .
+            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1478:52: .
             	    {
             	    matchAny(); 
 
@@ -748,46 +776,47 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_ML_COMMENT
+    // $ANTLR end "RULE_ML_COMMENT"
 
-    // $ANTLR start RULE_SL_COMMENT
+    // $ANTLR start "RULE_SL_COMMENT"
     public final void mRULE_SL_COMMENT() throws RecognitionException {
         try {
             int _type = RULE_SL_COMMENT;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1447:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1447:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1480:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1480:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1447:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1480:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop14:
             do {
                 int alt14=2;
                 int LA14_0 = input.LA(1);
 
-                if ( ((LA14_0>='\u0000' && LA14_0<='\t')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\uFFFE')) ) {
+                if ( ((LA14_0>='\u0000' && LA14_0<='\t')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\uFFFF')) ) {
                     alt14=1;
                 }
 
 
                 switch (alt14) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1447:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1480:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
-            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFE') ) {
+            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
@@ -798,7 +827,7 @@
                 }
             } while (true);
 
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1447:40: ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1480:40: ( ( '\\r' )? '\\n' )?
             int alt16=2;
             int LA16_0 = input.LA(1);
 
@@ -807,9 +836,9 @@
             }
             switch (alt16) {
                 case 1 :
-                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1447:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1480:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1447:41: ( '\\r' )?
+                    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1480:41: ( '\\r' )?
                     int alt15=2;
                     int LA15_0 = input.LA(1);
 
@@ -818,7 +847,7 @@
                     }
                     switch (alt15) {
                         case 1 :
-                            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1447:41: '\\r'
+                            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1480:41: '\\r'
                             {
                             match('\r'); 
 
@@ -837,21 +866,23 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_SL_COMMENT
+    // $ANTLR end "RULE_SL_COMMENT"
 
-    // $ANTLR start RULE_WS
+    // $ANTLR start "RULE_WS"
     public final void mRULE_WS() throws RecognitionException {
         try {
             int _type = RULE_WS;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1449:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1449:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1482:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1482:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1449:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1482:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt17=0;
             loop17:
             do {
@@ -872,10 +903,9 @@
 
             	    }
             	    else {
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
 
 
             	    }
@@ -893,157 +923,160 @@
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_WS
+    // $ANTLR end "RULE_WS"
 
-    // $ANTLR start RULE_ANY_OTHER
+    // $ANTLR start "RULE_ANY_OTHER"
     public final void mRULE_ANY_OTHER() throws RecognitionException {
         try {
             int _type = RULE_ANY_OTHER;
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1451:16: ( . )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1451:18: .
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1484:16: ( . )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1484:18: .
             {
             matchAny(); 
 
             }
 
-            this.type = _type;
+            state.type = _type;
+            state.channel = _channel;
         }
         finally {
         }
     }
-    // $ANTLR end RULE_ANY_OTHER
+    // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:8: ( T14 | T15 | T16 | T17 | T18 | T19 | T20 | T21 | RULE_INTEGER | RULE_REAL | RULE_DESC_STRING | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:8: ( T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | RULE_INTEGER | RULE_REAL | RULE_DESC_STRING | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
         int alt18=18;
         alt18 = dfa18.predict(input);
         switch (alt18) {
             case 1 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:10: T14
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:10: T__14
                 {
-                mT14(); 
+                mT__14(); 
 
                 }
                 break;
             case 2 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:14: T15
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:16: T__15
                 {
-                mT15(); 
+                mT__15(); 
 
                 }
                 break;
             case 3 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:18: T16
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:22: T__16
                 {
-                mT16(); 
+                mT__16(); 
 
                 }
                 break;
             case 4 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:22: T17
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:28: T__17
                 {
-                mT17(); 
+                mT__17(); 
 
                 }
                 break;
             case 5 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:26: T18
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:34: T__18
                 {
-                mT18(); 
+                mT__18(); 
 
                 }
                 break;
             case 6 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:30: T19
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:40: T__19
                 {
-                mT19(); 
+                mT__19(); 
 
                 }
                 break;
             case 7 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:34: T20
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:46: T__20
                 {
-                mT20(); 
+                mT__20(); 
 
                 }
                 break;
             case 8 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:38: T21
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:52: T__21
                 {
-                mT21(); 
+                mT__21(); 
 
                 }
                 break;
             case 9 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:42: RULE_INTEGER
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:58: RULE_INTEGER
                 {
                 mRULE_INTEGER(); 
 
                 }
                 break;
             case 10 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:55: RULE_REAL
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:71: RULE_REAL
                 {
                 mRULE_REAL(); 
 
                 }
                 break;
             case 11 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:65: RULE_DESC_STRING
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:81: RULE_DESC_STRING
                 {
                 mRULE_DESC_STRING(); 
 
                 }
                 break;
             case 12 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:82: RULE_ID
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:98: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
             case 13 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:90: RULE_INT
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:106: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
             case 14 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:99: RULE_STRING
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:115: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
             case 15 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:111: RULE_ML_COMMENT
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:127: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
             case 16 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:127: RULE_SL_COMMENT
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:143: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
             case 17 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:143: RULE_WS
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:159: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
             case 18 :
-                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:151: RULE_ANY_OTHER
+                // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1:167: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -1069,23 +1102,23 @@
         "\1\uffff\2\60\1\160\2\uffff\1\157\1\162\1\141\1\164\1\145\1\163"+
         "\1\60\1\uffff";
     static final String DFA18_maxS =
-        "\1\ufffe\1\162\1\141\1\157\1\156\4\uffff\2\71\1\uffff\1\ufffe\1"+
-        "\172\1\uffff\2\ufffe\1\57\2\uffff\1\165\1\uffff\1\154\1\144\1\143"+
+        "\1\uffff\1\162\1\141\1\157\1\156\4\uffff\2\71\1\uffff\1\uffff\1"+
+        "\172\1\uffff\2\uffff\1\57\2\uffff\1\165\1\uffff\1\154\1\144\1\143"+
         "\4\uffff\1\71\1\uffff\1\71\6\uffff\1\145\1\163\1\145\1\157\1\172"+
         "\1\145\1\154\1\162\1\uffff\2\172\1\160\2\uffff\1\157\1\162\1\141"+
         "\1\164\1\145\1\163\1\172\1\uffff";
     static final String DFA18_acceptS =
         "\5\uffff\1\5\1\6\1\7\1\10\2\uffff\1\12\2\uffff\1\14\3\uffff\1\21"+
         "\1\22\1\uffff\1\14\3\uffff\1\5\1\6\1\7\1\10\1\uffff\1\12\1\uffff"+
-        "\1\11\1\13\1\16\1\20\1\17\1\21\10\uffff\1\1\3\uffff\1\2\1\3\7\uffff"+
+        "\1\11\1\13\1\16\1\17\1\20\1\21\10\uffff\1\1\3\uffff\1\2\1\3\7\uffff"+
         "\1\4";
     static final String DFA18_specialS =
-        "\74\uffff}>";
+        "\1\2\13\uffff\1\0\2\uffff\1\3\1\1\53\uffff}>";
     static final String[] DFA18_transitionS = {
             "\11\23\2\22\2\23\1\22\22\23\1\22\1\23\1\17\4\23\1\20\4\23\1"+
             "\7\1\11\1\13\1\21\12\12\3\23\1\5\3\23\32\16\1\6\1\23\1\10\1"+
             "\15\1\16\1\23\5\16\1\2\2\16\1\4\3\16\1\3\6\16\1\1\6\16\60\23"+
-            "\1\14\uff53\23",
+            "\1\14\uff54\23",
             "\1\24",
             "\1\26",
             "\1\27",
@@ -1097,12 +1130,12 @@
             "\1\36\1\uffff\12\35",
             "\1\36\1\uffff\12\37",
             "",
-            "\u00ab\41\1\uffff\uff53\41",
+            "\u00ab\41\1\uffff\uff54\41",
             "\32\25\4\uffff\1\25\1\uffff\32\25",
             "",
-            "\uffff\42",
-            "\uffff\42",
-            "\1\44\4\uffff\1\43",
+            "\0\42",
+            "\0\42",
+            "\1\43\4\uffff\1\44",
             "",
             "",
             "\1\46",
@@ -1177,7 +1210,91 @@
             this.transition = DFA18_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T14 | T15 | T16 | T17 | T18 | T19 | T20 | T21 | RULE_INTEGER | RULE_REAL | RULE_DESC_STRING | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | RULE_INTEGER | RULE_REAL | RULE_DESC_STRING | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            IntStream input = _input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA18_12 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA18_12>='\u0000' && LA18_12<='\u00AA')||(LA18_12>='\u00AC' && LA18_12<='\uFFFF')) ) {s = 33;}
+
+                        else s = 19;
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA18_16 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA18_16>='\u0000' && LA18_16<='\uFFFF')) ) {s = 34;}
+
+                        else s = 19;
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA18_0 = input.LA(1);
+
+                        s = -1;
+                        if ( (LA18_0=='t') ) {s = 1;}
+
+                        else if ( (LA18_0=='f') ) {s = 2;}
+
+                        else if ( (LA18_0=='m') ) {s = 3;}
+
+                        else if ( (LA18_0=='i') ) {s = 4;}
+
+                        else if ( (LA18_0=='=') ) {s = 5;}
+
+                        else if ( (LA18_0=='[') ) {s = 6;}
+
+                        else if ( (LA18_0==',') ) {s = 7;}
+
+                        else if ( (LA18_0==']') ) {s = 8;}
+
+                        else if ( (LA18_0=='-') ) {s = 9;}
+
+                        else if ( ((LA18_0>='0' && LA18_0<='9')) ) {s = 10;}
+
+                        else if ( (LA18_0=='.') ) {s = 11;}
+
+                        else if ( (LA18_0=='\u00AB') ) {s = 12;}
+
+                        else if ( (LA18_0=='^') ) {s = 13;}
+
+                        else if ( ((LA18_0>='A' && LA18_0<='Z')||LA18_0=='_'||(LA18_0>='a' && LA18_0<='e')||(LA18_0>='g' && LA18_0<='h')||(LA18_0>='j' && LA18_0<='l')||(LA18_0>='n' && LA18_0<='s')||(LA18_0>='u' && LA18_0<='z')) ) {s = 14;}
+
+                        else if ( (LA18_0=='\"') ) {s = 15;}
+
+                        else if ( (LA18_0=='\'') ) {s = 16;}
+
+                        else if ( (LA18_0=='/') ) {s = 17;}
+
+                        else if ( ((LA18_0>='\t' && LA18_0<='\n')||LA18_0=='\r'||LA18_0==' ') ) {s = 18;}
+
+                        else if ( ((LA18_0>='\u0000' && LA18_0<='\b')||(LA18_0>='\u000B' && LA18_0<='\f')||(LA18_0>='\u000E' && LA18_0<='\u001F')||LA18_0=='!'||(LA18_0>='#' && LA18_0<='&')||(LA18_0>='(' && LA18_0<='+')||(LA18_0>=':' && LA18_0<='<')||(LA18_0>='>' && LA18_0<='@')||LA18_0=='\\'||LA18_0=='`'||(LA18_0>='{' && LA18_0<='\u00AA')||(LA18_0>='\u00AC' && LA18_0<='\uFFFF')) ) {s = 19;}
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 3 : 
+                        int LA18_15 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA18_15>='\u0000' && LA18_15<='\uFFFF')) ) {s = 34;}
+
+                        else s = 19;
+
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 18, _s, input);
+            error(nvae);
+            throw nvae;
         }
     }
  
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAParParser.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAParParser.java
index 7224c22..4ddf3b2 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAParParser.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAParParser.java
@@ -26,23 +26,39 @@
         "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INTEGER", "RULE_REAL", "RULE_DESC_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'true'", "'false'", "'model'", "'incorporates'", "'='", "'['", "','", "']'"
     };
     public static final int RULE_ID=5;
-    public static final int RULE_STRING=4;
     public static final int RULE_ANY_OTHER=13;
+    public static final int T__21=21;
+    public static final int T__20=20;
+    public static final int EOF=-1;
+    public static final int RULE_SL_COMMENT=11;
+    public static final int RULE_ML_COMMENT=10;
+    public static final int T__19=19;
+    public static final int RULE_STRING=4;
+    public static final int T__16=16;
+    public static final int T__15=15;
+    public static final int T__18=18;
+    public static final int T__17=17;
+    public static final int T__14=14;
     public static final int RULE_INT=9;
     public static final int RULE_REAL=7;
     public static final int RULE_WS=12;
-    public static final int RULE_SL_COMMENT=11;
     public static final int RULE_DESC_STRING=8;
-    public static final int EOF=-1;
     public static final int RULE_INTEGER=6;
-    public static final int RULE_ML_COMMENT=10;
+
+    // delegates
+    // delegators
+
 
         public InternalAParParser(TokenStream input) {
-            super(input);
+            this(input, new RecognizerSharedState());
+        }
+        public InternalAParParser(TokenStream input, RecognizerSharedState state) {
+            super(input, state);
+             
         }
         
 
-    public String[] getTokenNames() { return tokenNames; }
+    public String[] getTokenNames() { return InternalAParParser.tokenNames; }
     public String getGrammarFileName() { return "../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g"; }
 
 
@@ -66,7 +82,7 @@
 
 
 
-    // $ANTLR start entryRuleModel
+    // $ANTLR start "entryRuleModel"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:61:1: entryRuleModel : ruleModel EOF ;
     public final void entryRuleModel() throws RecognitionException {
         try {
@@ -76,7 +92,8 @@
              before(grammarAccess.getModelRule()); 
             pushFollow(FOLLOW_ruleModel_in_entryRuleModel61);
             ruleModel();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getModelRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleModel68); 
@@ -92,10 +109,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleModel
+    // $ANTLR end "entryRuleModel"
 
 
-    // $ANTLR start ruleModel
+    // $ANTLR start "ruleModel"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:70:1: ruleModel : ( ( rule__Model__Group__0 ) ) ;
     public final void ruleModel() throws RecognitionException {
 
@@ -114,7 +131,8 @@
             {
             pushFollow(FOLLOW_rule__Model__Group__0_in_ruleModel94);
             rule__Model__Group__0();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -138,10 +156,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleModel
+    // $ANTLR end "ruleModel"
 
 
-    // $ANTLR start entryRuleImport
+    // $ANTLR start "entryRuleImport"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:89:1: entryRuleImport : ruleImport EOF ;
     public final void entryRuleImport() throws RecognitionException {
         try {
@@ -151,7 +169,8 @@
              before(grammarAccess.getImportRule()); 
             pushFollow(FOLLOW_ruleImport_in_entryRuleImport121);
             ruleImport();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getImportRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleImport128); 
@@ -167,10 +186,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleImport
+    // $ANTLR end "entryRuleImport"
 
 
-    // $ANTLR start ruleImport
+    // $ANTLR start "ruleImport"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:98:1: ruleImport : ( ( rule__Import__ImportURIAssignment ) ) ;
     public final void ruleImport() throws RecognitionException {
 
@@ -189,7 +208,8 @@
             {
             pushFollow(FOLLOW_rule__Import__ImportURIAssignment_in_ruleImport154);
             rule__Import__ImportURIAssignment();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -213,10 +233,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleImport
+    // $ANTLR end "ruleImport"
 
 
-    // $ANTLR start entryRuleIncorporates
+    // $ANTLR start "entryRuleIncorporates"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:117:1: entryRuleIncorporates : ruleIncorporates EOF ;
     public final void entryRuleIncorporates() throws RecognitionException {
         try {
@@ -226,7 +246,8 @@
              before(grammarAccess.getIncorporatesRule()); 
             pushFollow(FOLLOW_ruleIncorporates_in_entryRuleIncorporates181);
             ruleIncorporates();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getIncorporatesRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleIncorporates188); 
@@ -242,10 +263,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleIncorporates
+    // $ANTLR end "entryRuleIncorporates"
 
 
-    // $ANTLR start ruleIncorporates
+    // $ANTLR start "ruleIncorporates"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:126:1: ruleIncorporates : ( ( rule__Incorporates__ImportURIAssignment ) ) ;
     public final void ruleIncorporates() throws RecognitionException {
 
@@ -264,7 +285,8 @@
             {
             pushFollow(FOLLOW_rule__Incorporates__ImportURIAssignment_in_ruleIncorporates214);
             rule__Incorporates__ImportURIAssignment();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -288,10 +310,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleIncorporates
+    // $ANTLR end "ruleIncorporates"
 
 
-    // $ANTLR start entryRuleParameter
+    // $ANTLR start "entryRuleParameter"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:145:1: entryRuleParameter : ruleParameter EOF ;
     public final void entryRuleParameter() throws RecognitionException {
         try {
@@ -301,7 +323,8 @@
              before(grammarAccess.getParameterRule()); 
             pushFollow(FOLLOW_ruleParameter_in_entryRuleParameter241);
             ruleParameter();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getParameterRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleParameter248); 
@@ -317,10 +340,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleParameter
+    // $ANTLR end "entryRuleParameter"
 
 
-    // $ANTLR start ruleParameter
+    // $ANTLR start "ruleParameter"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:154:1: ruleParameter : ( ( rule__Parameter__Alternatives ) ) ;
     public final void ruleParameter() throws RecognitionException {
 
@@ -339,7 +362,8 @@
             {
             pushFollow(FOLLOW_rule__Parameter__Alternatives_in_ruleParameter274);
             rule__Parameter__Alternatives();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -363,10 +387,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleParameter
+    // $ANTLR end "ruleParameter"
 
 
-    // $ANTLR start entryRuleSingleParameter
+    // $ANTLR start "entryRuleSingleParameter"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:173:1: entryRuleSingleParameter : ruleSingleParameter EOF ;
     public final void entryRuleSingleParameter() throws RecognitionException {
         try {
@@ -376,7 +400,8 @@
              before(grammarAccess.getSingleParameterRule()); 
             pushFollow(FOLLOW_ruleSingleParameter_in_entryRuleSingleParameter301);
             ruleSingleParameter();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getSingleParameterRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleSingleParameter308); 
@@ -392,10 +417,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleSingleParameter
+    // $ANTLR end "entryRuleSingleParameter"
 
 
-    // $ANTLR start ruleSingleParameter
+    // $ANTLR start "ruleSingleParameter"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:182:1: ruleSingleParameter : ( ( rule__SingleParameter__Group__0 ) ) ;
     public final void ruleSingleParameter() throws RecognitionException {
 
@@ -414,7 +439,8 @@
             {
             pushFollow(FOLLOW_rule__SingleParameter__Group__0_in_ruleSingleParameter334);
             rule__SingleParameter__Group__0();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -438,10 +464,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleSingleParameter
+    // $ANTLR end "ruleSingleParameter"
 
 
-    // $ANTLR start entryRuleSweepParameter
+    // $ANTLR start "entryRuleSweepParameter"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:201:1: entryRuleSweepParameter : ruleSweepParameter EOF ;
     public final void entryRuleSweepParameter() throws RecognitionException {
         try {
@@ -451,7 +477,8 @@
              before(grammarAccess.getSweepParameterRule()); 
             pushFollow(FOLLOW_ruleSweepParameter_in_entryRuleSweepParameter361);
             ruleSweepParameter();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getSweepParameterRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleSweepParameter368); 
@@ -467,10 +494,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleSweepParameter
+    // $ANTLR end "entryRuleSweepParameter"
 
 
-    // $ANTLR start ruleSweepParameter
+    // $ANTLR start "ruleSweepParameter"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:210:1: ruleSweepParameter : ( ( rule__SweepParameter__Group__0 ) ) ;
     public final void ruleSweepParameter() throws RecognitionException {
 
@@ -489,7 +516,8 @@
             {
             pushFollow(FOLLOW_rule__SweepParameter__Group__0_in_ruleSweepParameter394);
             rule__SweepParameter__Group__0();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -513,10 +541,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleSweepParameter
+    // $ANTLR end "ruleSweepParameter"
 
 
-    // $ANTLR start entryRuleSweepLink
+    // $ANTLR start "entryRuleSweepLink"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:229:1: entryRuleSweepLink : ruleSweepLink EOF ;
     public final void entryRuleSweepLink() throws RecognitionException {
         try {
@@ -526,7 +554,8 @@
              before(grammarAccess.getSweepLinkRule()); 
             pushFollow(FOLLOW_ruleSweepLink_in_entryRuleSweepLink421);
             ruleSweepLink();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getSweepLinkRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleSweepLink428); 
@@ -542,10 +571,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleSweepLink
+    // $ANTLR end "entryRuleSweepLink"
 
 
-    // $ANTLR start ruleSweepLink
+    // $ANTLR start "ruleSweepLink"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:238:1: ruleSweepLink : ( ( rule__SweepLink__Group__0 ) ) ;
     public final void ruleSweepLink() throws RecognitionException {
 
@@ -564,7 +593,8 @@
             {
             pushFollow(FOLLOW_rule__SweepLink__Group__0_in_ruleSweepLink454);
             rule__SweepLink__Group__0();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -588,10 +618,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleSweepLink
+    // $ANTLR end "ruleSweepLink"
 
 
-    // $ANTLR start entryRuleValue
+    // $ANTLR start "entryRuleValue"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:257:1: entryRuleValue : ruleValue EOF ;
     public final void entryRuleValue() throws RecognitionException {
         try {
@@ -601,7 +631,8 @@
              before(grammarAccess.getValueRule()); 
             pushFollow(FOLLOW_ruleValue_in_entryRuleValue481);
             ruleValue();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getValueRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleValue488); 
@@ -617,10 +648,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleValue
+    // $ANTLR end "entryRuleValue"
 
 
-    // $ANTLR start ruleValue
+    // $ANTLR start "ruleValue"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:266:1: ruleValue : ( ( rule__Value__Alternatives ) ) ;
     public final void ruleValue() throws RecognitionException {
 
@@ -639,7 +670,8 @@
             {
             pushFollow(FOLLOW_rule__Value__Alternatives_in_ruleValue514);
             rule__Value__Alternatives();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -663,10 +695,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleValue
+    // $ANTLR end "ruleValue"
 
 
-    // $ANTLR start entryRuleIntValue
+    // $ANTLR start "entryRuleIntValue"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:285:1: entryRuleIntValue : ruleIntValue EOF ;
     public final void entryRuleIntValue() throws RecognitionException {
         try {
@@ -676,7 +708,8 @@
              before(grammarAccess.getIntValueRule()); 
             pushFollow(FOLLOW_ruleIntValue_in_entryRuleIntValue541);
             ruleIntValue();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getIntValueRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleIntValue548); 
@@ -692,10 +725,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleIntValue
+    // $ANTLR end "entryRuleIntValue"
 
 
-    // $ANTLR start ruleIntValue
+    // $ANTLR start "ruleIntValue"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:294:1: ruleIntValue : ( ( rule__IntValue__ValueAssignment ) ) ;
     public final void ruleIntValue() throws RecognitionException {
 
@@ -714,7 +747,8 @@
             {
             pushFollow(FOLLOW_rule__IntValue__ValueAssignment_in_ruleIntValue574);
             rule__IntValue__ValueAssignment();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -738,10 +772,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleIntValue
+    // $ANTLR end "ruleIntValue"
 
 
-    // $ANTLR start entryRuleRealValue
+    // $ANTLR start "entryRuleRealValue"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:313:1: entryRuleRealValue : ruleRealValue EOF ;
     public final void entryRuleRealValue() throws RecognitionException {
         try {
@@ -751,7 +785,8 @@
              before(grammarAccess.getRealValueRule()); 
             pushFollow(FOLLOW_ruleRealValue_in_entryRuleRealValue601);
             ruleRealValue();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getRealValueRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleRealValue608); 
@@ -767,10 +802,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleRealValue
+    // $ANTLR end "entryRuleRealValue"
 
 
-    // $ANTLR start ruleRealValue
+    // $ANTLR start "ruleRealValue"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:322:1: ruleRealValue : ( ( rule__RealValue__ValueAssignment ) ) ;
     public final void ruleRealValue() throws RecognitionException {
 
@@ -789,7 +824,8 @@
             {
             pushFollow(FOLLOW_rule__RealValue__ValueAssignment_in_ruleRealValue634);
             rule__RealValue__ValueAssignment();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -813,10 +849,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleRealValue
+    // $ANTLR end "ruleRealValue"
 
 
-    // $ANTLR start entryRuleStringValue
+    // $ANTLR start "entryRuleStringValue"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:341:1: entryRuleStringValue : ruleStringValue EOF ;
     public final void entryRuleStringValue() throws RecognitionException {
         try {
@@ -826,7 +862,8 @@
              before(grammarAccess.getStringValueRule()); 
             pushFollow(FOLLOW_ruleStringValue_in_entryRuleStringValue661);
             ruleStringValue();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getStringValueRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleStringValue668); 
@@ -842,10 +879,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleStringValue
+    // $ANTLR end "entryRuleStringValue"
 
 
-    // $ANTLR start ruleStringValue
+    // $ANTLR start "ruleStringValue"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:350:1: ruleStringValue : ( ( rule__StringValue__ValueAssignment ) ) ;
     public final void ruleStringValue() throws RecognitionException {
 
@@ -864,7 +901,8 @@
             {
             pushFollow(FOLLOW_rule__StringValue__ValueAssignment_in_ruleStringValue694);
             rule__StringValue__ValueAssignment();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -888,10 +926,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleStringValue
+    // $ANTLR end "ruleStringValue"
 
 
-    // $ANTLR start entryRuleBooleanValue
+    // $ANTLR start "entryRuleBooleanValue"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:369:1: entryRuleBooleanValue : ruleBooleanValue EOF ;
     public final void entryRuleBooleanValue() throws RecognitionException {
         try {
@@ -901,7 +939,8 @@
              before(grammarAccess.getBooleanValueRule()); 
             pushFollow(FOLLOW_ruleBooleanValue_in_entryRuleBooleanValue721);
             ruleBooleanValue();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getBooleanValueRule()); 
             match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanValue728); 
@@ -917,10 +956,10 @@
         }
         return ;
     }
-    // $ANTLR end entryRuleBooleanValue
+    // $ANTLR end "entryRuleBooleanValue"
 
 
-    // $ANTLR start ruleBooleanValue
+    // $ANTLR start "ruleBooleanValue"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:378:1: ruleBooleanValue : ( ( rule__BooleanValue__ValueAssignment ) ) ;
     public final void ruleBooleanValue() throws RecognitionException {
 
@@ -939,7 +978,8 @@
             {
             pushFollow(FOLLOW_rule__BooleanValue__ValueAssignment_in_ruleBooleanValue754);
             rule__BooleanValue__ValueAssignment();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -963,10 +1003,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleBooleanValue
+    // $ANTLR end "ruleBooleanValue"
 
 
-    // $ANTLR start ruleBOOLEAN
+    // $ANTLR start "ruleBOOLEAN"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:398:1: ruleBOOLEAN : ( ( rule__BOOLEAN__Alternatives ) ) ;
     public final void ruleBOOLEAN() throws RecognitionException {
 
@@ -985,7 +1025,8 @@
             {
             pushFollow(FOLLOW_rule__BOOLEAN__Alternatives_in_ruleBOOLEAN791);
             rule__BOOLEAN__Alternatives();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -1009,10 +1050,10 @@
         }
         return ;
     }
-    // $ANTLR end ruleBOOLEAN
+    // $ANTLR end "ruleBOOLEAN"
 
 
-    // $ANTLR start rule__Parameter__Alternatives
+    // $ANTLR start "rule__Parameter__Alternatives"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:416:1: rule__Parameter__Alternatives : ( ( ruleSingleParameter ) | ( ruleSweepParameter ) | ( ruleSweepLink ) );
     public final void rule__Parameter__Alternatives() throws RecognitionException {
 
@@ -1034,7 +1075,7 @@
                 }
                 else {
                     NoViableAltException nvae =
-                        new NoViableAltException("416:1: rule__Parameter__Alternatives : ( ( ruleSingleParameter ) | ( ruleSweepParameter ) | ( ruleSweepLink ) );", 1, 1, input);
+                        new NoViableAltException("", 1, 1, input);
 
                     throw nvae;
                 }
@@ -1044,7 +1085,7 @@
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("416:1: rule__Parameter__Alternatives : ( ( ruleSingleParameter ) | ( ruleSweepParameter ) | ( ruleSweepLink ) );", 1, 0, input);
+                    new NoViableAltException("", 1, 0, input);
 
                 throw nvae;
             }
@@ -1058,7 +1099,8 @@
                      before(grammarAccess.getParameterAccess().getSingleParameterParserRuleCall_0()); 
                     pushFollow(FOLLOW_ruleSingleParameter_in_rule__Parameter__Alternatives826);
                     ruleSingleParameter();
-                    _fsp--;
+
+                    state._fsp--;
 
                      after(grammarAccess.getParameterAccess().getSingleParameterParserRuleCall_0()); 
 
@@ -1076,7 +1118,8 @@
                      before(grammarAccess.getParameterAccess().getSweepParameterParserRuleCall_1()); 
                     pushFollow(FOLLOW_ruleSweepParameter_in_rule__Parameter__Alternatives843);
                     ruleSweepParameter();
-                    _fsp--;
+
+                    state._fsp--;
 
                      after(grammarAccess.getParameterAccess().getSweepParameterParserRuleCall_1()); 
 
@@ -1094,7 +1137,8 @@
                      before(grammarAccess.getParameterAccess().getSweepLinkParserRuleCall_2()); 
                     pushFollow(FOLLOW_ruleSweepLink_in_rule__Parameter__Alternatives860);
                     ruleSweepLink();
-                    _fsp--;
+
+                    state._fsp--;
 
                      after(grammarAccess.getParameterAccess().getSweepLinkParserRuleCall_2()); 
 
@@ -1117,10 +1161,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Parameter__Alternatives
+    // $ANTLR end "rule__Parameter__Alternatives"
 
 
-    // $ANTLR start rule__Value__Alternatives
+    // $ANTLR start "rule__Value__Alternatives"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:444:1: rule__Value__Alternatives : ( ( ruleIntValue ) | ( ruleStringValue ) | ( ruleRealValue ) | ( ruleBooleanValue ) );
     public final void rule__Value__Alternatives() throws RecognitionException {
 
@@ -1153,7 +1197,7 @@
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("444:1: rule__Value__Alternatives : ( ( ruleIntValue ) | ( ruleStringValue ) | ( ruleRealValue ) | ( ruleBooleanValue ) );", 2, 0, input);
+                    new NoViableAltException("", 2, 0, input);
 
                 throw nvae;
             }
@@ -1168,7 +1212,8 @@
                      before(grammarAccess.getValueAccess().getIntValueParserRuleCall_0()); 
                     pushFollow(FOLLOW_ruleIntValue_in_rule__Value__Alternatives892);
                     ruleIntValue();
-                    _fsp--;
+
+                    state._fsp--;
 
                      after(grammarAccess.getValueAccess().getIntValueParserRuleCall_0()); 
 
@@ -1186,7 +1231,8 @@
                      before(grammarAccess.getValueAccess().getStringValueParserRuleCall_1()); 
                     pushFollow(FOLLOW_ruleStringValue_in_rule__Value__Alternatives909);
                     ruleStringValue();
-                    _fsp--;
+
+                    state._fsp--;
 
                      after(grammarAccess.getValueAccess().getStringValueParserRuleCall_1()); 
 
@@ -1204,7 +1250,8 @@
                      before(grammarAccess.getValueAccess().getRealValueParserRuleCall_2()); 
                     pushFollow(FOLLOW_ruleRealValue_in_rule__Value__Alternatives926);
                     ruleRealValue();
-                    _fsp--;
+
+                    state._fsp--;
 
                      after(grammarAccess.getValueAccess().getRealValueParserRuleCall_2()); 
 
@@ -1222,7 +1269,8 @@
                      before(grammarAccess.getValueAccess().getBooleanValueParserRuleCall_3()); 
                     pushFollow(FOLLOW_ruleBooleanValue_in_rule__Value__Alternatives943);
                     ruleBooleanValue();
-                    _fsp--;
+
+                    state._fsp--;
 
                      after(grammarAccess.getValueAccess().getBooleanValueParserRuleCall_3()); 
 
@@ -1245,10 +1293,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Value__Alternatives
+    // $ANTLR end "rule__Value__Alternatives"
 
 
-    // $ANTLR start rule__BOOLEAN__Alternatives
+    // $ANTLR start "rule__BOOLEAN__Alternatives"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:478:1: rule__BOOLEAN__Alternatives : ( ( ( 'true' ) ) | ( ( 'false' ) ) );
     public final void rule__BOOLEAN__Alternatives() throws RecognitionException {
 
@@ -1267,7 +1315,7 @@
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("478:1: rule__BOOLEAN__Alternatives : ( ( ( 'true' ) ) | ( ( 'false' ) ) );", 3, 0, input);
+                    new NoViableAltException("", 3, 0, input);
 
                 throw nvae;
             }
@@ -1328,10 +1376,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__BOOLEAN__Alternatives
+    // $ANTLR end "rule__BOOLEAN__Alternatives"
 
 
-    // $ANTLR start rule__Model__Group__0
+    // $ANTLR start "rule__Model__Group__0"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:504:1: rule__Model__Group__0 : rule__Model__Group__0__Impl rule__Model__Group__1 ;
     public final void rule__Model__Group__0() throws RecognitionException {
 
@@ -1343,11 +1391,13 @@
             {
             pushFollow(FOLLOW_rule__Model__Group__0__Impl_in_rule__Model__Group__01030);
             rule__Model__Group__0__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__Model__Group__1_in_rule__Model__Group__01033);
             rule__Model__Group__1();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -1364,10 +1414,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__Group__0
+    // $ANTLR end "rule__Model__Group__0"
 
 
-    // $ANTLR start rule__Model__Group__0__Impl
+    // $ANTLR start "rule__Model__Group__0__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:516:1: rule__Model__Group__0__Impl : ( ( rule__Model__NameAssignment_0 )? ) ;
     public final void rule__Model__Group__0__Impl() throws RecognitionException {
 
@@ -1394,7 +1444,8 @@
                     {
                     pushFollow(FOLLOW_rule__Model__NameAssignment_0_in_rule__Model__Group__0__Impl1060);
                     rule__Model__NameAssignment_0();
-                    _fsp--;
+
+                    state._fsp--;
 
 
                     }
@@ -1421,10 +1472,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__Group__0__Impl
+    // $ANTLR end "rule__Model__Group__0__Impl"
 
 
-    // $ANTLR start rule__Model__Group__1
+    // $ANTLR start "rule__Model__Group__1"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:533:1: rule__Model__Group__1 : rule__Model__Group__1__Impl rule__Model__Group__2 ;
     public final void rule__Model__Group__1() throws RecognitionException {
 
@@ -1436,11 +1487,13 @@
             {
             pushFollow(FOLLOW_rule__Model__Group__1__Impl_in_rule__Model__Group__11091);
             rule__Model__Group__1__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__Model__Group__2_in_rule__Model__Group__11094);
             rule__Model__Group__2();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -1457,10 +1510,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__Group__1
+    // $ANTLR end "rule__Model__Group__1"
 
 
-    // $ANTLR start rule__Model__Group__1__Impl
+    // $ANTLR start "rule__Model__Group__1__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:545:1: rule__Model__Group__1__Impl : ( 'model' ) ;
     public final void rule__Model__Group__1__Impl() throws RecognitionException {
 
@@ -1494,10 +1547,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__Group__1__Impl
+    // $ANTLR end "rule__Model__Group__1__Impl"
 
 
-    // $ANTLR start rule__Model__Group__2
+    // $ANTLR start "rule__Model__Group__2"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:564:1: rule__Model__Group__2 : rule__Model__Group__2__Impl rule__Model__Group__3 ;
     public final void rule__Model__Group__2() throws RecognitionException {
 
@@ -1509,11 +1562,13 @@
             {
             pushFollow(FOLLOW_rule__Model__Group__2__Impl_in_rule__Model__Group__21153);
             rule__Model__Group__2__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__Model__Group__3_in_rule__Model__Group__21156);
             rule__Model__Group__3();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -1530,10 +1585,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__Group__2
+    // $ANTLR end "rule__Model__Group__2"
 
 
-    // $ANTLR start rule__Model__Group__2__Impl
+    // $ANTLR start "rule__Model__Group__2__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:576:1: rule__Model__Group__2__Impl : ( ( rule__Model__ModelAssignment_2 ) ) ;
     public final void rule__Model__Group__2__Impl() throws RecognitionException {
 
@@ -1552,7 +1607,8 @@
             {
             pushFollow(FOLLOW_rule__Model__ModelAssignment_2_in_rule__Model__Group__2__Impl1183);
             rule__Model__ModelAssignment_2();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -1576,10 +1632,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__Group__2__Impl
+    // $ANTLR end "rule__Model__Group__2__Impl"
 
 
-    // $ANTLR start rule__Model__Group__3
+    // $ANTLR start "rule__Model__Group__3"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:593:1: rule__Model__Group__3 : rule__Model__Group__3__Impl rule__Model__Group__4 ;
     public final void rule__Model__Group__3() throws RecognitionException {
 
@@ -1591,11 +1647,13 @@
             {
             pushFollow(FOLLOW_rule__Model__Group__3__Impl_in_rule__Model__Group__31213);
             rule__Model__Group__3__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__Model__Group__4_in_rule__Model__Group__31216);
             rule__Model__Group__4();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -1612,10 +1670,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__Group__3
+    // $ANTLR end "rule__Model__Group__3"
 
 
-    // $ANTLR start rule__Model__Group__3__Impl
+    // $ANTLR start "rule__Model__Group__3__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:605:1: rule__Model__Group__3__Impl : ( ( rule__Model__Group_3__0 )* ) ;
     public final void rule__Model__Group__3__Impl() throws RecognitionException {
 
@@ -1646,7 +1704,8 @@
             	    {
             	    pushFollow(FOLLOW_rule__Model__Group_3__0_in_rule__Model__Group__3__Impl1243);
             	    rule__Model__Group_3__0();
-            	    _fsp--;
+
+            	    state._fsp--;
 
 
             	    }
@@ -1676,10 +1735,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__Group__3__Impl
+    // $ANTLR end "rule__Model__Group__3__Impl"
 
 
-    // $ANTLR start rule__Model__Group__4
+    // $ANTLR start "rule__Model__Group__4"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:622:1: rule__Model__Group__4 : rule__Model__Group__4__Impl ;
     public final void rule__Model__Group__4() throws RecognitionException {
 
@@ -1691,7 +1750,8 @@
             {
             pushFollow(FOLLOW_rule__Model__Group__4__Impl_in_rule__Model__Group__41274);
             rule__Model__Group__4__Impl();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -1708,10 +1768,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__Group__4
+    // $ANTLR end "rule__Model__Group__4"
 
 
-    // $ANTLR start rule__Model__Group__4__Impl
+    // $ANTLR start "rule__Model__Group__4__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:633:1: rule__Model__Group__4__Impl : ( ( rule__Model__ParametersAssignment_4 )* ) ;
     public final void rule__Model__Group__4__Impl() throws RecognitionException {
 
@@ -1742,7 +1802,8 @@
             	    {
             	    pushFollow(FOLLOW_rule__Model__ParametersAssignment_4_in_rule__Model__Group__4__Impl1301);
             	    rule__Model__ParametersAssignment_4();
-            	    _fsp--;
+
+            	    state._fsp--;
 
 
             	    }
@@ -1772,10 +1833,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__Group__4__Impl
+    // $ANTLR end "rule__Model__Group__4__Impl"
 
 
-    // $ANTLR start rule__Model__Group_3__0
+    // $ANTLR start "rule__Model__Group_3__0"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:660:1: rule__Model__Group_3__0 : rule__Model__Group_3__0__Impl rule__Model__Group_3__1 ;
     public final void rule__Model__Group_3__0() throws RecognitionException {
 
@@ -1787,11 +1848,13 @@
             {
             pushFollow(FOLLOW_rule__Model__Group_3__0__Impl_in_rule__Model__Group_3__01342);
             rule__Model__Group_3__0__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__Model__Group_3__1_in_rule__Model__Group_3__01345);
             rule__Model__Group_3__1();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -1808,10 +1871,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__Group_3__0
+    // $ANTLR end "rule__Model__Group_3__0"
 
 
-    // $ANTLR start rule__Model__Group_3__0__Impl
+    // $ANTLR start "rule__Model__Group_3__0__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:672:1: rule__Model__Group_3__0__Impl : ( 'incorporates' ) ;
     public final void rule__Model__Group_3__0__Impl() throws RecognitionException {
 
@@ -1845,10 +1908,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__Group_3__0__Impl
+    // $ANTLR end "rule__Model__Group_3__0__Impl"
 
 
-    // $ANTLR start rule__Model__Group_3__1
+    // $ANTLR start "rule__Model__Group_3__1"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:691:1: rule__Model__Group_3__1 : rule__Model__Group_3__1__Impl ;
     public final void rule__Model__Group_3__1() throws RecognitionException {
 
@@ -1860,7 +1923,8 @@
             {
             pushFollow(FOLLOW_rule__Model__Group_3__1__Impl_in_rule__Model__Group_3__11404);
             rule__Model__Group_3__1__Impl();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -1877,10 +1941,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__Group_3__1
+    // $ANTLR end "rule__Model__Group_3__1"
 
 
-    // $ANTLR start rule__Model__Group_3__1__Impl
+    // $ANTLR start "rule__Model__Group_3__1__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:702:1: rule__Model__Group_3__1__Impl : ( ( rule__Model__IncorporatesAssignment_3_1 ) ) ;
     public final void rule__Model__Group_3__1__Impl() throws RecognitionException {
 
@@ -1899,7 +1963,8 @@
             {
             pushFollow(FOLLOW_rule__Model__IncorporatesAssignment_3_1_in_rule__Model__Group_3__1__Impl1431);
             rule__Model__IncorporatesAssignment_3_1();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -1923,10 +1988,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__Group_3__1__Impl
+    // $ANTLR end "rule__Model__Group_3__1__Impl"
 
 
-    // $ANTLR start rule__SingleParameter__Group__0
+    // $ANTLR start "rule__SingleParameter__Group__0"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:723:1: rule__SingleParameter__Group__0 : rule__SingleParameter__Group__0__Impl rule__SingleParameter__Group__1 ;
     public final void rule__SingleParameter__Group__0() throws RecognitionException {
 
@@ -1938,11 +2003,13 @@
             {
             pushFollow(FOLLOW_rule__SingleParameter__Group__0__Impl_in_rule__SingleParameter__Group__01465);
             rule__SingleParameter__Group__0__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__SingleParameter__Group__1_in_rule__SingleParameter__Group__01468);
             rule__SingleParameter__Group__1();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -1959,10 +2026,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SingleParameter__Group__0
+    // $ANTLR end "rule__SingleParameter__Group__0"
 
 
-    // $ANTLR start rule__SingleParameter__Group__0__Impl
+    // $ANTLR start "rule__SingleParameter__Group__0__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:735:1: rule__SingleParameter__Group__0__Impl : ( ( rule__SingleParameter__AttributeAssignment_0 ) ) ;
     public final void rule__SingleParameter__Group__0__Impl() throws RecognitionException {
 
@@ -1981,7 +2048,8 @@
             {
             pushFollow(FOLLOW_rule__SingleParameter__AttributeAssignment_0_in_rule__SingleParameter__Group__0__Impl1495);
             rule__SingleParameter__AttributeAssignment_0();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2005,10 +2073,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SingleParameter__Group__0__Impl
+    // $ANTLR end "rule__SingleParameter__Group__0__Impl"
 
 
-    // $ANTLR start rule__SingleParameter__Group__1
+    // $ANTLR start "rule__SingleParameter__Group__1"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:752:1: rule__SingleParameter__Group__1 : rule__SingleParameter__Group__1__Impl rule__SingleParameter__Group__2 ;
     public final void rule__SingleParameter__Group__1() throws RecognitionException {
 
@@ -2020,11 +2088,13 @@
             {
             pushFollow(FOLLOW_rule__SingleParameter__Group__1__Impl_in_rule__SingleParameter__Group__11525);
             rule__SingleParameter__Group__1__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__SingleParameter__Group__2_in_rule__SingleParameter__Group__11528);
             rule__SingleParameter__Group__2();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2041,10 +2111,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SingleParameter__Group__1
+    // $ANTLR end "rule__SingleParameter__Group__1"
 
 
-    // $ANTLR start rule__SingleParameter__Group__1__Impl
+    // $ANTLR start "rule__SingleParameter__Group__1__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:764:1: rule__SingleParameter__Group__1__Impl : ( '=' ) ;
     public final void rule__SingleParameter__Group__1__Impl() throws RecognitionException {
 
@@ -2078,10 +2148,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SingleParameter__Group__1__Impl
+    // $ANTLR end "rule__SingleParameter__Group__1__Impl"
 
 
-    // $ANTLR start rule__SingleParameter__Group__2
+    // $ANTLR start "rule__SingleParameter__Group__2"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:783:1: rule__SingleParameter__Group__2 : rule__SingleParameter__Group__2__Impl ;
     public final void rule__SingleParameter__Group__2() throws RecognitionException {
 
@@ -2093,7 +2163,8 @@
             {
             pushFollow(FOLLOW_rule__SingleParameter__Group__2__Impl_in_rule__SingleParameter__Group__21587);
             rule__SingleParameter__Group__2__Impl();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2110,10 +2181,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SingleParameter__Group__2
+    // $ANTLR end "rule__SingleParameter__Group__2"
 
 
-    // $ANTLR start rule__SingleParameter__Group__2__Impl
+    // $ANTLR start "rule__SingleParameter__Group__2__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:794:1: rule__SingleParameter__Group__2__Impl : ( ( rule__SingleParameter__ValueAssignment_2 ) ) ;
     public final void rule__SingleParameter__Group__2__Impl() throws RecognitionException {
 
@@ -2132,7 +2203,8 @@
             {
             pushFollow(FOLLOW_rule__SingleParameter__ValueAssignment_2_in_rule__SingleParameter__Group__2__Impl1614);
             rule__SingleParameter__ValueAssignment_2();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2156,10 +2228,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SingleParameter__Group__2__Impl
+    // $ANTLR end "rule__SingleParameter__Group__2__Impl"
 
 
-    // $ANTLR start rule__SweepParameter__Group__0
+    // $ANTLR start "rule__SweepParameter__Group__0"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:817:1: rule__SweepParameter__Group__0 : rule__SweepParameter__Group__0__Impl rule__SweepParameter__Group__1 ;
     public final void rule__SweepParameter__Group__0() throws RecognitionException {
 
@@ -2171,11 +2243,13 @@
             {
             pushFollow(FOLLOW_rule__SweepParameter__Group__0__Impl_in_rule__SweepParameter__Group__01650);
             rule__SweepParameter__Group__0__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__SweepParameter__Group__1_in_rule__SweepParameter__Group__01653);
             rule__SweepParameter__Group__1();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2192,10 +2266,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__0
+    // $ANTLR end "rule__SweepParameter__Group__0"
 
 
-    // $ANTLR start rule__SweepParameter__Group__0__Impl
+    // $ANTLR start "rule__SweepParameter__Group__0__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:829:1: rule__SweepParameter__Group__0__Impl : ( ( rule__SweepParameter__AttributeAssignment_0 ) ) ;
     public final void rule__SweepParameter__Group__0__Impl() throws RecognitionException {
 
@@ -2214,7 +2288,8 @@
             {
             pushFollow(FOLLOW_rule__SweepParameter__AttributeAssignment_0_in_rule__SweepParameter__Group__0__Impl1680);
             rule__SweepParameter__AttributeAssignment_0();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2238,10 +2313,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__0__Impl
+    // $ANTLR end "rule__SweepParameter__Group__0__Impl"
 
 
-    // $ANTLR start rule__SweepParameter__Group__1
+    // $ANTLR start "rule__SweepParameter__Group__1"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:846:1: rule__SweepParameter__Group__1 : rule__SweepParameter__Group__1__Impl rule__SweepParameter__Group__2 ;
     public final void rule__SweepParameter__Group__1() throws RecognitionException {
 
@@ -2253,11 +2328,13 @@
             {
             pushFollow(FOLLOW_rule__SweepParameter__Group__1__Impl_in_rule__SweepParameter__Group__11710);
             rule__SweepParameter__Group__1__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__SweepParameter__Group__2_in_rule__SweepParameter__Group__11713);
             rule__SweepParameter__Group__2();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2274,10 +2351,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__1
+    // $ANTLR end "rule__SweepParameter__Group__1"
 
 
-    // $ANTLR start rule__SweepParameter__Group__1__Impl
+    // $ANTLR start "rule__SweepParameter__Group__1__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:858:1: rule__SweepParameter__Group__1__Impl : ( '[' ) ;
     public final void rule__SweepParameter__Group__1__Impl() throws RecognitionException {
 
@@ -2311,10 +2388,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__1__Impl
+    // $ANTLR end "rule__SweepParameter__Group__1__Impl"
 
 
-    // $ANTLR start rule__SweepParameter__Group__2
+    // $ANTLR start "rule__SweepParameter__Group__2"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:877:1: rule__SweepParameter__Group__2 : rule__SweepParameter__Group__2__Impl rule__SweepParameter__Group__3 ;
     public final void rule__SweepParameter__Group__2() throws RecognitionException {
 
@@ -2326,11 +2403,13 @@
             {
             pushFollow(FOLLOW_rule__SweepParameter__Group__2__Impl_in_rule__SweepParameter__Group__21772);
             rule__SweepParameter__Group__2__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__SweepParameter__Group__3_in_rule__SweepParameter__Group__21775);
             rule__SweepParameter__Group__3();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2347,10 +2426,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__2
+    // $ANTLR end "rule__SweepParameter__Group__2"
 
 
-    // $ANTLR start rule__SweepParameter__Group__2__Impl
+    // $ANTLR start "rule__SweepParameter__Group__2__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:889:1: rule__SweepParameter__Group__2__Impl : ( ( rule__SweepParameter__StartValueAssignment_2 ) ) ;
     public final void rule__SweepParameter__Group__2__Impl() throws RecognitionException {
 
@@ -2369,7 +2448,8 @@
             {
             pushFollow(FOLLOW_rule__SweepParameter__StartValueAssignment_2_in_rule__SweepParameter__Group__2__Impl1802);
             rule__SweepParameter__StartValueAssignment_2();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2393,10 +2473,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__2__Impl
+    // $ANTLR end "rule__SweepParameter__Group__2__Impl"
 
 
-    // $ANTLR start rule__SweepParameter__Group__3
+    // $ANTLR start "rule__SweepParameter__Group__3"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:906:1: rule__SweepParameter__Group__3 : rule__SweepParameter__Group__3__Impl rule__SweepParameter__Group__4 ;
     public final void rule__SweepParameter__Group__3() throws RecognitionException {
 
@@ -2408,11 +2488,13 @@
             {
             pushFollow(FOLLOW_rule__SweepParameter__Group__3__Impl_in_rule__SweepParameter__Group__31832);
             rule__SweepParameter__Group__3__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__SweepParameter__Group__4_in_rule__SweepParameter__Group__31835);
             rule__SweepParameter__Group__4();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2429,10 +2511,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__3
+    // $ANTLR end "rule__SweepParameter__Group__3"
 
 
-    // $ANTLR start rule__SweepParameter__Group__3__Impl
+    // $ANTLR start "rule__SweepParameter__Group__3__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:918:1: rule__SweepParameter__Group__3__Impl : ( ',' ) ;
     public final void rule__SweepParameter__Group__3__Impl() throws RecognitionException {
 
@@ -2466,10 +2548,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__3__Impl
+    // $ANTLR end "rule__SweepParameter__Group__3__Impl"
 
 
-    // $ANTLR start rule__SweepParameter__Group__4
+    // $ANTLR start "rule__SweepParameter__Group__4"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:937:1: rule__SweepParameter__Group__4 : rule__SweepParameter__Group__4__Impl rule__SweepParameter__Group__5 ;
     public final void rule__SweepParameter__Group__4() throws RecognitionException {
 
@@ -2481,11 +2563,13 @@
             {
             pushFollow(FOLLOW_rule__SweepParameter__Group__4__Impl_in_rule__SweepParameter__Group__41894);
             rule__SweepParameter__Group__4__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__SweepParameter__Group__5_in_rule__SweepParameter__Group__41897);
             rule__SweepParameter__Group__5();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2502,10 +2586,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__4
+    // $ANTLR end "rule__SweepParameter__Group__4"
 
 
-    // $ANTLR start rule__SweepParameter__Group__4__Impl
+    // $ANTLR start "rule__SweepParameter__Group__4__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:949:1: rule__SweepParameter__Group__4__Impl : ( ( rule__SweepParameter__EndValueAssignment_4 ) ) ;
     public final void rule__SweepParameter__Group__4__Impl() throws RecognitionException {
 
@@ -2524,7 +2608,8 @@
             {
             pushFollow(FOLLOW_rule__SweepParameter__EndValueAssignment_4_in_rule__SweepParameter__Group__4__Impl1924);
             rule__SweepParameter__EndValueAssignment_4();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2548,10 +2633,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__4__Impl
+    // $ANTLR end "rule__SweepParameter__Group__4__Impl"
 
 
-    // $ANTLR start rule__SweepParameter__Group__5
+    // $ANTLR start "rule__SweepParameter__Group__5"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:966:1: rule__SweepParameter__Group__5 : rule__SweepParameter__Group__5__Impl rule__SweepParameter__Group__6 ;
     public final void rule__SweepParameter__Group__5() throws RecognitionException {
 
@@ -2563,11 +2648,13 @@
             {
             pushFollow(FOLLOW_rule__SweepParameter__Group__5__Impl_in_rule__SweepParameter__Group__51954);
             rule__SweepParameter__Group__5__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__SweepParameter__Group__6_in_rule__SweepParameter__Group__51957);
             rule__SweepParameter__Group__6();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2584,10 +2671,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__5
+    // $ANTLR end "rule__SweepParameter__Group__5"
 
 
-    // $ANTLR start rule__SweepParameter__Group__5__Impl
+    // $ANTLR start "rule__SweepParameter__Group__5__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:978:1: rule__SweepParameter__Group__5__Impl : ( ',' ) ;
     public final void rule__SweepParameter__Group__5__Impl() throws RecognitionException {
 
@@ -2621,10 +2708,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__5__Impl
+    // $ANTLR end "rule__SweepParameter__Group__5__Impl"
 
 
-    // $ANTLR start rule__SweepParameter__Group__6
+    // $ANTLR start "rule__SweepParameter__Group__6"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:997:1: rule__SweepParameter__Group__6 : rule__SweepParameter__Group__6__Impl rule__SweepParameter__Group__7 ;
     public final void rule__SweepParameter__Group__6() throws RecognitionException {
 
@@ -2636,11 +2723,13 @@
             {
             pushFollow(FOLLOW_rule__SweepParameter__Group__6__Impl_in_rule__SweepParameter__Group__62016);
             rule__SweepParameter__Group__6__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__SweepParameter__Group__7_in_rule__SweepParameter__Group__62019);
             rule__SweepParameter__Group__7();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2657,10 +2746,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__6
+    // $ANTLR end "rule__SweepParameter__Group__6"
 
 
-    // $ANTLR start rule__SweepParameter__Group__6__Impl
+    // $ANTLR start "rule__SweepParameter__Group__6__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1009:1: rule__SweepParameter__Group__6__Impl : ( ( rule__SweepParameter__IncrementAssignment_6 ) ) ;
     public final void rule__SweepParameter__Group__6__Impl() throws RecognitionException {
 
@@ -2679,7 +2768,8 @@
             {
             pushFollow(FOLLOW_rule__SweepParameter__IncrementAssignment_6_in_rule__SweepParameter__Group__6__Impl2046);
             rule__SweepParameter__IncrementAssignment_6();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2703,10 +2793,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__6__Impl
+    // $ANTLR end "rule__SweepParameter__Group__6__Impl"
 
 
-    // $ANTLR start rule__SweepParameter__Group__7
+    // $ANTLR start "rule__SweepParameter__Group__7"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1026:1: rule__SweepParameter__Group__7 : rule__SweepParameter__Group__7__Impl ;
     public final void rule__SweepParameter__Group__7() throws RecognitionException {
 
@@ -2718,7 +2808,8 @@
             {
             pushFollow(FOLLOW_rule__SweepParameter__Group__7__Impl_in_rule__SweepParameter__Group__72076);
             rule__SweepParameter__Group__7__Impl();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2735,10 +2826,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__7
+    // $ANTLR end "rule__SweepParameter__Group__7"
 
 
-    // $ANTLR start rule__SweepParameter__Group__7__Impl
+    // $ANTLR start "rule__SweepParameter__Group__7__Impl"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1037:1: rule__SweepParameter__Group__7__Impl : ( ']' ) ;
     public final void rule__SweepParameter__Group__7__Impl() throws RecognitionException {
 
@@ -2772,10 +2863,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__Group__7__Impl
+    // $ANTLR end "rule__SweepParameter__Group__7__Impl"
 
 
-    // $ANTLR start rule__SweepLink__Group__0
+    // $ANTLR start "rule__SweepLink__Group__0"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1072:1: rule__SweepLink__Group__0 : rule__SweepLink__Group__0__Impl rule__SweepLink__Group__1 ;
     public final void rule__SweepLink__Group__0() throws RecognitionException {
 
@@ -2787,11 +2878,13 @@
             {
             pushFollow(FOLLOW_rule__SweepLink__Group__0__Impl_in_rule__SweepLink__Group__02151);
             rule__SweepLink__Group__0__Impl();
-            _fsp--;
+
+            state._fsp--;
 
             pushFollow(FOLLOW_rule__SweepLink__Group__1_in_rule__SweepLink__Group__02154);
             rule__SweepLink__Group__1();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2808,25 +2901,29 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepLink__Group__0
+    // $ANTLR end "rule__SweepLink__Group__0"
 
 
-    // $ANTLR start rule__SweepLink__Group__0__Impl
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1084:1: rule__SweepLink__Group__0__Impl : ( '[' ) ;
+    // $ANTLR start "rule__SweepLink__Group__0__Impl"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1084:1: rule__SweepLink__Group__0__Impl : ( () ) ;
     public final void rule__SweepLink__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1088:1: ( ( '[' ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1089:1: ( '[' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1088:1: ( ( () ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1089:1: ( () )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1089:1: ( '[' )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1090:1: '['
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1089:1: ( () )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1090:1: ()
             {
-             before(grammarAccess.getSweepLinkAccess().getLeftSquareBracketKeyword_0()); 
-            match(input,19,FOLLOW_19_in_rule__SweepLink__Group__0__Impl2182); 
-             after(grammarAccess.getSweepLinkAccess().getLeftSquareBracketKeyword_0()); 
+             before(grammarAccess.getSweepLinkAccess().getSweepLinkAction_0()); 
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1091:1: ()
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1093:1: 
+            {
+            }
+
+             after(grammarAccess.getSweepLinkAccess().getSweepLinkAction_0()); 
 
             }
 
@@ -2834,10 +2931,6 @@
             }
 
         }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
         finally {
 
             	restoreStackSize(stackSize);
@@ -2845,10 +2938,10 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepLink__Group__0__Impl
+    // $ANTLR end "rule__SweepLink__Group__0__Impl"
 
 
-    // $ANTLR start rule__SweepLink__Group__1
+    // $ANTLR start "rule__SweepLink__Group__1"
     // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1103:1: rule__SweepLink__Group__1 : rule__SweepLink__Group__1__Impl rule__SweepLink__Group__2 ;
     public final void rule__SweepLink__Group__1() throws RecognitionException {
 
@@ -2858,13 +2951,15 @@
             // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1107:1: ( rule__SweepLink__Group__1__Impl rule__SweepLink__Group__2 )
             // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1108:2: rule__SweepLink__Group__1__Impl rule__SweepLink__Group__2
             {
-            pushFollow(FOLLOW_rule__SweepLink__Group__1__Impl_in_rule__SweepLink__Group__12213);
+            pushFollow(FOLLOW_rule__SweepLink__Group__1__Impl_in_rule__SweepLink__Group__12212);
             rule__SweepLink__Group__1__Impl();
-            _fsp--;
 
-            pushFollow(FOLLOW_rule__SweepLink__Group__2_in_rule__SweepLink__Group__12216);
+            state._fsp--;
+
+            pushFollow(FOLLOW_rule__SweepLink__Group__2_in_rule__SweepLink__Group__12215);
             rule__SweepLink__Group__2();
-            _fsp--;
+
+            state._fsp--;
 
 
             }
@@ -2881,24 +2976,99 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepLink__Group__1
+    // $ANTLR end "rule__SweepLink__Group__1"
 
 
-    // $ANTLR start rule__SweepLink__Group__1__Impl
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1115:1: rule__SweepLink__Group__1__Impl : ( ( rule__SweepLink__ParametersAssignment_1 )* ) ;
+    // $ANTLR start "rule__SweepLink__Group__1__Impl"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1115:1: rule__SweepLink__Group__1__Impl : ( '[' ) ;
     public final void rule__SweepLink__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1119:1: ( ( ( rule__SweepLink__ParametersAssignment_1 )* ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1120:1: ( ( rule__SweepLink__ParametersAssignment_1 )* )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1119:1: ( ( '[' ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1120:1: ( '[' )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1120:1: ( ( rule__SweepLink__ParametersAssignment_1 )* )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1121:1: ( rule__SweepLink__ParametersAssignment_1 )*
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1120:1: ( '[' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1121:1: '['
             {
-             before(grammarAccess.getSweepLinkAccess().getParametersAssignment_1()); 
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1122:1: ( rule__SweepLink__ParametersAssignment_1 )*
+             before(grammarAccess.getSweepLinkAccess().getLeftSquareBracketKeyword_1()); 
+            match(input,19,FOLLOW_19_in_rule__SweepLink__Group__1__Impl2243); 
+             after(grammarAccess.getSweepLinkAccess().getLeftSquareBracketKeyword_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SweepLink__Group__1__Impl"
+
+
+    // $ANTLR start "rule__SweepLink__Group__2"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1134:1: rule__SweepLink__Group__2 : rule__SweepLink__Group__2__Impl rule__SweepLink__Group__3 ;
+    public final void rule__SweepLink__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1138:1: ( rule__SweepLink__Group__2__Impl rule__SweepLink__Group__3 )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1139:2: rule__SweepLink__Group__2__Impl rule__SweepLink__Group__3
+            {
+            pushFollow(FOLLOW_rule__SweepLink__Group__2__Impl_in_rule__SweepLink__Group__22274);
+            rule__SweepLink__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FOLLOW_rule__SweepLink__Group__3_in_rule__SweepLink__Group__22277);
+            rule__SweepLink__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SweepLink__Group__2"
+
+
+    // $ANTLR start "rule__SweepLink__Group__2__Impl"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1146:1: rule__SweepLink__Group__2__Impl : ( ( rule__SweepLink__ParametersAssignment_2 )* ) ;
+    public final void rule__SweepLink__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1150:1: ( ( ( rule__SweepLink__ParametersAssignment_2 )* ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1151:1: ( ( rule__SweepLink__ParametersAssignment_2 )* )
+            {
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1151:1: ( ( rule__SweepLink__ParametersAssignment_2 )* )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1152:1: ( rule__SweepLink__ParametersAssignment_2 )*
+            {
+             before(grammarAccess.getSweepLinkAccess().getParametersAssignment_2()); 
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1153:1: ( rule__SweepLink__ParametersAssignment_2 )*
             loop7:
             do {
                 int alt7=2;
@@ -2911,11 +3081,12 @@
 
                 switch (alt7) {
             	case 1 :
-            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1122:2: rule__SweepLink__ParametersAssignment_1
+            	    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1153:2: rule__SweepLink__ParametersAssignment_2
             	    {
-            	    pushFollow(FOLLOW_rule__SweepLink__ParametersAssignment_1_in_rule__SweepLink__Group__1__Impl2243);
-            	    rule__SweepLink__ParametersAssignment_1();
-            	    _fsp--;
+            	    pushFollow(FOLLOW_rule__SweepLink__ParametersAssignment_2_in_rule__SweepLink__Group__2__Impl2304);
+            	    rule__SweepLink__ParametersAssignment_2();
+
+            	    state._fsp--;
 
 
             	    }
@@ -2926,7 +3097,7 @@
                 }
             } while (true);
 
-             after(grammarAccess.getSweepLinkAccess().getParametersAssignment_1()); 
+             after(grammarAccess.getSweepLinkAccess().getParametersAssignment_2()); 
 
             }
 
@@ -2945,22 +3116,23 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepLink__Group__1__Impl
+    // $ANTLR end "rule__SweepLink__Group__2__Impl"
 
 
-    // $ANTLR start rule__SweepLink__Group__2
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1132:1: rule__SweepLink__Group__2 : rule__SweepLink__Group__2__Impl ;
-    public final void rule__SweepLink__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__SweepLink__Group__3"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1163:1: rule__SweepLink__Group__3 : rule__SweepLink__Group__3__Impl ;
+    public final void rule__SweepLink__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1136:1: ( rule__SweepLink__Group__2__Impl )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1137:2: rule__SweepLink__Group__2__Impl
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1167:1: ( rule__SweepLink__Group__3__Impl )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1168:2: rule__SweepLink__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__SweepLink__Group__2__Impl_in_rule__SweepLink__Group__22274);
-            rule__SweepLink__Group__2__Impl();
-            _fsp--;
+            pushFollow(FOLLOW_rule__SweepLink__Group__3__Impl_in_rule__SweepLink__Group__32335);
+            rule__SweepLink__Group__3__Impl();
+
+            state._fsp--;
 
 
             }
@@ -2977,25 +3149,25 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepLink__Group__2
+    // $ANTLR end "rule__SweepLink__Group__3"
 
 
-    // $ANTLR start rule__SweepLink__Group__2__Impl
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1143:1: rule__SweepLink__Group__2__Impl : ( ']' ) ;
-    public final void rule__SweepLink__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__SweepLink__Group__3__Impl"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1174:1: rule__SweepLink__Group__3__Impl : ( ']' ) ;
+    public final void rule__SweepLink__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1147:1: ( ( ']' ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1148:1: ( ']' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1178:1: ( ( ']' ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1179:1: ( ']' )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1148:1: ( ']' )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1149:1: ']'
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1179:1: ( ']' )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1180:1: ']'
             {
-             before(grammarAccess.getSweepLinkAccess().getRightSquareBracketKeyword_2()); 
-            match(input,21,FOLLOW_21_in_rule__SweepLink__Group__2__Impl2302); 
-             after(grammarAccess.getSweepLinkAccess().getRightSquareBracketKeyword_2()); 
+             before(grammarAccess.getSweepLinkAccess().getRightSquareBracketKeyword_3()); 
+            match(input,21,FOLLOW_21_in_rule__SweepLink__Group__3__Impl2363); 
+             after(grammarAccess.getSweepLinkAccess().getRightSquareBracketKeyword_3()); 
 
             }
 
@@ -3014,24 +3186,24 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepLink__Group__2__Impl
+    // $ANTLR end "rule__SweepLink__Group__3__Impl"
 
 
-    // $ANTLR start rule__Model__NameAssignment_0
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1169:1: rule__Model__NameAssignment_0 : ( RULE_STRING ) ;
+    // $ANTLR start "rule__Model__NameAssignment_0"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1202:1: rule__Model__NameAssignment_0 : ( RULE_STRING ) ;
     public final void rule__Model__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1173:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1174:1: ( RULE_STRING )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1206:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1207:1: ( RULE_STRING )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1174:1: ( RULE_STRING )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1175:1: RULE_STRING
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1207:1: ( RULE_STRING )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1208:1: RULE_STRING
             {
              before(grammarAccess.getModelAccess().getNameSTRINGTerminalRuleCall_0_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Model__NameAssignment_02344); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Model__NameAssignment_02407); 
              after(grammarAccess.getModelAccess().getNameSTRINGTerminalRuleCall_0_0()); 
 
             }
@@ -3051,26 +3223,27 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__NameAssignment_0
+    // $ANTLR end "rule__Model__NameAssignment_0"
 
 
-    // $ANTLR start rule__Model__ModelAssignment_2
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1184:1: rule__Model__ModelAssignment_2 : ( ruleImport ) ;
+    // $ANTLR start "rule__Model__ModelAssignment_2"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1217:1: rule__Model__ModelAssignment_2 : ( ruleImport ) ;
     public final void rule__Model__ModelAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1188:1: ( ( ruleImport ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1189:1: ( ruleImport )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1221:1: ( ( ruleImport ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1222:1: ( ruleImport )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1189:1: ( ruleImport )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1190:1: ruleImport
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1222:1: ( ruleImport )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1223:1: ruleImport
             {
              before(grammarAccess.getModelAccess().getModelImportParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleImport_in_rule__Model__ModelAssignment_22375);
+            pushFollow(FOLLOW_ruleImport_in_rule__Model__ModelAssignment_22438);
             ruleImport();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getModelAccess().getModelImportParserRuleCall_2_0()); 
 
@@ -3091,26 +3264,27 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__ModelAssignment_2
+    // $ANTLR end "rule__Model__ModelAssignment_2"
 
 
-    // $ANTLR start rule__Model__IncorporatesAssignment_3_1
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1199:1: rule__Model__IncorporatesAssignment_3_1 : ( ruleIncorporates ) ;
+    // $ANTLR start "rule__Model__IncorporatesAssignment_3_1"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1232:1: rule__Model__IncorporatesAssignment_3_1 : ( ruleIncorporates ) ;
     public final void rule__Model__IncorporatesAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1203:1: ( ( ruleIncorporates ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1204:1: ( ruleIncorporates )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1236:1: ( ( ruleIncorporates ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1237:1: ( ruleIncorporates )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1204:1: ( ruleIncorporates )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1205:1: ruleIncorporates
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1237:1: ( ruleIncorporates )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1238:1: ruleIncorporates
             {
              before(grammarAccess.getModelAccess().getIncorporatesIncorporatesParserRuleCall_3_1_0()); 
-            pushFollow(FOLLOW_ruleIncorporates_in_rule__Model__IncorporatesAssignment_3_12406);
+            pushFollow(FOLLOW_ruleIncorporates_in_rule__Model__IncorporatesAssignment_3_12469);
             ruleIncorporates();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getModelAccess().getIncorporatesIncorporatesParserRuleCall_3_1_0()); 
 
@@ -3131,26 +3305,27 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__IncorporatesAssignment_3_1
+    // $ANTLR end "rule__Model__IncorporatesAssignment_3_1"
 
 
-    // $ANTLR start rule__Model__ParametersAssignment_4
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1214:1: rule__Model__ParametersAssignment_4 : ( ruleParameter ) ;
+    // $ANTLR start "rule__Model__ParametersAssignment_4"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1247:1: rule__Model__ParametersAssignment_4 : ( ruleParameter ) ;
     public final void rule__Model__ParametersAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1218:1: ( ( ruleParameter ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1219:1: ( ruleParameter )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1251:1: ( ( ruleParameter ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1252:1: ( ruleParameter )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1219:1: ( ruleParameter )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1220:1: ruleParameter
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1252:1: ( ruleParameter )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1253:1: ruleParameter
             {
              before(grammarAccess.getModelAccess().getParametersParameterParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleParameter_in_rule__Model__ParametersAssignment_42437);
+            pushFollow(FOLLOW_ruleParameter_in_rule__Model__ParametersAssignment_42500);
             ruleParameter();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getModelAccess().getParametersParameterParserRuleCall_4_0()); 
 
@@ -3171,24 +3346,24 @@
         }
         return ;
     }
-    // $ANTLR end rule__Model__ParametersAssignment_4
+    // $ANTLR end "rule__Model__ParametersAssignment_4"
 
 
-    // $ANTLR start rule__Import__ImportURIAssignment
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1229:1: rule__Import__ImportURIAssignment : ( RULE_STRING ) ;
+    // $ANTLR start "rule__Import__ImportURIAssignment"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1262:1: rule__Import__ImportURIAssignment : ( RULE_STRING ) ;
     public final void rule__Import__ImportURIAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1233:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1234:1: ( RULE_STRING )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1266:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1267:1: ( RULE_STRING )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1234:1: ( RULE_STRING )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1235:1: RULE_STRING
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1267:1: ( RULE_STRING )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1268:1: RULE_STRING
             {
              before(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment2468); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment2531); 
              after(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_0()); 
 
             }
@@ -3208,24 +3383,24 @@
         }
         return ;
     }
-    // $ANTLR end rule__Import__ImportURIAssignment
+    // $ANTLR end "rule__Import__ImportURIAssignment"
 
 
-    // $ANTLR start rule__Incorporates__ImportURIAssignment
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1244:1: rule__Incorporates__ImportURIAssignment : ( RULE_STRING ) ;
+    // $ANTLR start "rule__Incorporates__ImportURIAssignment"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1277:1: rule__Incorporates__ImportURIAssignment : ( RULE_STRING ) ;
     public final void rule__Incorporates__ImportURIAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1248:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1249:1: ( RULE_STRING )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1281:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1282:1: ( RULE_STRING )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1249:1: ( RULE_STRING )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1250:1: RULE_STRING
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1282:1: ( RULE_STRING )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1283:1: RULE_STRING
             {
              before(grammarAccess.getIncorporatesAccess().getImportURISTRINGTerminalRuleCall_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Incorporates__ImportURIAssignment2499); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Incorporates__ImportURIAssignment2562); 
              after(grammarAccess.getIncorporatesAccess().getImportURISTRINGTerminalRuleCall_0()); 
 
             }
@@ -3245,28 +3420,28 @@
         }
         return ;
     }
-    // $ANTLR end rule__Incorporates__ImportURIAssignment
+    // $ANTLR end "rule__Incorporates__ImportURIAssignment"
 
 
-    // $ANTLR start rule__SingleParameter__AttributeAssignment_0
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1259:1: rule__SingleParameter__AttributeAssignment_0 : ( ( RULE_ID ) ) ;
+    // $ANTLR start "rule__SingleParameter__AttributeAssignment_0"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1292:1: rule__SingleParameter__AttributeAssignment_0 : ( ( RULE_ID ) ) ;
     public final void rule__SingleParameter__AttributeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1263:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1264:1: ( ( RULE_ID ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1296:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1297:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1264:1: ( ( RULE_ID ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1265:1: ( RULE_ID )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1297:1: ( ( RULE_ID ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1298:1: ( RULE_ID )
             {
              before(grammarAccess.getSingleParameterAccess().getAttributeSAttributeCrossReference_0_0()); 
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1266:1: ( RULE_ID )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1267:1: RULE_ID
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1299:1: ( RULE_ID )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1300:1: RULE_ID
             {
              before(grammarAccess.getSingleParameterAccess().getAttributeSAttributeIDTerminalRuleCall_0_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SingleParameter__AttributeAssignment_02534); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SingleParameter__AttributeAssignment_02597); 
              after(grammarAccess.getSingleParameterAccess().getAttributeSAttributeIDTerminalRuleCall_0_0_1()); 
 
             }
@@ -3290,26 +3465,27 @@
         }
         return ;
     }
-    // $ANTLR end rule__SingleParameter__AttributeAssignment_0
+    // $ANTLR end "rule__SingleParameter__AttributeAssignment_0"
 
 
-    // $ANTLR start rule__SingleParameter__ValueAssignment_2
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1278:1: rule__SingleParameter__ValueAssignment_2 : ( ruleValue ) ;
+    // $ANTLR start "rule__SingleParameter__ValueAssignment_2"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1311:1: rule__SingleParameter__ValueAssignment_2 : ( ruleValue ) ;
     public final void rule__SingleParameter__ValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1282:1: ( ( ruleValue ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1283:1: ( ruleValue )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1315:1: ( ( ruleValue ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1316:1: ( ruleValue )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1283:1: ( ruleValue )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1284:1: ruleValue
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1316:1: ( ruleValue )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1317:1: ruleValue
             {
              before(grammarAccess.getSingleParameterAccess().getValueValueParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleValue_in_rule__SingleParameter__ValueAssignment_22569);
+            pushFollow(FOLLOW_ruleValue_in_rule__SingleParameter__ValueAssignment_22632);
             ruleValue();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getSingleParameterAccess().getValueValueParserRuleCall_2_0()); 
 
@@ -3330,28 +3506,28 @@
         }
         return ;
     }
-    // $ANTLR end rule__SingleParameter__ValueAssignment_2
+    // $ANTLR end "rule__SingleParameter__ValueAssignment_2"
 
 
-    // $ANTLR start rule__SweepParameter__AttributeAssignment_0
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1293:1: rule__SweepParameter__AttributeAssignment_0 : ( ( RULE_ID ) ) ;
+    // $ANTLR start "rule__SweepParameter__AttributeAssignment_0"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1326:1: rule__SweepParameter__AttributeAssignment_0 : ( ( RULE_ID ) ) ;
     public final void rule__SweepParameter__AttributeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1297:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1298:1: ( ( RULE_ID ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1330:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1331:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1298:1: ( ( RULE_ID ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1299:1: ( RULE_ID )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1331:1: ( ( RULE_ID ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1332:1: ( RULE_ID )
             {
              before(grammarAccess.getSweepParameterAccess().getAttributeSAttributeCrossReference_0_0()); 
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1300:1: ( RULE_ID )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1301:1: RULE_ID
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1333:1: ( RULE_ID )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1334:1: RULE_ID
             {
              before(grammarAccess.getSweepParameterAccess().getAttributeSAttributeIDTerminalRuleCall_0_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SweepParameter__AttributeAssignment_02604); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SweepParameter__AttributeAssignment_02667); 
              after(grammarAccess.getSweepParameterAccess().getAttributeSAttributeIDTerminalRuleCall_0_0_1()); 
 
             }
@@ -3375,26 +3551,27 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__AttributeAssignment_0
+    // $ANTLR end "rule__SweepParameter__AttributeAssignment_0"
 
 
-    // $ANTLR start rule__SweepParameter__StartValueAssignment_2
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1312:1: rule__SweepParameter__StartValueAssignment_2 : ( ruleValue ) ;
+    // $ANTLR start "rule__SweepParameter__StartValueAssignment_2"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1345:1: rule__SweepParameter__StartValueAssignment_2 : ( ruleValue ) ;
     public final void rule__SweepParameter__StartValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1316:1: ( ( ruleValue ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1317:1: ( ruleValue )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1349:1: ( ( ruleValue ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1350:1: ( ruleValue )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1317:1: ( ruleValue )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1318:1: ruleValue
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1350:1: ( ruleValue )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1351:1: ruleValue
             {
              before(grammarAccess.getSweepParameterAccess().getStartValueValueParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleValue_in_rule__SweepParameter__StartValueAssignment_22639);
+            pushFollow(FOLLOW_ruleValue_in_rule__SweepParameter__StartValueAssignment_22702);
             ruleValue();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getSweepParameterAccess().getStartValueValueParserRuleCall_2_0()); 
 
@@ -3415,26 +3592,27 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__StartValueAssignment_2
+    // $ANTLR end "rule__SweepParameter__StartValueAssignment_2"
 
 
-    // $ANTLR start rule__SweepParameter__EndValueAssignment_4
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1327:1: rule__SweepParameter__EndValueAssignment_4 : ( ruleValue ) ;
+    // $ANTLR start "rule__SweepParameter__EndValueAssignment_4"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1360:1: rule__SweepParameter__EndValueAssignment_4 : ( ruleValue ) ;
     public final void rule__SweepParameter__EndValueAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1331:1: ( ( ruleValue ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1332:1: ( ruleValue )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1364:1: ( ( ruleValue ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1365:1: ( ruleValue )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1332:1: ( ruleValue )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1333:1: ruleValue
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1365:1: ( ruleValue )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1366:1: ruleValue
             {
              before(grammarAccess.getSweepParameterAccess().getEndValueValueParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleValue_in_rule__SweepParameter__EndValueAssignment_42670);
+            pushFollow(FOLLOW_ruleValue_in_rule__SweepParameter__EndValueAssignment_42733);
             ruleValue();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getSweepParameterAccess().getEndValueValueParserRuleCall_4_0()); 
 
@@ -3455,26 +3633,27 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__EndValueAssignment_4
+    // $ANTLR end "rule__SweepParameter__EndValueAssignment_4"
 
 
-    // $ANTLR start rule__SweepParameter__IncrementAssignment_6
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1342:1: rule__SweepParameter__IncrementAssignment_6 : ( ruleValue ) ;
+    // $ANTLR start "rule__SweepParameter__IncrementAssignment_6"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1375:1: rule__SweepParameter__IncrementAssignment_6 : ( ruleValue ) ;
     public final void rule__SweepParameter__IncrementAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1346:1: ( ( ruleValue ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1347:1: ( ruleValue )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1379:1: ( ( ruleValue ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1380:1: ( ruleValue )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1347:1: ( ruleValue )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1348:1: ruleValue
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1380:1: ( ruleValue )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1381:1: ruleValue
             {
              before(grammarAccess.getSweepParameterAccess().getIncrementValueParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleValue_in_rule__SweepParameter__IncrementAssignment_62701);
+            pushFollow(FOLLOW_ruleValue_in_rule__SweepParameter__IncrementAssignment_62764);
             ruleValue();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getSweepParameterAccess().getIncrementValueParserRuleCall_6_0()); 
 
@@ -3495,28 +3674,29 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepParameter__IncrementAssignment_6
+    // $ANTLR end "rule__SweepParameter__IncrementAssignment_6"
 
 
-    // $ANTLR start rule__SweepLink__ParametersAssignment_1
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1357:1: rule__SweepLink__ParametersAssignment_1 : ( ruleParameter ) ;
-    public final void rule__SweepLink__ParametersAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__SweepLink__ParametersAssignment_2"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1390:1: rule__SweepLink__ParametersAssignment_2 : ( ruleParameter ) ;
+    public final void rule__SweepLink__ParametersAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1361:1: ( ( ruleParameter ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1362:1: ( ruleParameter )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1394:1: ( ( ruleParameter ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1395:1: ( ruleParameter )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1362:1: ( ruleParameter )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1363:1: ruleParameter
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1395:1: ( ruleParameter )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1396:1: ruleParameter
             {
-             before(grammarAccess.getSweepLinkAccess().getParametersParameterParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleParameter_in_rule__SweepLink__ParametersAssignment_12732);
+             before(grammarAccess.getSweepLinkAccess().getParametersParameterParserRuleCall_2_0()); 
+            pushFollow(FOLLOW_ruleParameter_in_rule__SweepLink__ParametersAssignment_22795);
             ruleParameter();
-            _fsp--;
 
-             after(grammarAccess.getSweepLinkAccess().getParametersParameterParserRuleCall_1_0()); 
+            state._fsp--;
+
+             after(grammarAccess.getSweepLinkAccess().getParametersParameterParserRuleCall_2_0()); 
 
             }
 
@@ -3535,24 +3715,24 @@
         }
         return ;
     }
-    // $ANTLR end rule__SweepLink__ParametersAssignment_1
+    // $ANTLR end "rule__SweepLink__ParametersAssignment_2"
 
 
-    // $ANTLR start rule__IntValue__ValueAssignment
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1372:1: rule__IntValue__ValueAssignment : ( RULE_INTEGER ) ;
+    // $ANTLR start "rule__IntValue__ValueAssignment"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1405:1: rule__IntValue__ValueAssignment : ( RULE_INTEGER ) ;
     public final void rule__IntValue__ValueAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1376:1: ( ( RULE_INTEGER ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1377:1: ( RULE_INTEGER )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1409:1: ( ( RULE_INTEGER ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1410:1: ( RULE_INTEGER )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1377:1: ( RULE_INTEGER )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1378:1: RULE_INTEGER
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1410:1: ( RULE_INTEGER )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1411:1: RULE_INTEGER
             {
              before(grammarAccess.getIntValueAccess().getValueINTEGERTerminalRuleCall_0()); 
-            match(input,RULE_INTEGER,FOLLOW_RULE_INTEGER_in_rule__IntValue__ValueAssignment2763); 
+            match(input,RULE_INTEGER,FOLLOW_RULE_INTEGER_in_rule__IntValue__ValueAssignment2826); 
              after(grammarAccess.getIntValueAccess().getValueINTEGERTerminalRuleCall_0()); 
 
             }
@@ -3572,24 +3752,24 @@
         }
         return ;
     }
-    // $ANTLR end rule__IntValue__ValueAssignment
+    // $ANTLR end "rule__IntValue__ValueAssignment"
 
 
-    // $ANTLR start rule__RealValue__ValueAssignment
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1387:1: rule__RealValue__ValueAssignment : ( RULE_REAL ) ;
+    // $ANTLR start "rule__RealValue__ValueAssignment"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1420:1: rule__RealValue__ValueAssignment : ( RULE_REAL ) ;
     public final void rule__RealValue__ValueAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1391:1: ( ( RULE_REAL ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1392:1: ( RULE_REAL )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1424:1: ( ( RULE_REAL ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1425:1: ( RULE_REAL )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1392:1: ( RULE_REAL )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1393:1: RULE_REAL
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1425:1: ( RULE_REAL )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1426:1: RULE_REAL
             {
              before(grammarAccess.getRealValueAccess().getValueREALTerminalRuleCall_0()); 
-            match(input,RULE_REAL,FOLLOW_RULE_REAL_in_rule__RealValue__ValueAssignment2794); 
+            match(input,RULE_REAL,FOLLOW_RULE_REAL_in_rule__RealValue__ValueAssignment2857); 
              after(grammarAccess.getRealValueAccess().getValueREALTerminalRuleCall_0()); 
 
             }
@@ -3609,24 +3789,24 @@
         }
         return ;
     }
-    // $ANTLR end rule__RealValue__ValueAssignment
+    // $ANTLR end "rule__RealValue__ValueAssignment"
 
 
-    // $ANTLR start rule__StringValue__ValueAssignment
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1402:1: rule__StringValue__ValueAssignment : ( RULE_STRING ) ;
+    // $ANTLR start "rule__StringValue__ValueAssignment"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1435:1: rule__StringValue__ValueAssignment : ( RULE_STRING ) ;
     public final void rule__StringValue__ValueAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1406:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1407:1: ( RULE_STRING )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1439:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1440:1: ( RULE_STRING )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1407:1: ( RULE_STRING )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1408:1: RULE_STRING
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1440:1: ( RULE_STRING )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1441:1: RULE_STRING
             {
              before(grammarAccess.getStringValueAccess().getValueSTRINGTerminalRuleCall_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringValue__ValueAssignment2825); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringValue__ValueAssignment2888); 
              after(grammarAccess.getStringValueAccess().getValueSTRINGTerminalRuleCall_0()); 
 
             }
@@ -3646,26 +3826,27 @@
         }
         return ;
     }
-    // $ANTLR end rule__StringValue__ValueAssignment
+    // $ANTLR end "rule__StringValue__ValueAssignment"
 
 
-    // $ANTLR start rule__BooleanValue__ValueAssignment
-    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1417:1: rule__BooleanValue__ValueAssignment : ( ruleBOOLEAN ) ;
+    // $ANTLR start "rule__BooleanValue__ValueAssignment"
+    // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1450:1: rule__BooleanValue__ValueAssignment : ( ruleBOOLEAN ) ;
     public final void rule__BooleanValue__ValueAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1421:1: ( ( ruleBOOLEAN ) )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1422:1: ( ruleBOOLEAN )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1454:1: ( ( ruleBOOLEAN ) )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1455:1: ( ruleBOOLEAN )
             {
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1422:1: ( ruleBOOLEAN )
-            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1423:1: ruleBOOLEAN
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1455:1: ( ruleBOOLEAN )
+            // ../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g:1456:1: ruleBOOLEAN
             {
              before(grammarAccess.getBooleanValueAccess().getValueBOOLEANEnumRuleCall_0()); 
-            pushFollow(FOLLOW_ruleBOOLEAN_in_rule__BooleanValue__ValueAssignment2856);
+            pushFollow(FOLLOW_ruleBOOLEAN_in_rule__BooleanValue__ValueAssignment2919);
             ruleBOOLEAN();
-            _fsp--;
+
+            state._fsp--;
 
              after(grammarAccess.getBooleanValueAccess().getValueBOOLEANEnumRuleCall_0()); 
 
@@ -3686,7 +3867,9 @@
         }
         return ;
     }
-    // $ANTLR end rule__BooleanValue__ValueAssignment
+    // $ANTLR end "rule__BooleanValue__ValueAssignment"
+
+    // Delegated rules
 
 
  
@@ -3743,10 +3926,10 @@
     public static final BitSet FOLLOW_rule__Model__Group__1__Impl_in_rule__Model__Group__11091 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_rule__Model__Group__2_in_rule__Model__Group__11094 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_16_in_rule__Model__Group__1__Impl1122 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Model__Group__2__Impl_in_rule__Model__Group__21153 = new BitSet(new long[]{0x00000000000A0022L});
+    public static final BitSet FOLLOW_rule__Model__Group__2__Impl_in_rule__Model__Group__21153 = new BitSet(new long[]{0x00000000000A0020L});
     public static final BitSet FOLLOW_rule__Model__Group__3_in_rule__Model__Group__21156 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rule__Model__ModelAssignment_2_in_rule__Model__Group__2__Impl1183 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Model__Group__3__Impl_in_rule__Model__Group__31213 = new BitSet(new long[]{0x0000000000080022L});
+    public static final BitSet FOLLOW_rule__Model__Group__3__Impl_in_rule__Model__Group__31213 = new BitSet(new long[]{0x00000000000A0020L});
     public static final BitSet FOLLOW_rule__Model__Group__4_in_rule__Model__Group__31216 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rule__Model__Group_3__0_in_rule__Model__Group__3__Impl1243 = new BitSet(new long[]{0x0000000000020002L});
     public static final BitSet FOLLOW_rule__Model__Group__4__Impl_in_rule__Model__Group__41274 = new BitSet(new long[]{0x0000000000000002L});
@@ -3787,30 +3970,32 @@
     public static final BitSet FOLLOW_rule__SweepParameter__IncrementAssignment_6_in_rule__SweepParameter__Group__6__Impl2046 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rule__SweepParameter__Group__7__Impl_in_rule__SweepParameter__Group__72076 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_21_in_rule__SweepParameter__Group__7__Impl2104 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SweepLink__Group__0__Impl_in_rule__SweepLink__Group__02151 = new BitSet(new long[]{0x0000000000280020L});
+    public static final BitSet FOLLOW_rule__SweepLink__Group__0__Impl_in_rule__SweepLink__Group__02151 = new BitSet(new long[]{0x0000000000080020L});
     public static final BitSet FOLLOW_rule__SweepLink__Group__1_in_rule__SweepLink__Group__02154 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_rule__SweepLink__Group__0__Impl2182 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SweepLink__Group__1__Impl_in_rule__SweepLink__Group__12213 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_rule__SweepLink__Group__2_in_rule__SweepLink__Group__12216 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SweepLink__ParametersAssignment_1_in_rule__SweepLink__Group__1__Impl2243 = new BitSet(new long[]{0x0000000000080022L});
-    public static final BitSet FOLLOW_rule__SweepLink__Group__2__Impl_in_rule__SweepLink__Group__22274 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_21_in_rule__SweepLink__Group__2__Impl2302 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__Model__NameAssignment_02344 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImport_in_rule__Model__ModelAssignment_22375 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIncorporates_in_rule__Model__IncorporatesAssignment_3_12406 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleParameter_in_rule__Model__ParametersAssignment_42437 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment2468 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__Incorporates__ImportURIAssignment2499 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SingleParameter__AttributeAssignment_02534 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleValue_in_rule__SingleParameter__ValueAssignment_22569 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SweepParameter__AttributeAssignment_02604 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleValue_in_rule__SweepParameter__StartValueAssignment_22639 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleValue_in_rule__SweepParameter__EndValueAssignment_42670 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleValue_in_rule__SweepParameter__IncrementAssignment_62701 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleParameter_in_rule__SweepLink__ParametersAssignment_12732 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INTEGER_in_rule__IntValue__ValueAssignment2763 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_REAL_in_rule__RealValue__ValueAssignment2794 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringValue__ValueAssignment2825 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBOOLEAN_in_rule__BooleanValue__ValueAssignment2856 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SweepLink__Group__1__Impl_in_rule__SweepLink__Group__12212 = new BitSet(new long[]{0x0000000000280020L});
+    public static final BitSet FOLLOW_rule__SweepLink__Group__2_in_rule__SweepLink__Group__12215 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_19_in_rule__SweepLink__Group__1__Impl2243 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SweepLink__Group__2__Impl_in_rule__SweepLink__Group__22274 = new BitSet(new long[]{0x0000000000280020L});
+    public static final BitSet FOLLOW_rule__SweepLink__Group__3_in_rule__SweepLink__Group__22277 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SweepLink__ParametersAssignment_2_in_rule__SweepLink__Group__2__Impl2304 = new BitSet(new long[]{0x0000000000080022L});
+    public static final BitSet FOLLOW_rule__SweepLink__Group__3__Impl_in_rule__SweepLink__Group__32335 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_21_in_rule__SweepLink__Group__3__Impl2363 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__Model__NameAssignment_02407 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImport_in_rule__Model__ModelAssignment_22438 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleIncorporates_in_rule__Model__IncorporatesAssignment_3_12469 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleParameter_in_rule__Model__ParametersAssignment_42500 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment2531 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__Incorporates__ImportURIAssignment2562 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SingleParameter__AttributeAssignment_02597 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleValue_in_rule__SingleParameter__ValueAssignment_22632 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SweepParameter__AttributeAssignment_02667 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleValue_in_rule__SweepParameter__StartValueAssignment_22702 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleValue_in_rule__SweepParameter__EndValueAssignment_42733 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleValue_in_rule__SweepParameter__IncrementAssignment_62764 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleParameter_in_rule__SweepLink__ParametersAssignment_22795 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INTEGER_in_rule__IntValue__ValueAssignment2826 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_REAL_in_rule__RealValue__ValueAssignment2857 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringValue__ValueAssignment2888 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBOOLEAN_in_rule__BooleanValue__ValueAssignment2919 = new BitSet(new long[]{0x0000000000000002L});
 
 }
\ No newline at end of file
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar__.g b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar__.g
deleted file mode 100644
index 7b229b5..0000000
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar__.g
+++ /dev/null
@@ -1,49 +0,0 @@
-lexer grammar InternalAPar;
-@header {
-package org.eclipse.amp.amf.parameters.ui.contentassist.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
-}
-
-T14 : 'true' ;
-T15 : 'false' ;
-T16 : 'model' ;
-T17 : 'incorporates' ;
-T18 : '=' ;
-T19 : '[' ;
-T20 : ',' ;
-T21 : ']' ;
-
-// $ANTLR src "../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g" 1433
-RULE_INTEGER : '-'? ('0'..'9')+;
-
-// $ANTLR src "../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g" 1435
-RULE_REAL : '-'? ('0'..'9')* '.' ('0'..'9')*;
-
-// $ANTLR src "../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g" 1437
-RULE_DESC_STRING : '\u00AB' ('\\' ('b'|'t'|'n'|'f'|'r'|'\u00AB'|'\u00BB'|'\\')|~(('\\'|'\u00AB'|'\u00BB')))* '\u00BB';
-
-// $ANTLR src "../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g" 1439
-RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
-
-// $ANTLR src "../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g" 1441
-RULE_INT : ('0'..'9')+;
-
-// $ANTLR src "../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g" 1443
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
-
-// $ANTLR src "../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g" 1445
-RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
-
-// $ANTLR src "../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g" 1447
-RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
-
-// $ANTLR src "../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g" 1449
-RULE_WS : (' '|'\t'|'\r'|'\n')+;
-
-// $ANTLR src "../org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/contentassist/antlr/internal/InternalAPar.g" 1451
-RULE_ANY_OTHER : .;
-
-
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/internal/AParActivator.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/internal/AParActivator.java
index f83f803..7a0d4de 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/internal/AParActivator.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src-gen/org/eclipse/amp/amf/parameters/ui/internal/AParActivator.java
@@ -1,24 +1,25 @@
-
 /*
  * generated by Xtext
  */
 package org.eclipse.amp.amf.parameters.ui.internal;
 
+import static com.google.inject.util.Modules.override;
+import static com.google.inject.Guice.createInjector;
+
 import org.apache.log4j.Logger;
 
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.osgi.framework.BundleContext;
 
-import com.google.inject.Guice;
 import com.google.inject.Injector;
 import com.google.inject.Module;
-import com.google.inject.util.Modules;
 
 import java.util.Map;
 import java.util.HashMap;
 
 /**
- * Generated
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass. 
  */
 public class AParActivator extends AbstractUIPlugin {
 
@@ -34,10 +35,7 @@
 		super.start(context);
 		INSTANCE = this;
 		try {
-			
-			injectors.put("org.eclipse.amp.amf.parameters.APar", Guice.createInjector(
-				Modules.override(Modules.override(getRuntimeModule("org.eclipse.amp.amf.parameters.APar")).with(getUiModule("org.eclipse.amp.amf.parameters.APar"))).with(getSharedStateModule())
-			));
+			registerInjectorFor("org.eclipse.amp.amf.parameters.APar");
 			
 		} catch (Exception e) {
 			Logger.getLogger(getClass()).error(e.getMessage(), e);
@@ -45,20 +43,31 @@
 		}
 	}
 	
+	protected void registerInjectorFor(String language) throws Exception {
+		injectors.put(language, createInjector(
+		  override(override(getRuntimeModule(language)).with(getSharedStateModule())).with(getUiModule(language))));
+	}
+	
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		injectors.clear();
+		INSTANCE = null;
+		super.stop(context);
+	}
+	
 	public static AParActivator getInstance() {
 		return INSTANCE;
 	}
 	
 	protected Module getRuntimeModule(String grammar) {
-		
 		if ("org.eclipse.amp.amf.parameters.APar".equals(grammar)) {
 		  return new org.eclipse.amp.amf.parameters.AParRuntimeModule();
 		}
 		
 		throw new IllegalArgumentException(grammar);
 	}
+	
 	protected Module getUiModule(String grammar) {
-		
 		if ("org.eclipse.amp.amf.parameters.APar".equals(grammar)) {
 		  return new org.eclipse.amp.amf.parameters.ui.AParUiModule(this);
 		}
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src/org/eclipse/amp/amf/parameters/ui/outline/AParOutlineNodeAdapterFactory.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src/org/eclipse/amp/amf/parameters/ui/outline/AParOutlineNodeAdapterFactory.java
deleted file mode 100644
index cc3dae3..0000000
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src/org/eclipse/amp/amf/parameters/ui/outline/AParOutlineNodeAdapterFactory.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.eclipse.amp.amf.parameters.ui.outline;
-
-import org.eclipse.xtext.ui.editor.outline.actions.DefaultContentOutlineNodeAdapterFactory;
-
-public class AParOutlineNodeAdapterFactory extends DefaultContentOutlineNodeAdapterFactory {
-
-	private static final Class<?>[] types = { 
-		// provide list of classes to adapt to, e.g.:
-		// Entity.class
-		// Service.class
-	};
-
-	@Override
-	public Class<?>[] getAdapterList() {
-		return types;
-	}
-
-}
-
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src/org/eclipse/amp/amf/parameters/ui/outline/AParOutlineTreeProvider.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src/org/eclipse/amp/amf/parameters/ui/outline/AParOutlineTreeProvider.java
new file mode 100644
index 0000000..a47561e
--- /dev/null
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src/org/eclipse/amp/amf/parameters/ui/outline/AParOutlineTreeProvider.java
@@ -0,0 +1,14 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.amp.amf.parameters.ui.outline;
+
+import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
+
+/**
+ * customization of the default outline structure
+ * 
+ */
+public class AParOutlineTreeProvider extends DefaultOutlineTreeProvider {
+	
+}
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src/org/eclipse/amp/amf/parameters/ui/outline/AParTransformer.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src/org/eclipse/amp/amf/parameters/ui/outline/AParTransformer.java
deleted file mode 100644
index d8d0221..0000000
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters.ui/src/org/eclipse/amp/amf/parameters/ui/outline/AParTransformer.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.eclipse.amp.amf.parameters.ui.outline;
-
-import org.eclipse.xtext.ui.editor.outline.transformer.AbstractDeclarativeSemanticModelTransformer;
-
-/**
- * customization of the default outline structure
- * 
- */
-public class AParTransformer extends AbstractDeclarativeSemanticModelTransformer {
-	
-}
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/.antlr-generator-3.2.0.jar b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/.antlr-generator-3.2.0.jar
new file mode 100644
index 0000000..4243492
--- /dev/null
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/.antlr-generator-3.2.0.jar
Binary files differ
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/.classpath b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/.classpath
index 59cf397..475e827 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/.classpath
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/.classpath
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
+	<classpathentry kind="src" path="xtend-gen"/>
 	<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"/>
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/.project b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/.project
index 423281e..d05bcdd 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/.project
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/.project
@@ -21,11 +21,6 @@
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.xtext.ui.core.xtextBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
 			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
 			<arguments>
 			</arguments>
@@ -34,7 +29,6 @@
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.xtext.ui.core.xtextNature</nature>
 		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
 	</natures>
 </projectDescription>
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/META-INF/MANIFEST.MF b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/META-INF/MANIFEST.MF
index 170e16f..f490426 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/META-INF/MANIFEST.MF
@@ -2,29 +2,30 @@
 Bundle-ManifestVersion: 2

 Bundle-Name: %pluginName

 Bundle-Vendor: %providerName

-Bundle-Version: 0.8.1.qualifier

+Bundle-Version: 0.8.5.qualifier

 Bundle-SymbolicName: org.eclipse.amp.amf.parameters;singleton:=true

-Eclipse-RegisterBuddy: org.eclipse.xtext.log4j

 Bundle-ActivationPolicy: lazy

-Require-Bundle: org.eclipse.xtext,

+Require-Bundle: org.eclipse.xtext;bundle-version="2.0.0";visibility:=reexport,

+ org.apache.log4j;bundle-version="1.2.15";visibility:=reexport,

+ org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional;visibility:=reexport,

  org.eclipse.xtext.generator;resolution:=optional,

- de.itemis.xtext.antlr;resolution:=optional,

  org.eclipse.emf.codegen.ecore;resolution:=optional,

  org.eclipse.emf.mwe.utils;resolution:=optional,

- org.eclipse.emf.mwe.core;resolution:=optional,

- com.ibm.icu;resolution:=optional,

- org.eclipse.xtext.xtend;resolution:=optional,

+ org.eclipse.emf.mwe2.launch;resolution:=optional,

+ org.eclipse.xtext.util,

  org.eclipse.emf.ecore,

  org.eclipse.emf.common,

  org.antlr.runtime,

- org.eclipse.ui,

+ org.eclipse.xtext.common.types,

  org.eclipse.core.runtime,

  org.eclipse.core.resources,

- org.eclipse.amp.amf.acore,

- org.eclipse.amp.amf.abase,

- org.eclipse.xtext.util,

- org.eclipse.emf.mwe2.launch;resolution:=optional,

- org.apache.log4j;bundle-version="1.2.15";resolution:=optional

+ org.eclipse.amp.amf.abase;bundle-version="0.8.5",

+ org.eclipse.amp.amf.acore;bundle-version="0.8.5",

+ org.apache.commons.lang

+Import-Package: org.apache.log4j,

+ org.apache.commons.logging,

+ org.eclipse.xtext.xbase.lib,

+ org.eclipse.xtext.xtend2.lib

 Bundle-RequiredExecutionEnvironment: J2SE-1.5

 Bundle-ClassPath: .

 Export-Package: org.eclipse.amp.amf.parameters,

@@ -39,5 +40,3 @@
  org.eclipse.amp.amf.parameters.services,

  org.eclipse.amp.amf.parameters.validation

 Bundle-Localization: plugin

-Import-Package: org.apache.commons.lang,

- org.apache.log4j

diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/build.properties b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/build.properties
index 3d4d767..fd887bf 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/build.properties
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/build.properties
@@ -6,7 +6,8 @@
 jars.compile.order = .
 output.. = bin/
 source.. = src/,\
-           src-gen/
+           src-gen/,\
+           xtend-gen/
 src.includes = about.html
 
 
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore
index bccc28c..a6c5c5a 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore
@@ -5,12 +5,14 @@
     nsURI="http://www.eclipse.org/amp/amf/parameters/APar" nsPrefix="aPar">
   <eClassifiers xsi:type="ecore:EClass" name="Model">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="model" eType="#//Import"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="model" eType="ecore:EClass platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Import"
         containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="incorporates" upperBound="-1"
-        eType="#//Incorporates" containment="true"/>
+        eType="ecore:EClass platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Incorporates"
+        containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
-        eType="#//Parameter" containment="true"/>
+        eType="ecore:EClass platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Parameter"
+        containment="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Import">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="importURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
@@ -19,22 +21,23 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="importURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Parameter"/>
-  <eClassifiers xsi:type="ecore:EClass" name="SingleParameter" eSuperTypes="#//Parameter">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" eType="ecore:EClass ../../../../../../../org.eclipse.amp.amf.acore/src/model/metaabm.ecore#//SAttribute"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="ecore:EClass ../../../../../../../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//Value"
+  <eClassifiers xsi:type="ecore:EClass" name="SingleParameter" eSuperTypes="platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Parameter">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" eType="ecore:EClass platform:/resource/org.eclipse.amp.amf.acore/src/model/metaabm.ecore#//SAttribute"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="ecore:EClass platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//Value"
         containment="true"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="SweepParameter" eSuperTypes="#//Parameter">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" eType="ecore:EClass ../../../../../../../org.eclipse.amp.amf.acore/src/model/metaabm.ecore#//SAttribute"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="startValue" eType="ecore:EClass ../../../../../../../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//Value"
+  <eClassifiers xsi:type="ecore:EClass" name="SweepParameter" eSuperTypes="platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Parameter">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" eType="ecore:EClass platform:/resource/org.eclipse.amp.amf.acore/src/model/metaabm.ecore#//SAttribute"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="startValue" eType="ecore:EClass platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//Value"
         containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="endValue" eType="ecore:EClass ../../../../../../../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//Value"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="endValue" eType="ecore:EClass platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//Value"
         containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="increment" eType="ecore:EClass ../../../../../../../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//Value"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="increment" eType="ecore:EClass platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.ecore#//Value"
         containment="true"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="SweepLink" eSuperTypes="#//Parameter">
+  <eClassifiers xsi:type="ecore:EClass" name="SweepLink" eSuperTypes="platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Parameter">
     <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
-        eType="#//Parameter" containment="true"/>
+        eType="ecore:EClass platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Parameter"
+        containment="true"/>
   </eClassifiers>
 </ecore:EPackage>
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.genmodel b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.genmodel
index 6b02800..34867cd 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.genmodel
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.genmodel
@@ -6,34 +6,34 @@
     modelPluginID="org.eclipse.amp.amf.parameters" forceOverwrite="true" modelName="APar"
     updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
     complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.amp.amf.parameters.edit"
-    editorPluginID="org.eclipse.amp.amf.parameters.editor" usedGenPackages="../../../../../../../org.eclipse.amp.amf.acore/src/model/metaabm.genmodel#//metaabm ../../../../../../../org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.genmodel#//aBase">
+    editorPluginID="org.eclipse.amp.amf.parameters.editor" usedGenPackages="platform:/resource/org.eclipse.amp.amf.acore/src/model/metaabm.genmodel#//metaabm platform:/resource/org.eclipse.amp.amf.abase/src-gen/org/eclipse/amp/amf/abase/ABase.genmodel#//aBase">
   <genPackages prefix="APar" basePackage="org.eclipse.amp.amf.parameters" disposableProviderFactory="true"
-      ecorePackage="APar.ecore#/">
-    <genClasses ecoreClass="APar.ecore#//Model">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute APar.ecore#//Model/name"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference APar.ecore#//Model/model"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference APar.ecore#//Model/incorporates"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference APar.ecore#//Model/parameters"/>
+      ecorePackage="platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#/">
+    <genClasses ecoreClass="platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Model">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Model/name"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Model/model"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Model/incorporates"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Model/parameters"/>
     </genClasses>
-    <genClasses ecoreClass="APar.ecore#//Import">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute APar.ecore#//Import/importURI"/>
+    <genClasses ecoreClass="platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Import">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Import/importURI"/>
     </genClasses>
-    <genClasses ecoreClass="APar.ecore#//Incorporates">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute APar.ecore#//Incorporates/importURI"/>
+    <genClasses ecoreClass="platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Incorporates">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Incorporates/importURI"/>
     </genClasses>
-    <genClasses ecoreClass="APar.ecore#//Parameter"/>
-    <genClasses ecoreClass="APar.ecore#//SingleParameter">
-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference APar.ecore#//SingleParameter/attribute"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference APar.ecore#//SingleParameter/value"/>
+    <genClasses ecoreClass="platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//Parameter"/>
+    <genClasses ecoreClass="platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//SingleParameter">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//SingleParameter/attribute"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//SingleParameter/value"/>
     </genClasses>
-    <genClasses ecoreClass="APar.ecore#//SweepParameter">
-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference APar.ecore#//SweepParameter/attribute"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference APar.ecore#//SweepParameter/startValue"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference APar.ecore#//SweepParameter/endValue"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference APar.ecore#//SweepParameter/increment"/>
+    <genClasses ecoreClass="platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//SweepParameter">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//SweepParameter/attribute"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//SweepParameter/startValue"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//SweepParameter/endValue"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//SweepParameter/increment"/>
     </genClasses>
-    <genClasses ecoreClass="APar.ecore#//SweepLink">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference APar.ecore#//SweepLink/parameters"/>
+    <genClasses ecoreClass="platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//SweepLink">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.ecore#//SweepLink/parameters"/>
     </genClasses>
   </genPackages>
 </genmodel:GenModel>
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.xmi b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.xmi
index 34e846e..00f5ed0 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.xmi
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/APar.xmi
@@ -114,6 +114,11 @@
         <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/amp/amf/parameters/APar#//SweepLink"/>
       </type>
       <alternatives xsi:type="xtext:Group">
+        <elements xsi:type="xtext:Action">
+          <type metamodel="/0/@metamodelDeclarations.0">
+            <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/amp/amf/parameters/APar#//SweepLink"/>
+          </type>
+        </elements>
         <elements xsi:type="xtext:Keyword" value="["/>
         <elements xsi:type="xtext:Assignment" cardinality="*" feature="parameters" operator="+=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
@@ -311,6 +316,7 @@
                 <elements xsi:type="xtext:Keyword" value="n"/>
                 <elements xsi:type="xtext:Keyword" value="f"/>
                 <elements xsi:type="xtext:Keyword" value="r"/>
+                <elements xsi:type="xtext:Keyword" value="u"/>
                 <elements xsi:type="xtext:Keyword" value="&quot;"/>
                 <elements xsi:type="xtext:Keyword" value="'"/>
                 <elements xsi:type="xtext:Keyword" value="\"/>
@@ -336,6 +342,7 @@
                 <elements xsi:type="xtext:Keyword" value="n"/>
                 <elements xsi:type="xtext:Keyword" value="f"/>
                 <elements xsi:type="xtext:Keyword" value="r"/>
+                <elements xsi:type="xtext:Keyword" value="u"/>
                 <elements xsi:type="xtext:Keyword" value="&quot;"/>
                 <elements xsi:type="xtext:Keyword" value="'"/>
                 <elements xsi:type="xtext:Keyword" value="\"/>
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/AbstractAParRuntimeModule.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/AbstractAParRuntimeModule.java
index 0274328..f6261a9 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/AbstractAParRuntimeModule.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/AbstractAParRuntimeModule.java
@@ -45,7 +45,7 @@
 	}
 
 	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrParser> bindIAntlrParser() {
+	public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
 		return org.eclipse.amp.amf.parameters.parser.antlr.AParParser.class;
 	}
 
@@ -91,12 +91,12 @@
 
 	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
 	public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named("org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.delegate")).to(org.eclipse.xtext.scoping.impl.SimpleLocalScopeProvider.class);
+		binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.SimpleLocalScopeProvider.class);
 	}
 
 	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
-	public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
-		return org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider.class;
+	public void configureIgnoreCaseLinking(com.google.inject.Binder binder) {
+		binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
 	}
 
 	// contributed by org.eclipse.xtext.generator.exporting.SimpleNamesFragment
@@ -104,11 +104,6 @@
 		return org.eclipse.xtext.naming.SimpleNameProvider.class;
 	}
 
-	// contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
-	public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
-		return org.eclipse.amp.amf.parameters.formatting.AParFormatter.class;
-	}
-
 	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
 	public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() {
 		return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class;
@@ -126,7 +121,42 @@
 
 	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
 	public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractGlobalScopeProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+	public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
+		return org.eclipse.amp.amf.parameters.generator.AParGenerator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
+	public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+		return org.eclipse.amp.amf.parameters.formatting.AParFormatter.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public java.lang.ClassLoader bindClassLoaderToInstance() {
+		return getClass().getClassLoader();
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public org.eclipse.xtext.common.types.TypesFactory bindTypesFactoryToInstance() {
+		return org.eclipse.xtext.common.types.TypesFactory.eINSTANCE;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
+		return org.eclipse.xtext.common.types.access.ClasspathTypeProviderFactory.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
+		return org.eclipse.xtext.common.types.xtext.ClasspathBasedTypeScopeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
+		return org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider.class;
 	}
 
 }
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/aPar/AParFactory.java b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/aPar/AParFactory.java
index bde6fc0..a1e17ae 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/aPar/AParFactory.java
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.parameters/src-gen/org/eclipse/amp/amf/parameters/aPar/AParFactory.java
@@ -18,83 +18,83 @@
 public interface AParFactory extends EFactory
 {
   /**
-	 * The singleton instance of the factory.
-	 * <!-- begin-user-doc -->
+   * The singleton instance of the factory.
+   * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-	 * @generated
-	 */
+   * @generated
+   */
   AParFactory eINSTANCE = org.eclipse.amp.amf.parameters.aPar.impl.AParFactoryImpl.init();
 
   /**
-	 * Returns a new object of class '<em>Model</em>'.
-	 * <!-- begin-user-doc -->
+   * Returns a new object of class '<em>Model</em>'.
+   * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Model</em>'.
-	 * @generated
-	 */
+   * @return a new object of class '<em>Model</em>'.
+   * @generated
+   */
   Model createModel();
 
   /**
-	 * Returns a new object of class '<em>Import</em>'.
-	 * <!-- begin-user-doc -->
+   * Returns a new object of class '<em>Import</em>'.
+   * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Import</em>'.
-	 * @generated
-	 */
+   * @return a new object of class '<em>Import</em>'.
+   * @generated
+   */
   Import createImport();
 
   /**
-	 * Returns a new object of class '<em>Incorporates</em>'.
-	 * <!-- begin-user-doc -->
+   * Returns a new object of class '<em>Incorporates</em>'.
+   * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Incorporates</em>'.
-	 * @generated
-	 */
+   * @return a new object of class '<em>Incorporates</em>'.
+   * @generated
+   */
   Incorporates createIncorporates();
 
   /**
-	 * Returns a new object of class '<em>Parameter</em>'.
-	 * <!-- begin-user-doc -->
+   * Returns a new object of class '<em>Parameter</em>'.
+   * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Parameter</em>'.
-	 * @generated
-	 */
+   * @return a new object of class '<em>Parameter</em>'.
+   * @generated
+   */
   Parameter createParameter();
 
   /**
-	 * Returns a new object of class '<em>Single Parameter</em>'.
-	 * <!-- begin-user-doc -->
+   * Returns a new object of class '<em>Single Parameter</em>'.
+   * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Single Parameter</em>'.
-	 * @generated
-	 */
+   * @return a new object of class '<em>Single Parameter</em>'.
+   * @generated
+   */
   SingleParameter createSingleParameter();
 
   /**
-	 * Returns a new object of class '<em>Sweep Parameter</em>'.
-	 * <!-- begin-user-doc -->
+   * Returns a new object of class '<em>Sweep Parameter</em>'.
+   * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Sweep Parameter</em>'.
-	 * @generated
-	 */
+   * @return a new object of class '<em>Sweep Parameter</em>'.
+   * @generated
+   */
   SweepParameter createSweepParameter();
 
   /**
-	 * Returns a new object of class '<em>Sweep Link</em>'.
-	 * <!-- begin-user-doc -->
+   * Returns a new object of class '<em>Sweep Link</em>'.
+   * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Sweep Link</em>'.
-	 * @generated
-	 */
+   * @return a new object of class '<em>Sweep Link</em>'.
+   * @generated
+   */
   SweepLink createSweepLink();
 
   /**
-	 * Returns the package supported by this factory.
-	 * <!-- begin-user-doc -->
+   * Returns the package supported by this factory.
+   * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-	 * @return the package supported by this factory.
-	 * @generated
-	 */
+   * @return the package supported by this factory.
+   * @generated
+   */
   AParPackage getAParPackage();
 
 } //AParFactory